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

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

Lógica para Computação

Apresentações semelhantes


Apresentação em tema: "Lógica para Computação"— Transcrição da apresentação:

1 Lógica para Computação
Prof. Celso Antônio Alves Kaestner, Dr. Eng.

2 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. 26/03/2017 Prof. Celso A A Kaestner

3 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: Um conjunto 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, ...}; Um conjunto 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, ...}. 26/03/2017 Prof. Celso A A Kaestner

4 Lógica Predicativa A assinatura de LPRED é a uma tupla do tipo
 = [R1,R2, ...RM,C,F1,F2,...FN] onde N e M 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(). 26/03/2017 Prof. Celso A A Kaestner

5 Lógica Predicativa O conjunto das fórmulas (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(); 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(). 26/03/2017 Prof. Celso A A Kaestner

6 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 = , , ou → então VLIVRES ()= VLIVRES ()  VLIVRES (); Se = x() ou x() então VLIVRES ()= VLIVRES () – {x}. Exemplo: Se  = x (r(x)  q(y) → z (s(z,y))) então VLIVRES () = { y }. 26/03/2017 Prof. Celso A A Kaestner

7 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 . 26/03/2017 Prof. Celso A A Kaestner

8 Lógica Predicativa Exemplos: 26/03/2017 Prof. Celso A A Kaestner

9 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). 26/03/2017 Prof. Celso A A Kaestner

10 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 . 26/03/2017 Prof. Celso A A Kaestner

11 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()[]). 26/03/2017 Prof. Celso A A Kaestner

12 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() |=  []; 26/03/2017 Prof. Celso A A Kaestner

13 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() |= []. 26/03/2017 Prof. Celso A A Kaestner

14 Lógica Predicativa Exemplos: 26/03/2017 Prof. Celso A A Kaestner

15 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. 26/03/2017 Prof. Celso A A Kaestner

16 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))). 26/03/2017 Prof. Celso A A Kaestner

17 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))) 26/03/2017 Prof. Celso A A Kaestner

18 Lógica Predicativa Sistemas Dedutivos em Lógica Predicativa:
Método axiomático: ver item 4.5 pg. 128; Dedução natural: ver item 4.4 pg. 122, e também a ferramenta JAPE; Método dos tableaux analíticos: ver item 5.6 pg. 147. 26/03/2017 Prof. Celso A A Kaestner

19 Lógica Predicativa Exemplo do método dos tableaux analíticos:
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 F r(a) T s(a) de 8 X (7,9) X (6,9) 26/03/2017 Prof. Celso A A Kaestner


Carregar ppt "Lógica para Computação"

Apresentações semelhantes


Anúncios Google