Lógica de Predicados Slides da disciplina Lógica para Computação ministrada pelo Prof. Celso Antônio Alves Kaestner, Dr. Eng. ([email protected]) entre 2007 e 2008. Alterações feitas em 2009 pelo Prof. Adolfo Neto ([email protected]) Versão original disponível em http://www.dainf.ct.utfpr.edu.br/~kaestner/Logica/LogicaPredicativa.ppt Lógica de Predicados • • • • A Lógica de Predicados (ou lógica de 1ª ordem) é uma extensão da lógica proposicional que aumenta sua expressividade, permitindo que se façam afirmações sobre propriedades – ou predicados – inerentes a conjuntos de elementos individuais; Tipicamente as fórmulas envolvem os quantificadores “para todo” (∀) e “existe” (∃ ); Uma fórmula típica é: ∀x(homem(x)→mortal(x)). Obs.: para representar o mesmo em Lógica Proposicional seria necessário utilizar uma fórmula para cada indivíduo, por exemplo: (homem_joão → mortal_joão), (homem_josé → mortal_josé), etc. 16/09/09 Prof. Celso A A Kaestner 2 Mais exemplos de Fórmulas com Predicados ● Predicados unários: – ● ● brasileiro(João) Predicados binários: – maior(3,4) – matou(João,Maria) Predicados ternários: – deu(Maria,livro,João) Gottlob Frege Lógica Predicativa • A linguagem (sintaxe) da Lógica Predicativa LPRED é mais complexa que a da Lógica Proposicional; • Para a definição de LPRED necessita-se de: – – – – 16/09/09 Conjuntos de predicados: Ri = { ri1, ri2,... rin,...} onde o sobrescrito i indica a aridade do predicado (o seu nº de argumentos); Um conjunto de constantes: C = {c1,c2, ...}; Conjuntos de funções: Fi = { fi1, fi2,... fin,...} onde o sobrescrito i também indica a aridade da função; Um conjunto de variáveis: V = {x1,x2, ...}. Prof. Celso A A Kaestner 5 Exemplos ● ● Predicados: – R1={homem1,mortal1,brasileiro1,...} – R2={maior2,matou2, ...} – R3={deu3,...} – ... Constantes: – C={maria,joão,livro,3,4,...} Funções ● +(3,4) ● pai_de(João) ● divisao(5.5,3.2) ● salario(João) Lógica de Predicados ● ● Para definir o que são fórmulas bemformadas na Lógica de Predicados precisaremos definir dois conceitos: – Assinatura e – Termos O conjunto de fórmulas bem-formadas será relativo a uma assinatura. Lógica Predicativa • Uma assinatura de LPRED é a uma tupla do tipo Σ = [R1,R2, ..., RM,C,V,F1,F2,...,FN] onde M e N são números naturais conhecidos. • O conjunto dos termos de LPRED é T(Σ) definido recursivamente por: – Se x∈V então x ∈ T(Σ); – Se c∈C então c ∈ T(Σ); – Se f∈Fj e se t1,...tj ∈ T(Σ) então f(t1,...tj )∈ T(Σ). 16/09/09 Prof. Celso A A Kaestner 9 Lógica Predicativa • O conjunto das fórmulas bem formadas (fbf) de LPRED é Fbf(Σ) definido recursivamente como sendo o menor conjunto que atenda ao seguinte: – Se t1,...tj ∈ T(Σ) e se rj ∈ Rj então rj(t1,...tj) ∈ Fbf(Σ); – – – 16/09/09 Se t1, t2 ∈ T(Σ) então t1= t2 ∈ Fbf(Σ); Estas fbf são chamadas de fórmulas atômicas; Se ϕ, ψ ∈ Fbf(Σ) então ¬ϕ, ϕ∧ψ, ϕ∨ψ, ϕ→ψ ∈Fbf(Σ); Se ϕ ∈ Fbf(Σ) e se x∈V então ∀x(ϕ) e ∃ x(ϕ) ∈ Fbf(Σ). Prof. Celso A A Kaestner 10 Exemplos ● ● Assinaturas – Termos – Fórmulas bem-formadas Σ=[R1={filho_unico},R2={pai},C={joao,jose,1,...,120},V= {x,y},F1={idade},F2={soma}] Representação de Conhecimento ● ● Representar frases em língua natural como fórmulas em lógica de predicados Há um conjunto de regras que podem ser utilizadas na tradução Exercícios Resolvidos ● Escreva fórmulas para representar as frases abaixo: – – A média de a e b é igual a c ● Igual(media(a,b),c) - para lógicas sem igualdade ● media(a,b)=c Todo professor é funcionário ● – Alguns alunos são funcionários ● – ∃x.(Aluno(x)∧Funcionario(x)) Se alguém matou Maria, este alguém também matou João ● – ∀x.(Professor(x)→Funcionario(x)) ∀x.(Matou(x,Maria)→Matou(x,João)) Todo número primo maior do que 2 é ímpar ● ∀x.( (Primo(x)∧Maior_que(x,2)) → Impar(x) ) Exercícios Resolvidos ● Escreva fórmulas para representar as frases abaixo: – A média de quaisquer dois números é maior ou igual do que um dos dois ● – ∨ Não é verdade que a soma de dois números pares seja um número ímpar ● – ∀x∀y. ( Maior_igual(media(x,y),x) Maior_igual(media(x,y),y) ) !(∀x∀y.[ (Par(x)∧Par(y))Impar(soma(x,y)) ]) Se um número é par, ele não é ímpar ● ∀x.( Par(x) (!(Impar(x)) ) ) Exercícios ● Escreva fórmulas para representar as frases abaixo: – O resultado da multiplicação de a por b é c – Alguns políticos são ladrões – Todo múltiplo de 4 é múltiplo de 2 – A média de quaisquer três números é maior ou igual do que um dos três – Se um número é divisível por outro, não igual a zero, então dizemos que ele é múltiplo desse outro – Se uma pessoa é pai de outra que tem um filho, então aquela pessoa é avô deste último LP Monádicos vs. LP Poliádicos ● ● Lógica de Predicados Monádicos: apenas predicados unários. – Limitada – A satisfazibilidade é decidível Lógica de Predicados Poliádicos – Sem limite na aridade dos predicados – A satisfazibilidade é indecidível Fim da Primeira Parte ● Ver exercícios resolvidos de representação de conhecimento Lógica Predicativa O conjunto das variáveis livres VLIVRES (ϕ) em uma fórmula ϕ é definido por: • • – Se ϕ = rj(t1,...tj) com rj ∈ Rj e os ti ∈ T(Σ) então todas as variáveis em ϕ pertencem a VLIVRES (ϕ); – Se ϕ = (t1=t2) com os ti ∈ T(Σ) então todas as variáveis em ϕ pertencem a VLIVRES (ϕ); – – Se ϕ=¬ψ então VLIVRES (ϕ)= VLIVRES (ψ); – Se ϕ= ∀x(ψ) ou ∃ x(ψ) então VLIVRES (ϕ)= VLIVRES (ψ) – {x}. Se ϕ= ξ∧ψ, ξ∨ψ, ou ξ→ψ então VLIVRES (ϕ)= VLIVRES (ξ) ∪ VLIVRES (ψ); Exemplo: Se ϕ = ∀x (r(x) ∧q(y) → ∃ z (s(z,y))) então VLIVRES (ϕ) = { y }. 16/09/09 Prof. Celso A A Kaestner 18 Exemplos Lógica Predicativa • • • Uma fórmula ϕ tal que VLIVRES (ϕ) = φ (sem variáveis livres) é denominada uma sentença. Uma subfórmula de uma fórmula ϕ é uma subseqüência dos símbolos de ϕ que também pertence a Fbf(Σ). Exemplo: se ϕ = ∀x (r(x) ∧q(y) → ∃ z (s(z,y))) então r(x) ∧q(y) → ∃ z (s(z,y)) , r(x) ∧q(y), ∃ z (s(z,y)) , r(x) e q(y) são subfórmulas de ϕ. 16/09/09 Prof. Celso A A Kaestner 20 Lógica Predicativa • Exemplos: 16/09/09 Prof. Celso A A Kaestner 21 Lógica Predicativa • • • A semântica da Lógica Predicativa é definida sobre um par A(Σ)=[A, vA(Σ)] denominado sistema algébrico da assinatura Σ, tal que: A é um conjunto denominado domínio (ou portador) do sistema algébrico; vA(Σ) é uma interpretação, que mapeia os elementos dos conjuntos em Σ em relações sobre A (para os predicados), em funções sobre A (para as funções) e em elementos de A (para as constantes). 16/09/09 Prof. Celso A A Kaestner 22 Lógica Predicativa • Desta forma para uma interpretação vA(Σ) tem-se: • Se rj ∈ Rj então vA(Σ) (rj) ⊆ Aj = A × A × ... A (j vezes); Se f∈Fj então existe uma função vA(Σ) (fj): Aj →A; Se c ∈ C então vA(Σ) (c) ∈ A; Para um conjunto de variáveis X ⊆ V existe ainda uma função γ : X → A denominada interpretação das variáveis X em A . • • • 16/09/09 Prof. Celso A A Kaestner 23 Lógica Predicativa • O valor de um termo t ∈ T (Σ) em um sistema algébrico A(Σ) e para uma interpretação de variáveis γ é definido indutivamente por: • • • Se t = x ∈ X então tA(Σ) [γ ] = γ (x); Se t = c ∈ C então tA(Σ) [γ ] = vA(Σ) (c); Se f∈Fj , t1,..., tj são termos e t=f(t1,..., tj) então tA(Σ) [γ ]= vA(Σ) (fj)(t1A(Σ)[γ ],..., tjA(Σ)[γ ]). 16/09/09 Prof. Celso A A Kaestner 24 Lógica Predicativa • • Finalmente é possível se definir quando uma fórmula ϕ é verdadeira para um sistema algébrico A(Σ) e uma interpretação de variáveis γ ; Denota-se por A(Σ) |= ϕ[γ ]; • Se ϕ = rj(t1,...tj) ∈ Fbf(Σ) então A(Σ) |= ϕ[γ ] é equivalente a [t1A(Σ) [γ ],..., tjA(Σ)[γ ]] ∈ vA(Σ) (rj); • Se ϕ = (t1=t2) com t1, t2 ∈ T(Σ) então A(Σ) |= ϕ[γ ] é equivalente a t1A(Σ)[γ ] = t2A(Σ)[γ ]; • Se ϕ= ¬ψ e ψ∈Fbf(Σ) então A(Σ) |= ϕ[γ ] se e somente se não for verdade que A(Σ) |= ψ [γ ]; 16/09/09 Prof. Celso A A Kaestner 25 Lógica Predicativa • • • • • Se ϕ = ξ∧ψ, com ξ, ψ ∈ Fbf(Σ) então A(Σ) |= ϕ[γ ] se e somente se A(Σ) |= ξ[γ ] e A(Σ) |= ψ[γ ]; Se ϕ = ξ∨ψ, com ξ, ψ ∈ Fbf(Σ) então A(Σ) |= ϕ[γ ] se e somente se A(Σ) |= ξ[γ ] ou A(Σ) |= ψ[γ ]; Se ϕ = ξ→ψ, com ξ, ψ ∈ Fbf(Σ) então A(Σ) |= ϕ[γ ] se e somente se quando A(Σ) |= ψ[γ ] necessariamente também ocorre A(Σ) |= ξ[γ ]; Se ϕ = ∃ x(ψ) com ψ ∈ Fbf(Σ) então A(Σ) |= ϕ[γ ] se e somente se existir pelo menos uma interpretação de variáveis γ : X → A que, restrita às variáveis de ϕ, seja tal que A(Σ) |= ϕ[γ ]; Se ϕ = ∀x(ψ) com ψ ∈ Fbf(Σ) então A(Σ) |= ϕ[γ ] se e somente se para todas as interpretações de variáveis γ : X → A , quando restritas às variáveis de ϕ, sejam tais que A(Σ) |= ϕ[γ ]. 16/09/09 Prof. Celso A A Kaestner 26 Lógica Predicativa • Exemplos: 16/09/09 Prof. Celso A A Kaestner 27 Lógica Predicativa • • • • Uma teoria Γ em LPRED é um conjunto de sentenças; Um sistema algébrico A(Σ) é um modelo para uma teoria Γ se A(Σ) |= ϕ para toda ϕ ∈ Γ; Se Γ tiver ao menos um modelo diz-se que Γ é satisfazível; Se Γ não tiver modelos é dita insatisfazível. 16/09/09 Prof. Celso A A Kaestner 28 Lógica Predicativa Substituição de variáveis: Seja ϕ uma fórmula, x ∈ VLIVRES (ϕ) uma variável livre • em ϕ e t ∈ T(Σ) um termo; • Neste caso a variável x pode ser substituída pelo termo t em ϕ, gerando uma nova fórmula ϕ[x:=t]; • Exemplo: se ϕ = ∀x(r(x) →s(x,y)), y∈VLIVRES (ϕ) e t=f(a,z) então ϕ[y:=f(a,z)] = ∀x(r(x) →s(x,f(a,z))). 16/09/09 Prof. Celso A A Kaestner 29 Lógica Predicativa • • • • Intuitivamente uma substituição gera um “caso particular” de uma fórmula; As substituições só podem ser feitas sobre as variáveis livres de ϕ, e de forma a não introduzir restrições na fórmula gerada que já não estivessem presentes na fórmula original; Várias substituições podem ser feitas simultaneamente, desde que não introduzam restrições. Exemplo: Se ϕ = ∀x(r(x) →s(x,y) ∧r(z)) y, z∈VLIVRES (ϕ) e t1=f(a,w), t2=b então ϕ[y:=f(a,w), z:=b]=∀x(r(x)→s(x,f(a,z))∧r(b))) 16/09/09 Prof. Celso A A Kaestner 30 Lógica Predicativa Sistemas Dedutivos em Lógica Predicativa: 1. Método axiomático: ver item 4.5 pg. 128; 2. Dedução natural: ver item 4.4 pg. 122, e também a ferramenta JAPE; 3. Método dos tableaux analíticos: ver item 5.6 pg. 147. 16/09/09 Prof. Celso A A Kaestner 31 Lógica Predicativa Exemplo do método dos tableaux analíticos: 1. 2. 3. 4. 5. 6. 7. 8. ∀x(r(x) → s(x)) |- ∀x r(x) → ∀x s(x) T ∀x(r(x) → s(x)) de 1 F ∀x r(x) → ∀x s(x) de 1 T ∀x r(x) de 3 F ∀x s(x) de 3 F s(a) de 5 T r(a) de 4 T r(a) → s(a) de 2 1. F r(a) X (7,9) 16/09/09 T s(a) X (6,9) de 8 Prof. Celso A A Kaestner 32