1 / 52

Lógica de 1ª Ordem

Lógica de 1ª Ordem. Sintaxe. Def. 1  Um alfabeto de 1ª ordem, , é a união dos conjuntos:  = P  símbolos predicativos F  símbolos funcionais C  símbolos de constantes V  variáveis

gwidon
Download Presentation

Lógica de 1ª Ordem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lógica de 1ª Ordem

  2. Sintaxe • Def. 1 Um alfabeto de 1ª ordem,, é a união dos conjuntos:  = Psímbolos predicativos Fsímbolos funcionais Csímbolos de constantes Vvariáveis {~, &, , , } operadores lógicos {, } quantificadores {(,)} pontuação

  3. Sintaxe • Def. 2Termos são expressões (palavras, cadeias) sobre  que representam elementos do domínio (universo): • se a  C então a é um termo. • se x  V então x é um termo. • se f  F e tem aridade n, e t1, ..., tn são termos, então f(t1, ... ,tn) também é um termo.

  4. Sintaxe • Def. 3 Fórmulas de 1ª ordem são expressões sobre  para se estabelecer propriedades ou relacionamentos entre elementos do domínio. • se t1, ..., tn são termos sobre  e P é um símbolo predicativo n-ário de , então P(t1, ..., tn) é uma fórmula sobre  (chamada fórmula atômica). • se a e b são fórmulas sobre , então (~a), (a & b), (a  b), (a  b) e (a  b) também são fórmulas sobre . • se a é uma fórmula sobre  e x  V, então x(a) e x(a) também são fórmulas sobre .

  5. Sintaxe • Def. 4 Uma linguagem de 1ª ordem sobre um alfabeto , L(), é o conjunto das fórmulas de 1ª ordem sobre .

  6. Sintaxe: Exemplo 1 • Expressar em uma linguagem de 1a ordem a sentença: “Para todo x,  1  sen(x)  1”: 1. Definição de  : P = {  }, F = {  , sen}, C = { 1 } , V = { x }

  7. Sintaxe: Exemplo 1“Para todo x,  1  sen(x)  1”: 2. introdução do quantificador x(1 sen(x)  1) 3. desmembramento da expressão 1  sen(x)  1 x(1 sen(x) & sen(x)  1) 4. substituição das expressões por termos na forma infixada x((1, sen(x)) &  (sen(x), 1)) 5. substituição da expressão 1 pelo termo (1) x(((1), sen(x)) &  (sen(x), 1))

  8. Sintaxe: Exemplo 2 “Não há um conjunto que contenha todos os conjuntos” Definição de  P= {  }, F = , C =  V = { x, y } 2. ~x(todo conjunto é um membro de x) 3. ~x(y(y  x)) 4. ~x(y((y, x))

  9. Sintaxe: Exemplo 3 “Todos os homens são mortais e Sócrates é um homem. Portanto, Sócrates é Mortal” Definição de : P = {Homem, Mortal}, F = , C = {sócrates} V = { x} • x(Homem(x)  Mortal(x)) • Homem(Sócrates) • Mortal(Sócrates)

  10. Sintaxe: Convenções Adotadas

  11. Sintaxe:variáveis livres ou ligadas Def. 5 Em uma fórmula do tipo x(a) (ou da forma x(a) ), a é o escopo do quantificador. • Def. 6 Uma ocorrência de uma variável x em uma fórmula aé ligada em a, se x está no escopo de algum quantificador de a. Caso contrário, a ocorrência é livre em a.

  12. Sintaxe:variáveis livres ou ligadas Def. 7Uma variável x é dita ser livre em uma fórmula ase pelo menos uma das ocorrências de x é livre em a. Def. 8 Uma fórmula aé uma sentença se e somente se nenhuma variável ocorre livre em a.

  13. Sintaxe:variáveis livres ou ligadas • Exemplos de ocorrências livres e ligadas Fórmula a. P(y) x(P(x)) y é livre e x é ligada. P(x) x(P(x)) 1a x é livre, 2a é ligada. x(P(x)  Q(x)) é uma sentença.

  14. Sintaxe:variáveis livres ou ligadas • Exemplos de ocorrências livres e ligadas Fórmula a. x y( z(P(x,y,w,z))w(Q(z,w,x,r))) x, y, w e z: ligadas em a . w, z e r: livres em a . w e z: ligadas e livres em a .

  15. Sintaxe:substituições Def. 9 Se u é um termo, u[x/t] denotará o termo obtido substituindo-se as ocorrências de x em u pelo termo t. Exemplo: u= f(x) e t=5 u[x/t] denota u= f(5)

  16. Sintaxe:substituições • Def. 10  Se a é uma fórmula, a[x/t] denotará a fórmula obtida substituindo-se cada ocorrência de x em a pelo termo t. Exemplo: a= x(P(x)  Q(x)) e t=joão a[x/t] denota: a = (P(joão)  Q(joão))

  17. Sintaxe:substituições Def. 11 Se x1, ..., xn são variáveis distintas e t1, ..., tn são termos, a expressão u[x1/t1, ..., xn/tn] denotará a substituição simultânea de xi por ti, i = 1, ..., n, no termo u. Exemplo: a= xy( P(x)  Q(y) ) e t1=joão; t2 = ana a[x/t1, y/t2] denota: • a’ = (P(joão)  Q(ana))

  18. Sintaxe:substituições Def. 12  Uma variável x é substituível por t em uma fórmula a se, para cada variável y ocorrendo em t, nenhuma sub-fórmula de a do tipo y(b) ou do tipo y(b) contém uma ocorrência livre de x.

  19. Sintaxe:substituições Exemplos: se t = f(x), então, t[x/a] = f(a). se t = g(f(y), y), então, t[y/z] = g(f(z), z). se t = g(x, y), então, t[x/f(a), y/b] = g(f(a), b).

  20. Sintaxe:substituições Exemplos: se a = P(x) & Q(x, f(y)), então, a[x/a, y/b] = P(a) & Q(a, f(b)). se a = yP(x, y) e t = f(y), então a[x/t] não é permitido, pois yP(f(y), y) seria uma sentença.

  21. Sintaxe:substituições Exemplo: a = y(Ama(x,y)) e os termos: t1= pai(z) e t2= pai(y)  x é substituível por t1 e  x não é substituível por t2 (a variável do termo aparece quantificada e x ocorre livre no escopo do quantificador)

  22. Sintaxe:substituições Exemplo: a = y(P(y,w)) ^ Q(x) e o termo: t= f(y)  x é substituível por t e  w não é substituível por t (a variável do termo aparece quantificada e w ocorre livre no escopo do quantificador)

  23. Semântica:Motivação A fórmula que segue, é verdadeira ou falsa? x(L(x) → P(x)) P = ser bom programador L = ser aluno de lógica É necessário saber: • quais são os elementos desse universo • quais as atribuições de valor verdade para cada símbolo predicativo, considerando cada elemento do universo

  24. Semântica: Motivação • Uma interpretação de uma fórmula de 1a Ordem consiste em: • Identificar domínio • Atribuir valores a cada símbolo da fórmula • Formalmente, uma interpretação é definida como segue:

  25. Semântica(Interpretação de Fórmulas) • Def. 13 Uma interpretação Ipara uma fórmula a consiste de um domínio não-vazio D e de uma atribuição de valores, v , para cada símbolo de constante, de funções e de predicados que ocorrem em a. v é definida da seguinte forma:

  26. Semântica(Interpretação de Fórmulas) • v: C D, isto é, para cada constante a é atribuído um elemento aI D. • v: F [Dn D], isto é, para cada símbolo funcional n-ário f é atribuído uma função f I de Dn em D. • v: P [Dn {V, F}], isto é, para cada símbolo predicativo n-ário P é atribuído uma função PI de Dn em {V, F}.

  27. Semântica(Interpretação de Fórmulas: Exemplo) Seja a = x(~P(x)) I = <D, v >, onde: (D é o domínio ou universo) D = {1, 2} (v são as atribuições) v(P) = PI definida como: PI(1) = V e PI(2) = F

  28. Semântica(Interpretação de Fórmulas: Exemplo) Seja a = x(P(f(x))  Q(a)) I = <D, v >, onde: D = {João, José}, v(a) = aI = João v(f) = fI : fI(João) = José fI(José) = João v(P) = PI : PI(João) = F PI(José) = V v(Q) = QI : QI(João) = F QI(José) = V

  29. Semântica(Avaliação de uma Fórmula em uma Interpretação ) • Def. 14 A avaliação v´ (induzida por v) de uma fórmula a em uma interpretação I é definida: • v´(a) = v (a), se a é uma fórmula atômica. • se v´(a) e v´(b) são conhecidos, v´(a & b), v´(ab), v´(ab), v´(ab) e v´(~a) são definidas como na Lógica Proposicional. • v´(x(a)) = V se v´(a) = V para todo x  D. Caso contrario, v´(x(a)) = F. • v´(x(a)) = V se v´ (a) = V para algum x  D. Caso contrário v´(x(a)) = F.

  30. Semântica(Avaliação de uma Fórmula em uma Interpretação ) Exemplo: Seja a = x(P(f(x))  Q(a)) e I a interpretação definida abaixo: I = <D, v >, onde D = {1, 2} e v(a) = aI = 2 v(f) = fI : fI(1) = 2 fI(2) = 1 v(P) = PI : PI(1) = V PI(2) = V v(Q) = QI : QI(1) = V QI(2) = V Qual a avaliação de a para I ?

  31. Semântica(Avaliação de x(P(f(x))  Q(a)) ) para I dada) se x = 1 v´(P(f(x))  Q(a)) = v´(P(f(1))) v´(Q(a)) = v´(P(f (1))) v´(Q (a)) = PI(f I(1))  QI(a I) = PI(2)  QI(2) = V  V = V

  32. Semântica(Avaliação de x(P(f(x))  Q(a)) ) para I dada) se x = 2 v´(P(f(x))  Q(a)) = v´(P(f(2))) v´(Q(a)) = v´(P(f (2))) v´(Q (a)) = PI(fI(2))  QI(aI) = PI(1)  QI(2) = V  V = V Avaliação: v´(x(P(f(x))  Q(a))) = V na interpretação I

  33. Semântica(Exercício) Para a interpretação que segue, qual o valor lógico de a ?a = xy(~P(x,e)  P(e,y)) D = {carlos, josé, maria} Atribuições: PI(carlos,carlos) = PI(josé,josé) = PI(maria,maria) = F PI(carlos,josé) = PI(josé,carlos) = V PI(carlos,maria) = PI(maria,carlos) = F PI(josé,maria) = PI(maria,josé) = V eI =carlos

  34. Semântica • Todos os conceitos tais como validade, satisfatibilidade e consequência lógica definidos para a Lógica Proposicional podem ser definidos da mesma forma para a Lógica de 1ª Ordem.

  35. Semântica • Sumário da classificação das fórmulas a) VÁLIDA (TAUTOLOGIAS (|=  )) b1) SATISFATÍVEL (CONSISTENTE) FÓRMULA b) INVÁLIDA b2) INSATISFATÍVEL( |G ) (INCONSISTENTE, CONTADIÇÃO)

  36. Semântica • Def. 15 Uma fórmula a é dita ser satisfatível se e somente se existe ao menos uma interpretação I na qual v´() = V. É dito então que I satisfaza ou que I é um modelo para a. Def. 16 Uma fórmula a é dita ser válida ( |= a ) se e somente se v´(a) = V para toda interpretação I de a.

  37. Semântica • Def. 17 Uma fórmula a é dita ser consequência lógica de um conjunto  de fórmulas (  |= a ) se e somente se toda interpretação I que satisfaz  também satisfaz a. • Teorema 1:  |= a sse   a é uma tautologia • Teorema 2:  |= a sse  ^ ~a é insatisfatível

  38. Semântica • DECISÃO SOBRE A VALIDADE DE UMA FÓRMULA • Para fórmulas da Lógica de 1a Ordem, existe infinitos domínios e uma infinidade de interpretações possíveis. Por isso, não é possível verificar a validade ou a inconsistência de uma fórmula. Logo, não existe um algoritmo que verifique todas as possíveis interpretações. • Para a Lógica Proposicional, as interpretações são finitas (2n, n = símbolos proposicionais) existe um algoritmo: Tabela Verdade • Problema de Decisão: • Lógica Proposicional : Solúvel (decidível) • Lógica de 1a Ordem : Insolúvel (indecidível)

  39. Semântica • COMO DECIDIR SOBRE A VALIDADE DE UMA FÓRMULA DE 1a ORDEM ?? • Precisamos raciocinar para determinar se uma fórmula é verdadeira em todas as interpretações • Como não é possível verificar todas as interpretações, se pudermos encontrar pelo menos uma interpretação na qual a fórmula seja falsa (um contra exemplo), fica provado que ela não é válida. • Exercícios: ...........

  40. Semântica • Exercício: Determine, para cada uma das fórmulas que segue, se a fórmula é ou não é válida. a) x P(x) x P(x) b) x P(x) P(a) c) x (P(x) ^Q(x))  (x P(x) ^x Q(x)) d) x (P(x) vQ(x))  (x P(x) vx Q(x)) e) xP(x) yP(x)

  41. Equivalências de 1a Ordem • As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica de 1a Ordem.

  42. Equivalências de 1a Ordem x(a) b x(a) ^ b x(a) b x(a) ^ b

  43. Equivalências de 1a Ordem x(~a) x(a) x(~a) x(a)

  44. Equivalências de 1a Ordem x(a ^ b) x(ab) xz(ab) xz(a ^ b)

  45. Forma Normal Prenex • Def. 1 Uma fórmula a é dita estar na forma normal prenex se e somente se a é da forma: Q1x1, ... ,Qnxn(M) onde Qi {, } e M é uma fórmula sem quantificadores. • Toda fórmula de 1a Ordem pode ser transformada na Forma Normal Prenex

  46. Procedimento de Transformação de Fórmulas para a Forma Normal Prenex • Passo 1: usar as “leis” abaixo para eliminar os conectivos ~,  e  ~(~a) |=| a ab|=| (ab) ^ (ba) ab|=| ~ab

  47. Procedimento de Transformação de Fórmulas para a Forma Normal Prenex • Passo 2:usar repetidamente as “leis” abaixo para interiorizar a negação ~(a ^ b) |=| ~a ~b ~(ab) |=| ~a ^ ~b ~x(a)|=| x(~a) ~x(a) |=| x(~a)

  48. Procedimento de Transformação de Fórmulas para a Forma Normal Prenex • Passo 3: usar as “leis” abaixo para mover os quantificadores para a esquerda e obter a forma normal prenex: Qx(ab) |=| Qx(a) b Qx(a ^ b) |=| Qx(a) ^ b x(a) ^ x(b) |=| x(a ^ b) x(a) x (b) |=| x(ab) x(a) x(b) |=| xz(ab) x(a) ^ x (b) |=| xz(a ^ b)

  49. Transformação de Fórmulas para a Forma Normal Prenex • Exemplo: x(P(x)) x(Q(x)) ~x(P(x)) vx(Q(x)) x(~P(x)) v x(Q(x)) x(~P(x) v Q(x))

  50. Transformação de Fórmulas para a Forma Normal Prenex • Exemplo: x(P(x)) v x(~Q(x)) v x(R(x)) x(P(x)) v y(~Q(y)) v z(R(z)) xyz (P(x) v ~Q(y) v R(z))

More Related