A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.

Apresentações semelhantes


Apresentação em tema: "Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br."— Transcrição da apresentação:

1 Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br

2 Lógica para Computação (IF61B) Lógica Predicativa  A Lógica Predicativa (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. 24/4/2015Prof. Celso A A Kaestner 2

3 Lógica para Computação (IF61B) Lógica Predicativa  A linguagem (sintaxe) da Lógica Predicativa L PRED é mais complexa que a da Lógica Proposicional;  Para a definição de L PRED necessita-se de: 1. Um conjunto de predicados: R i = { r i 1, r i 2,... r i n,...} onde o sobrescrito i indica a aridade do predicado (o seu nº de argumentos); 2. Um conjunto de constantes: C = {c 1,c 2,...}; 3. Um conjunto de funções: F i = { f i 1, f i 2,... f i n,...} onde o sobrescrito i também indica a aridade da função; 4. Um conjunto de variáveis: V = {x 1,x 2,...}. 24/4/2015Prof. Celso A A Kaestner 3

4 Lógica para Computação (IF61B) Lógica Predicativa  A assinatura de L PRED é a uma tupla do tipo  = [ R 1, R 2,... R M, C, F 1, F 2,... F N ] onde N e M são números naturais conhecidos.  O conjunto dos termos de L PRED é T (  ) definido recursivamente por: 1. Se x  V então x  T (  ); 2. Se c  C então c  T (  ); 3. Se f  F j e se t 1,...t j  T (  ) então f(t 1,...t j )  T (  ). 24/4/2015Prof. Celso A A Kaestner 4

5 Lógica para Computação (IF61B) Lógica Predicativa  O conjunto das fórmulas (fbf) de L PRED é Fbf (  ) definido recursivamente como sendo o menor conjunto que atenda ao seguinte: 1. Se t 1,...t j  T (  ) e se r j  R j então r j (t 1,...t j )  Fbf (  ); 2. Se t 1, t 2  T (  ) então t 1 = t 2  Fbf (  ); Estas fbf são chamadas de fórmulas atômicas; 3. Se ,   Fbf (  ) então , , ,  →   Fbf (  ); 4. Se   Fbf (  ) e se x  V então  x(  ) e  x(  )  Fbf (  ). 24/4/2015Prof. Celso A A Kaestner 5

6 Lógica para Computação (IF61B) Lógica Predicativa  O conjunto das variáveis livres V LIVRES (  ) em uma fórmula  é definido por: 1. Se  = r j (t 1,...t j ) com r j  R j e os t i  T (  ) então todas as variáveis em  pertencem a V LIVRES (  ); 2. Se  = (t 1 =t 2 ) com os t i  T (  ) então todas as variáveis em  pertencem a V LIVRES (  ); 3. Se  =  então V LIVRES (  )= V LIVRES (  ); 4. Se  = , , ou  →  então V LIVRES (  )= V LIVRES (  )  V LIVRES (  ); 5. Se  =  x(  ) ou  x(  ) então V LIVRES (  )= V LIVRES (  ) – {x}.  Exemplo: Se  =  x (r(x)  q(y) →  z (s(z,y))) então V LIVRES (  ) = { y }. 24/4/2015Prof. Celso A A Kaestner 6

7 Lógica para Computação (IF61B) Lógica Predicativa  Uma fórmula  tal que V LIVRES (  ) =  (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 . 24/4/2015Prof. Celso A A Kaestner 7

8 Lógica para Computação (IF61B) Lógica Predicativa  Exemplos: 24/4/2015Prof. Celso A A Kaestner 8

9 Lógica para Computação (IF61B) Lógica Predicativa  A semântica da Lógica Predicativa é definida sobre um par A (  )=[ A, v A (  ) ] denominado sistema algébrico da assinatura , tal que: 1. A é um conjunto denominado domínio (ou portador) do sistema algébrico; 2. v A (  ) é 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). 24/4/2015Prof. Celso A A Kaestner 9

10 Lógica para Computação (IF61B) Lógica Predicativa  Desta forma para uma interpretação v A (  ) tem-se: 1. Se r j  R j então v A (  ) (r j )  A j = A  A ... A (j vezes); 2. Se f  F j então existe uma função v A (  ) (f j ): A j →A ; 3. Se c  C então v A (  ) (c)  A ; 4. Para um conjunto de variáveis X  V existe ainda uma função  : X → A denominada interpretação das variáveis X em A. 24/4/2015Prof. Celso A A Kaestner 10

11 Lógica para Computação (IF61B) 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: 1. Se t = x  X então t A (  ) [  ] =  (x); 2. Se t = c  C então t A (  ) [  ] = v A (  ) (c); 3. Se f  F j, t 1,..., t j são termos e t=f(t 1,..., t j ) então t A (  ) [  ]= v A (  ) (f j )(t 1 A (  ) [  ],..., t j A (  ) [  ]). 24/4/2015Prof. Celso A A Kaestner 11

12 Lógica para Computação (IF61B) 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 (  ) |=  [  ]; 1. Se  = r j (t 1,...t j )  Fbf (  ) então A (  ) |=  [  ] é equivalente a [t 1 A (  ) [  ],..., t j A (  ) [  ]]  v A (  ) (r j ); 2. Se  = (t 1 =t 2 ) com t 1, t 2  T (  ) então A (  ) |=  [  ] é equivalente a t 1 A (  ) [  ] = t 2 A (  ) [  ]; 3. Se  =  e  Fbf (  ) então A (  ) |=  [  ] se e somente se não for verdade que A (  ) |=  [  ]; 24/4/2015Prof. Celso A A Kaestner 12

13 Lógica para Computação (IF61B) Lógica Predicativa 4. Se  = , com ,   Fbf (  ) então A (  ) |=  [  ] se e somente se A (  ) |=  [  ] e A (  ) |=  [  ]; 5. Se  = , com ,   Fbf (  ) então A (  ) |=  [  ] se e somente se A (  ) |=  [  ] ou A (  ) |=  [  ]; 6. Se  =  → , com ,   Fbf (  ) então A (  ) |=  [  ] se e somente se quando A (  ) |=  [  ] necessariamente também ocorre A (  ) |=  [  ]; 7. 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 (  ) |=  [  ]; 8. 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 (  ) |=  [  ]. 24/4/2015Prof. Celso A A Kaestner 13

14 Lógica para Computação (IF61B) Lógica Predicativa  Exemplos 24/4/2015Prof. Celso A A Kaestner 14

15 Lógica para Computação (IF61B) Lógica Predicativa  Uma teoria  em L PRED é 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. 24/4/2015Prof. Celso A A Kaestner 15

16 Lógica para Computação (IF61B) Lógica Predicativa Substituição de variáveis: Seja  uma fórmula, x  V LIVRES (  ) 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  V LIVRES (  ) e t=f(a,z) então  [y:=f(a,z)] =  x(r(x) → s(x,f(a,z))). 24/4/2015Prof. Celso A A Kaestner 16

17 Lógica para Computação (IF61B) 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  V LIVRES (  ) e t 1 =f(a,w), t 2 =b então  [y:=f(a,w), z:=b]=  x(r(x) → s(x,f(a,z))  r(b))) 24/4/2015Prof. Celso A A Kaestner 17

18 Lógica para Computação (IF61B) 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. 24/4/2015Prof. Celso A A Kaestner 18

19 Lógica para Computação (IF61B) Lógica Predicativa Exemplo do método dos tableaux analíticos: 1.  x(r(x) → s(x)) |-  x r(x) →  x s(x) 2. T  x(r(x) → s(x)) de 1 3. F  x r(x) →  x s(x) de 1 4. T  x r(x) de 3 5. F  x s(x) de 3 6. F s(a)de 5 7. T r(a)de 4 8. T r(a) → s(a)de 2 9. F r(a)T s(a)de 8 X (7,9)X (6,9) 24/4/2015Prof. Celso A A Kaestner 19

20 Lógica para Computação (IF61B) Lógica Predicativa  Método da Dedução Natural... 24/4/2015Prof. Celso A A Kaestner 20


Carregar ppt "Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br."

Apresentações semelhantes


Anúncios Google