1 lógica de 1ª ordem. 2 sintaxe def. 1 um alfabeto de 1ª ordem, , é a união dos conjuntos: =...
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 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)))