1 Lógica de 1ª Ordem. 2 Sintaxe Def. 1 Um alfabeto de 1ª ordem, , é a união dos conjuntos: =...

Post on 07-Apr-2016

220 views 5 download

Transcript of 1 Lógica de 1ª Ordem. 2 Sintaxe Def. 1 Um alfabeto de 1ª ordem, , é a união dos conjuntos: =...

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 constantesV 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 e são fórmulas sobre , então e também são fórmulas sobre .

se é uma fórmula sobre e x V, então x() e x() 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

1. Definição de :

P = { }, F = { , sen}, C = { 1 } , V = { x }

Expressar em uma linguagem de 1a ordem a sentença:

“Para todo x, 1 sen(x) 1”:

7

Sintaxe: Exemplo 1“Para todo x, 1 sen(x) 1”:

2. introdução do quantificadorx(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 infixadax((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”

• x(Homem(x) Mortal(x))• Homem(Sócrates)Mortal(Sócrates)

Definição de : P = {Homem, Mortal}, F = , C = {sócrates} V = { x}

10

Sintaxe: Convenções Adotadas

Objeto sintático Convenção notacionalvariáveis letras do fim do alfabeto ... x, y,

z.constantes letras do início do alfabeto a, b,

c, ... ou palavrassímbolos funcionais ..., f, g, h, ... ou palavras

símbolos predicativos ..., P, Q, R, ... ou palavras

termos ..., t, u, v, ... fórmulas

conjunto de fórmulas

11

Sintaxe: variáveis livres ou ligadas

Def. 6 Uma ocorrência de uma variável x em uma fórmula é ligada em , se x está no escopo de algum quantificador de . Caso contrário, a ocorrência é livre em .

Def. 5 Em uma fórmula do tipo x() (ou da forma x() ), é o escopo do quantificador.

12

Sintaxe: variáveis livres ou ligadas

Def. 8 Uma fórmula é uma sentença se e somente se nenhuma variável ocorre livre em .

Def. 7 Uma variável x é dita ser livre em uma fórmula se pelo menos uma das ocorrências de x é livre em

13

Sintaxe: variáveis livres ou ligadas

Exemplos de ocorrências livres e ligadas

Fórmula . 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 . x y( z(P(x,y,w,z)) w(Q(z,w,x,r)) )

x, y, w e z: ligadas em .w, z e r: livres em .w e z: ligadas e livres em .

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 é uma fórmula, [x/t] denotará a fórmula obtida substituindo-se cada ocorrência de x em pelo termo t.

Exemplo: = x(P(x) Q(x)) e t=joão

[x/t] denota:

= (P(joão) Q(joão))

17

Sintaxe: substituiçõesDef. 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: = xy( P(x) Q(y) ) e

t1=joão; t2 = ana

[x/t1, y/t2] denota:

’ = (P(joão) Q(ana))

18

Sintaxe: substituições

Def. 12 Uma variável x é substituível por t em uma fórmula se, para cada variável y ocorrendo em t, nenhuma sub-fórmula de do tipo y() ou do tipo y() contém uma ocorrência livre de x.

19

Sintaxe: substituiçõesExemplos:

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çõesExemplos:se = P(x) & Q(x, f(y)), então, [x/a, y/b] = P(a) & Q(a, f(b)).

se = yP(x, y) e t = f(y), então [x/t] não é permitido, pois yP(f(y), y) seria uma sentença.

21

Sintaxe: substituiçõesExemplo:

= 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çõesExemplo:

= 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

É 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

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

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 I para uma fórmula 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

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 = 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 = x(P(f(x)) Q(a))I = <D, v >, onde:D = {João, José},

v(a) = aI = Joãov(f) = fI : fI(João) = José fI(José) = Joãov(P) = PI : PI(João) = F PI(José) = Vv(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 em uma interpretação I é definida:

v´() = v (), se é uma fórmula atômica.

se v´() e v´() são conhecidos, v´( & ), v´( ), v´( ), v´( ) e v´(~)

são definidas como na Lógica Proposicional.

v´(x()) = V se v´() = V para todo x D. Caso contrario, v´(x()) = F.

v´(x()) = V se v´ () = V para algum x D. Caso contrário v´(x())

= F.

30

Semântica(Avaliação de uma Fórmula em uma Interpretação )

Exemplo: Seja = x(P(f(x)) Q(a)) e I a interpretação definida abaixo:

I = <D, v >, onde

D = {1, 2} e

v(a) = aI = 2v(f) = fI : fI(1) = 2 fI(2) = 1v(P) = PI : PI(1) = V PI(2) = Vv(Q) = QI : QI(1) = V QI(2) = V

Qual a avaliação de 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 = VAvaliaçã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 = xy(~P(x,e) P(e,y))D = {carlos, josé, maria}

Atribuições:PI(carlos,carlos) = PI(josé,josé) = PI(maria,maria) = FPI(carlos,josé) = PI(josé,carlos) = V PI(carlos,maria) = PI(maria,carlos) = FPI(josé,maria) = PI(maria,josé) = VeI =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

FÓRMULA

a) VÁLIDA (TAUTOLOGIAS (|= ))

b) INVÁLIDA

b1) SATISFATÍVEL (CONSISTENTE)

b2) INSATISFATÍVEL ( | ) (INCONSISTENTE, CONTADIÇÃO)

36

Semântica

Def. 16 Uma fórmula é dita ser válida ( |= ) se e somente se v´() = V para toda interpretação I de .

Def. 15 Uma fórmula é dita ser satisfatível se e somente se existe ao menos uma interpretação I na qual v´() = V. É dito então que I satisfaz ou que I é um modelo para .

37

Semântica Def. 17 Uma fórmula é dita ser

consequência lógica de um conjunto de fórmulas ( |= ) se e somente se toda interpretação I que satisfaz também satisfaz .

Teorema 1: |= sse é uma tautologia

Teorema 2: |= sse ^ ~ é 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) v Q(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

A B

x( ) x não ocorre em

x( ^ ) “

x( ) “

x( ^ ) “

x()

x() ^

x()

x() ^

43

Equivalências de 1a Ordem

A B

~x()

~x(~)

~x()

~x(~)

x(~)

x()

x(~)

x()

44

Equivalências de 1a Ordem

A Bx() ^ x()

x() x ()

x() x() z não ocorre em

x() ^ x () “

x( ^ )

x( )

xz( )

xz( ^ )

45

Def. 1 Uma fórmula é dita estar na forma normal prenex se e somente se é 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

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

~(~) |=| |=| ( ) ^ ( ) |=| ~

47

Passo 2: usar repetidamente as “leis” abaixo para interiorizar a negação

~( ^ ) |=| ~ ~ ~( ) |=| ~ ^ ~ ~x() |=| x(~) ~x() |=| x(~)

Procedimento de Transformação de Fórmulas para a Forma Normal Prenex

48

Passo 3: usar as “leis” abaixo para mover os quantificadores para a esquerda e obter a forma normal prenex:

Qx( ) |=| Qx() Qx( ^ ) |=| Qx() ^ x() ^ x() |=| x( ^ )x() x () |=| x( )x() x() |=| xz( )x() ^ x () |=| xz( ^ )

Procedimento de Transformação de Fórmulas para a Forma Normal Prenex

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)) xyz (P(x) v ~Q(y) v R(z))

51

Transformação de Fórmulas para a Forma Normal Prenex

Exemplo:x y( z(P(x,z) ^P(y,z)) u(Q(x,y,u) )x y(~z(P(x,z) ^P(y,z)) v u(Q(x,y,u) )x y(z~(P(x,z) ^P(y,z)) v u(Q(x,y,u) )x y(z (~P(x,z) v ~P(y,z)) v u(Q(x,y,u))x yz u((~P(x,z) v ~P(y,z)) v Q(x,y,u))

52

Transformação de Fórmulas para a Forma Normal Prenex

Exemplo:

xy(C(x, y) (z(P(x, z)) ^ w(P(y, w))))

xy(~C(x, y) v (z(P(x, z)) ^ w(P(y, w))))

xyzw(~C(x, y) v (P(x, z) ^ P(y, w)))