Lógica para Programação
Capítulo 1 – Conceitos Básicos
• Proposição frase declarativa, faz uma afirmação sobre qualquer coisa
• Argumento um par constituído por um conjunto de proposições, as premissas, e por uma única proposição, a conclusão
• Argumento válido é impossível as premissas serem todas verdadeiras e a conclusão falsa
Capítulo 1 – Conceitos Básicos
• Linguagem define frase legais (fbfs) • Lógica proposicional
• Lógica de primeira ordem
• Sistema dedutivo baseado em manipulações de símbolos • Nada diz sobre verdade / falsidade de fbfs
• Baseado em regras de inferência • Prova
• Derivabilidade (⊢)
Capítulo 1 – Conceitos Básicos
• Sistema semântico especifica as condições sob as quais as proposições, as
fbfs, são verdadeiras ou são falsas
• Baseado no conceito interpretação, um modo de atribuir significado aos símbolos que compõem a linguagem
Capítulo 1 – Conceitos Básicos
• Sistema semântico especifica as condições sob as quais as proposições, as
fbfs, são verdadeiras ou são falsas
• Baseado no conceito interpretação, uma maneira de atribuir significado aos símbolos que compõem a linguagem
• Uma interpretação permite determinar os valores lógicos das fbfs • Consequência semântica
• Dado um argumento Δ, 𝛼 , se não existir nenhuma interpretação que torna todas as proposições em Δ verdadeiras e 𝛼 falsa, diz-se que Δ implica
logicamente 𝛼, ou que 𝛼 é uma consequência semântica de Δ • Escreve-se Δ ⊨ 𝛼
Capítulo 1 – Conceitos Básicos
Capítulo 1 – Conceitos Básicos
Sistema Dedutivo e Sistema Semântico
Correção
Uma lógica é correta se qualquer argumento demonstrável (com o seu sistema dedutivo) é válido de acordo com a sua semântica
Capítulo 1 – Conceitos Básicos
• Correção
• Uma lógica ser correta significa que a partir de proposições verdadeiras apenas se podem provar proposições verdadeiras
• Partindo de um conjunto de premissas, o sistema dedutivo não gera nenhuma conclusão errada
• Existência ou não de regras de inferência erradas • Caso extremo
• Se não existirem regras de inferência no sistema dedutivo, então não
faremos qualquer erro no nosso raciocínio pois não podemos provar nada • Lógica correta mas sem qualquer interesse
Capítulo 1 – Conceitos Básicos
Sistema Dedutivo e Sistema Semântico
Completude
Uma lógica é completa se qualquer argumento válido de acordo com a sua semântica é demonstrável no seu sistema dedutivo
Capítulo 1 – Conceitos Básicos
• Completude
• Uma lógica ser completa significa que podemos provar todas as proposições verdadeiras, tendo em atenção as premissas
• Caso extremo
• Um sistema dedutivo que permita derivar todas as fórmulas bem formadas • Dado que podemos inferir qualquer coisa, então podemos provar todas as
proposições verdadeiras (e também todas as proposições falsas)
• A lógica é completa, mas não necessariamente correta, e também sem qualquer interesse
Capítulo 1 – Conceitos Básicos
Capítulo 2 – Lógica Proposicional
O Sistema Semântico
Consideramos as fbfs e os símbolos lógicos sob o ponto de vista do seu significado
Baseia-se no conceito de interpretação, definido a partir de uma função de valoração
Capítulo 2 – Lógica Proposicional
O Sistema Semântico
Consideramos as fbfs e os símbolos lógicos sob o ponto de vista do seu significado
Baseia-se no conceito de interpretação, definido a partir de uma função de valoração
Capítulo 2 – Lógica Proposicional
Capítulo 2 – Lógica Proposicional
Capítulo 2 – Lógica Proposicional
Capítulo 2 – Lógica Proposicional
O Sistema Semântico Satisfação
Dada uma fbf 𝛼 e uma interpretação I: • I satisfaz 𝛼 se e só se I(𝛼) = V
• 𝛼 é verdadeira segundo a interpretação I
• em caso contrário a interpretação I não satisfaz 𝛼 • 𝛼 é falsa segundo a interpretação I
Capítulo 2 – Lógica Proposicional
O Sistema Semântico
Em que condições (𝑃 ∧ 𝑄) → 𝑅 é verdadeira?
Capítulo 2 – Lógica Proposicional
O Sistema Semântico
Em que condições (𝑃 ∧ 𝑄) → 𝑅 é verdadeira?
Capítulo 2 – Lógica Proposicional
• Uma fbf diz-se satisfazível se existe uma interpretação que a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é satisfazível
• Uma fbf diz-se falsificável se existe uma interpretação que não a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é falsificável
• Uma fbf diz-se tautológica (ou é uma tautologia) se é verdadeira em todas as interpretações
• 𝑃 ∨ ¬𝑃 é tautológica
• Uma fbf diz-se contraditória (ou não satisfazível) se é falsa em todas as interpretações
Capítulo 2 – Lógica Proposicional
• Uma fbf diz-se satisfazível se existe uma interpretação que a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é satisfazível
• Uma fbf diz-se falsificável se existe uma interpretação que não a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é falsificável
• Uma fbf diz-se tautológica (ou é uma tautologia) se é verdadeira em todas as interpretações
• 𝑃 ∨ ¬𝑃 é tautológica
• Uma fbf diz-se contraditória (ou não satisfazível) se é falsa em todas as interpretações
Capítulo 2 – Lógica Proposicional
• Uma fbf diz-se satisfazível se existe uma interpretação que a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é satisfazível
• Uma fbf diz-se falsificável se existe uma interpretação que não a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é falsificável
• Uma fbf diz-se tautológica (ou é uma tautologia) se é verdadeira em todas as interpretações
• 𝑃 ∨ ¬𝑃 é tautológica
• Uma fbf diz-se contraditória (ou não satisfazível) se é falsa em todas as interpretações
Capítulo 2 – Lógica Proposicional
• Uma fbf diz-se satisfazível se existe uma interpretação que a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é satisfazível
• Uma fbf diz-se falsificável se existe uma interpretação que não a satisfaz
• (𝑃 ∧ 𝑄) → 𝑅 é falsificável
• Uma fbf diz-se tautológica (ou é uma tautologia) se é verdadeira em todas as interpretações
• 𝑃 ∨ ¬𝑃 é tautológica
• Uma fbf diz-se contraditória (ou não satisfazível) se é falsa em todas as interpretações
Capítulo 2 – Lógica Proposicional
Capítulo 2 – Lógica Proposicional
• Um conjunto de fbfs Δ diz-se satisfazível se e só se existe pelo menos uma interpretação que satisfaz todas as fbfs de Δ
• O conjunto 𝑃, 𝑄, 𝑃 → 𝑄 é satisfazível I(P)=V e I(Q)=V satisfaz todas as fbfs do conjunto
• Um conjunto de fbfs Δ diz-se contraditório (ou não satisfazível) se e só se não existe nenhuma interpretação que satisfaz todas as fbfs de Δ
• O conjunto 𝑃, ¬𝑃 é contraditório pois nenhuma interpretação satisfaz todas as fbfs do conjunto
• Dado um conjunto de fbfs Δ, uma interpretação que satisfaz todas as fbfs de Δ diz-se um modelo de Δ
Capítulo 2 – Lógica Proposicional
• Um conjunto de fbfs Δ diz-se satisfazível se e só se existe pelo menos uma interpretação que satisfaz todas as fbfs de Δ
• O conjunto 𝑃, 𝑄, 𝑃 → 𝑄 é satisfazível I(P)=V e I(Q)=V satisfaz todas as fbfs do conjunto
• Um conjunto de fbfs Δ diz-se contraditório (ou não satisfazível) se e só se não existe nenhuma interpretação que satisfaz todas as fbfs de Δ
• O conjunto 𝑃, ¬𝑃 é contraditório pois nenhuma interpretação satisfaz todas as fbfs do conjunto
• Dado um conjunto de fbfs Δ, uma interpretação que satisfaz todas as fbfs de Δ diz-se um modelo de Δ
Capítulo 2 – Lógica Proposicional
• Um conjunto de fbfs Δ diz-se satisfazível se e só se existe pelo menos uma interpretação que satisfaz todas as fbfs de Δ
• O conjunto 𝑃, 𝑄, 𝑃 → 𝑄 é satisfazível I(P)=V e I(Q)=V satisfaz todas as fbfs do conjunto
• Um conjunto de fbfs Δ diz-se contraditório (ou não satisfazível) se e só se não existe nenhuma interpretação que satisfaz todas as fbfs de Δ
• O conjunto 𝑃, ¬𝑃 é contraditório pois nenhuma interpretação satisfaz todas as fbfs do conjunto
• Dado um conjunto de fbfs Δ, uma interpretação que satisfaz todas as fbfs de Δ diz-se um modelo de Δ
Capítulo 2 – Lógica Proposicional
• Com a semântica podemos determinar a validade ou a invalidade de um argumento. Por definição o argumento Δ, 𝛼 é válido se não existir
nenhuma interpretação que torne todas as proposições em Δ verdadeiras e a conclusão falsa
• Todos os modelos das premissas são modelos da conclusão • Escrevemos Δ ⊨ 𝛼
Capítulo 2 – Lógica Proposicional
• Dado o argumento 𝑃 ∧ 𝑄, 𝑅 , 𝑃 ∧ 𝑅 a tabela de verdade mostra a sua validade
• Não existe nenhuma linha em que todas as premissas tenham o valor V e a conclusão tenha o valor F
Capítulo 2 – Lógica Proposicional
Teorema da refutação
Dado um conjunto de fbfs Δ e uma fbf 𝛼, Δ ⊨ 𝛼 se e só se Δ ∪ ¬𝛼 não é satisfazível
Capítulo 2 – Lógica Proposicional
Correção
A Lógica Proposicional é correta: para quaisquer fbfs 𝛼!, ..., 𝛼", 𝛽, se 𝛼!, ..., 𝛼" ⊢ 𝛽 então 𝛼!, ..., 𝛼" ⊨ 𝛽
Completude
A Lógica Proposicional é completa: para quaisquer fbfs 𝛼!, ..., 𝛼", 𝛽, se {𝛼!, ..., 𝛼"} ⊨ 𝛽 então 𝛼!, ..., 𝛼" ⊢ 𝛽
Capítulo 2 – Lógica Proposicional
O que se segue?
Métodos computacionais para a semântica da Lógica Proposicional No sistema semântico, pode parecer que a utilização de tabelas de verdade corresponde a um algoritmo que permite sempre decidir em que condições uma fbf é satisfeita
Uma fbf contendo n símbolos de proposição tem uma tabela de verdade com
2" linhas
Algoritmos para determinar se uma fbf é satisfazível são importantes no
projeto de circuitos eletrónicos. Um pequeno “chip” pode facilmente ter mais de 100 símbolos de proposição, o que exigiria uma tabela de verdade com mais de 2!## linhas (número que é superior à idade, em anos, do universo).