Escolar Documentos
Profissional Documentos
Cultura Documentos
Matemática Discreta
Matemática Discreta
mario@cos.ufrj.br
19 de Maro de 2015
UFRJ
Motivao Prtica
lgebra de Boole
Programao em lgica (PROLOG)
Sistemas especialistas
Especificao de programas
Verificao de programas
Banco de dados:
BDs dedutivos
Hiptese de mundo fechado
Default / prioridades
Ontologias
Sistemas distribudos:
Tempo
Conhecimento e crena
Lei (Lgica dentica)
Linguagens de programao
Livros
Lgica para a Computao - Thomson Learning - Flvio Soares Corra da
Silva, Marcelo Finger e Ana Cristina Vieira de Melo
Lgica para a Cincia da Computao - Ed. Campus - Joo Nunes de Souza
A Mathematical Introduction to Logic - Enderton
Introduction to Mathematical Logic - Mendelson
Introduo Lgica Modal Aplicada a Computao - Marcos Mota Costa
Programao em Lgica e a Linguagem PROLOG - Casanova
Lgica - John Nolt e Linnes Rohatyn
Sumrio
1 Introduo
2.1
2.2
2.3
Complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4
Sistemas Dedutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.1
Deduo Natural . . . . . . . . . . . . . . . . . . . . . . . . . 26
rvores de Prova . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5
2.4.2
Mtodo de Tableaux . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.3
Mtodo de Resoluo . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.4
2.4.5
Sistema Axiomtico . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.6
Aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
61
iv
SUMRIO
3.2
Sistemas Dedutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3
Deduo Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.4
Mtodo de Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.5
Mtodo Axiomtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.6
Semntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.7
3.8
3.9
Estruturas e Teorias . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Grafos, Ordens e rvores . . . . . . . . . . . . . . . . . . . . . 94
Teoria dos Nmeros . . . . . . . . . . . . . . . . . . . . . . . . 97
4 Lgicas Modais
4.1
4.2
100
Linguagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.1.1
4.1.2
. . . 101
Semntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2.1
Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2.2
Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.2.3
Satisfao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.2.4
SUMRIO
v
Clsse dos Frames Seriais Fserial . . . . . . . . . . . . . . . . . 108
Captulo 1
Introduo
LGICA o estudo do raciocnio dedutivo.
Histrico
Aristteles leis do discurso;
Idade Mdia lgica filosfica;
Boole (1815-1864) lgebra booleana;
Peano (c.1865) axiomatizao da aritmtica;
Frege (1874)
investigar fundamentos da matemtica
lgica moderna;
Russel-Whitehead (1910)
Princpia Matemtica
lgica moderna;
Hilbert (1925)
formalizao da noo de prova
mecanizao da matemtica;
Gentzen (1935) teoria da prova;
Godel (1931-1935)
completude da lgica
incompletude da aritmtica;
Investigar Fundamentos da Computao.
O que lgica?
o estudo do raciocnio dedutivo. (informalmente);
um sistema formal (formalmente)
Lgica:
LINGUAGEM
+
REGRAS DE DEDUO / INFERNCIA
+
SEMNTICA
Linguagem
usada para descrever o conhecimento que se deseja representar.
Regras de Deduo
Servem para tirar concluses a partir do conhecimento representado na linguagem.
Semntica
Serve para dar significado aos objetos descritos na linguagem.
Captulo 2
Lgica Clssica Proposicional
Neste captulo ns apresentaremos a Lgica Clssica Proposicional. Na seo 2.1
ns definimos a linguagem. Na seo 2.2 ns apresentamos a semntica e definimos
a importante noo de conseguncia lgica. Na seo 2.3 apresentamos algoritmos
para verificar conseguncia lgica e satisfabilidade e discutimos a complexidades destes problenas. Na seo 2.4 so apresentados alguns sistemas dedutivos. Finalmente,
na seo 2.4.6, enunciamos e provamos os teoremas de Correo e Completude da
Lgica Clssica Proposicional.
2.1
ou
no
Para representar proposies atmicas usaremos letras maisculas, por exemplo: A, B, C,...
Exemplos A B, A B, A B, A
Scrates um homem.
Se Scrates um homem ento Scrates mortal.
AScrates um homem.
BScrates mortal.
A
AB
Definio
Um alfabeto proposicional composto por trs conjuntos de smbolos:
Conectivos/operadores lgicos: , , ,
Smbolos auxiliares: ( e )
Smbolos proposicionais: qualquer letra maiscula um smbolo proposicional (ex: A, B,..., Z).
Podemos acrescentar um subscrito numrico a letras maisculas (A1 , A2 , ...).
Denotamos este conjunto por P.
Apresentaremos a seguir uma gramtica para definirmos quais so as frmulas
bem formadas da linguagem:
A B (no frmula)
(A) (B) (no frmula)
(A B) (B C) D (no frmula)
((A (B A)) (A B)) ( frmula)
(A (B C)) ( frmula)
Exerccios:
Questo 1. Represente as seguintes proposies utilizando a linguagem da lgica
clssica proposicional. Utilize os smbolos proposicionais C (est chovendo) e N (est
nevando).
(a) Est chovendo, mas no est nevando.
(b) No o caso que est chovendo ou nevando.
(c) Se no est chovendo, ento est nevando.
(d) No o caso que se est chovendo ento est nevando.
(e) Est chovendo se e somente se est nevando.
(f) Se est nevando e chovendo, ento est nevando.
(g) Se no est chovendo, ento no o caso que est nevando e chovendo.
Nos exerccios seguintes, represente o texto na linguagem da lgica proposicional,
especificando significado dos smbolos proposicionais utilizados.
Questo 2. Ela no est em casa ou no est atendendo ao telefone. Mas se ela
no est em casa, ento ela foi seqestrada. E se ela no est atendendo ao telefone,
ela est correndo algum outro perigo. Ou ela foi seqestrada ou ela est correndo
um outro perigo.
Questo 3. Hoje fim-de-semana se e somente se hoje sbado ou domingo. Hoje
no sbado. Hoje no domingo. Portanto, hoje no um fim-de-semana.
Observao:
Convenes sobre omisso de parnteses:
> > >
2.2
10
Tabela Verdade
Conjuno:
A B
AB
Disjuno (no-exclusiva):
A B
AB
Negao:
A A
V
Implicao:
Exemplo: considere o anncio abaixo:
Para pagamento vista, ns damos 25% de desconto na compra de qualquer TV.
Re-escrevendo:Se pagamento vista ento 25% de desconto.
Suponha agora que D. Maria deseja verificar se este anncio honesto ou no.
11
Possibilidade
Pagamento vista
25% de desconto
Anncio
AB
V(?)
(A B) (A B) C
12
V se v() = F
2. v() =
F se v() = V
V se v() = v() = V
3. v( ) =
F
caso contrrio
F se v() = v() = F
4. v( ) =
V
caso contrrio
F se v() = V e v() = F
5. v( ) =
V
se caso contrrio
13
v((B C)) = V
v(A) = V
v(A) = V
v(B) = F
v(C) = V
v(B) = F
v(C) = F
v(C) = F
Exemplo: Ache o valor verdade da seguinte frmula para a valorao
v(A) = F, v(B) = F, v(C) = V, v(D) = V :
v((A D) (C B)) = V
v((A D)) = F
v((C B)) = F
v(A) = F
v(D) = F
v(C) = F
v(B) = F
v(A) = F
v(D) = V
v(C) = V
v(B) = F
v(D) = V
v(C) = V
14
15
Exemplo: (A B) C
23 = 8
A
V V
V V
(A B) (A B) C
A A uma tautologia.
AA
16
B A A (B A)
(B A)
(A B)
A (A B)
A (A B) uma contradio.
A
BA
(A B)
A B
(A B) equivalente a A B.
17
18
19
P Q (P Q)
Definimos e usando e
P Q (P Q)
P Q P Q
Exerccio: Verificar as equivalncias acima.
Na verdade todos os conectivos podem ser definido a partir de um nico novo
conectivo chamado. Isto o que vamos ver no exerccio seguinte.
Exerccio: (Sheffer Stroke P/Q)
Suponha P/Q uma frmula com a seguinte Tabela Verdade
P
Q P/Q
P/P
V V
V V
V V
V V
V V
V V
V V
Logo:
P QRS
P Q R S
P Q R S
20
21
(P Q R S) (P Q R S) (P Q R S)
Formalizando: Para achar a frmula correspondente a uma tabela verdade, procedemos da seguinte maneira:
1. Para cada linha da tabela verdade em que a frmula verdadeira, escrevemos
uma frmula correspondendo conjuno ( E ) dos smbolos proposicionais
que forem verdadeiros e das negaes daqueles que forem falsos na linha considerada.
2. A frmula a disjuno ( OU ) das frmulas escritas no passo 1.
Definio 1 tomo e Literal
Uma frmula atmica ou tomo qualquer smbolo proposicional. Ex: A, e
C.
Um literal um tomo ou sua negao. Ex: A, A, B, C.
22
23
Definio:
Seja uma frmula e um conjunto de frmulas:
1. Uma atribuio de valor verdade v:P 7 {V, F } satisfaz se e somente se
v() = V . E v satisfaz se e somente se v satisfaz cada membro de .
2. satisfatvel se e somente se existe uma atribuio v que satisfaz . Caso
contrrio, insatisfatvel.
Definio:
Uma frmula dita uma consequncia logica de um conjunto de frmulas
= {1 , 2 , ..., n }, ou uma implicao logica de , 1 , 2 , ..., n |= , se
somente se para toda valorao v se v(1 2 ... n ) = V , ento v() = V .
Teorema:
Uma frmula dita uma consequncia logica de um conjunto de frmulas
= {1 , 2 , ..., n }, ou seja, 1 , 2 , ..., n |= se somente se (1 2 ... n )
uma tautologia.
Exemplo:
(C T ) T C tautologia (C T ) T |= C
2.3 Complexidade
2.3
24
Complexidade
2.3 Complexidade
25
Problema 2: Dada uma frmula com comprimento n e m smbolos proposicionais. Verificar se existe alguma valorao que satisfaz .
Funo SAT(): bool
para cada valorao v faa
se (,v) ento retorna verdadeiro
retorna falso
Complexidade da funo SAT()
Complexidade da funo SAT nmero de valoraes diferentes complexidade
de (,v)
Complexidade da funo SAT O(2m ) O(n) O(2m .n)
Obs.:
1) problema 1 polinomial (linear) no comprimento da frmula;
2) problema 2 NP completo.
2.4
26
Sistemas Dedutivos
2.4.1
Deduo Natural
Jakowski(1924) e Gentzen(1935)
Somente regras de inferncia
Para cada conectivo lgico temos 2 regras:
1. Regra de Introduo
2. Regra de Eliminao
3. Regra de Introduo: como uma frmula contendo o conectivo pode ser inferida
4. Regra de Eliminao: que consequncias podemos tirar de uma frmula contendo o conectivo
27
Queremos escrever regras de inferncia que sejam vlidas, isto , que as premissas
impliquem logicamente nas concluses.
Regras de inferncia:
P 1 , P 2, ..., P n
C
Se todas as premissas P 1 , P 2, ..., P n forem verdadeiras, ento a concluso C
verdadeira.
P 1 , P 2 , ..., P n C
Exemplo: A seguintes regras so vlidas?
No, pois no implica logicamente , Pois, sempre falso (contradio).
28
29
Exemplo 1:
1. A B
2.A C
3.C D
BD D
4. A E(1)
5. C E(2,4)
6. D E(3,5)
I Esta regra envolve o conceito de suposio que veremos a seguir. Iremos
apresent-la em seguida.
Negao:
I
E1
1. A B
2. A E1(1)
3. A B I(2)
30
31
[]i
..
.
AC
BD
2.
CD
BD
3.
[A]1
Suposio
4.
3.1
E(3,1)
3.2
E(3.1,2)
A D 1
I(3,3.2)
Eliminacao da
-E
Exemplo:
[]i
..
.
ij
[]j
..
.
32
AB
BD
2.
AC
BD
3.
BC
BD
4.
[A]1
Suposio
4.1
5.
E(4,2)
Suposio
[B]2
5.1
6.
E(5,3)
E(1,4.1,5.1)
C 1,2
Reduo ao Absurdo:
A seguir apresentamos as duas ltimas regras de Deduo Natural. A regra ABS
introduz o absurdo a patir de uma contradio qualquer . A regra de Ruduo
ao Absudo, RAA, uma regra fundamental de Deduo Natural, sua intuio que
se supusermos a negao do que queremos provar e chegarmos a um absurdo ento
podemos concluir nossa prova dizendo sim para a pergunta.
-RAA
-ABS
[]
..
.
Exemplo:
33
BD = {A C}
Pergunta: (A C)
BD (A C)
1.
AC
BD
2.
[(A C)]1
Suposio
3.
2.1
(A C)
E(2)
2.2
E(2.1)
2.3
E(2.1)
2.4
E(2.2,1)
2.5
C C
I(2.3,2.4)
2.6
ABS(2.5)
(A C)1
RAA I(2,2.6)
34
-I
-E
-I
-E
-I
[]i
..
.
ij
-E
[]i
..
.
-I
-E
-RAA
-ABS
[]i
..
.
[]j
..
.
35
Definio:
1. Uma prova em deduo natural de uma formula a partir de um conjunto de
frmulas BD={1, 2, ..., k} uma sequncia de frmulas rotuladas da seguinte
forma:
i. as frmulas do BD formam o prefixo da sequncia e so rotuladas 1: 1, 2:
2, ..., k: k;
ii. se a ltima frmula da sequncia .r: i (onde pode ser a sequncia vazia),
ento a prxima frmula rotulada ser:
ii.1 .r.1: j se i uma suposio;
ii.2 .r+1: j se j foi obtida pela aplicao de regras do grupo I a frmulas no
escopo igual superior a , onde = .r;
ii.3 .s+1: j se j foi obtida pela aplicao das regras do grupo II e = .s;
iv. n: a ltima frmula da sequncia.
Definio:
1. Um conjunto de frmulas = {1, 2, ..., n} inconsistente se somente
se para alguma frmula .
2. Um conjunto de frmulas = {1, 2, ..., n} consistente se somente se
ele no inconsistente.
1. BD = {A B C, A B, C D } ; BD A D ?
2. (P Q) (Q P ) ?
3. Q P Q ?
4. P Q R (P Q) (P R) ?
5. P (Q R) (P Q) R ?
6. P Q (P Q) ?
7. P Q R P (Q R) ?
8. B, R S A, R S, A R C, B S C C ?
9. (P Q) (Q R) P R ?
10. P R, Q S P Q R S ?
11. A B, (A B) (R S), (P Q) R, A P Q S ?
12. P Q, Q P ?
13. (P Q) Q, Q P P ?
14. (P Q) P Q ?
36
37
rvores de Prova
A forma mais usual de se representar provas em Deduo Natural usando-se
rvores de prova. Informalmente, uma rvore de prova uma rvore finita na qual
na raiz temos a frmula que queremos provar e nas folhas temos as suposies e
frmulas do banco . Cada suposio tem um nmero, e se este nmero aparece
na aplicao de uma regra de inferncia significa que a suposio foi descarregada.
Cada n intermedirio obtido, como concluso, pela aplicao de uma regra de
inferncia aos seus filhos, que so as premissas da regra1 .
Ns dizemos que uma frmula segue de um banco de dados (conjunto de
frmulas) , , se existe uma rvore de prova com na raiz e todas as frmulas
de so exatamente a nicas siposies que no foram descarregadas.
Exemplo 2.4.1 : (A (B C)) (A B).
[(A (B C))]1 [A]2
(B C)
B
(A B)2
((A (B C)) (A B))1
Exemplo 2.4.2 (A B) (A B).
[(A B)]
A B
B
[A B]2
[(A B)]1
A B
A
B
B B
(A B)1,3
Exerccios: Faa todos os exerccios do final da seo anterior colocando as
provas em forma de rvores de prova.
1
importante observar que a rvore de prova desenhada com a raiz embaixo e as folhas esto
2.4.2
38
Mtodo de Tableaux
R2
R3
R4
R5
R6
( )
R7
( )
( )
39
Motivao
Se aplicarmos as regras a uma frmula, vamos gerar uma rvore, onde cada ramo
corresponde a uma ou mais valoraes que satisfazem a frmula, por isso chamado
Tableau Semntico.
Lembrando do nosso mtodo semntico para verificar consequncia lgica, i.e.,
dado um BD = {1 , , n } e uma pergunta , temos que BD |= se e somente se
(1 n ) uma tautologia. Mas verificar se esta frmula uma tautologia
equivalente a verificar se sua negao uma contradio. A intuio do mtodo
de Tableaux aplicar as regras para mostrar que ((1 n ) ) no possui
nenhuma valorao que a faa verdadeira, i.e., ela uma contradio. E portanto,
(1 n ) uma tautologia.
Definio: Um ramo de um tableaux dito fechado se ele contiver e
para qualquer frmula .
Definio: Um tableaux dito fechado se cada um dos seus ramos for fechado.
E aberto caso contrrio.
Mtodo
1. O ramo inicial deve conter todas as frmulas do BD seguidas da negao da
pergunta;
2. aplique as regras as frmulas no mesmo ramo no mximo uma vez;
3. se o tableaux fechar responda SIM;
4. se , em todos os ramos, todas as frmulas j foram usadas uma vez e mesmo
assim o tableaux no fechou responda NO.
Exemplo 1: {A B, B C} A C
40
BD
AB
BD
BC
Neg. perg.
(A C)
R7
A
C
R
%
v
C
PPP
PPP R
PPP3
PPP
PPP
'
R3
ss
sss
s
s
s
y ss
s
R3
Exemplo 2: A B (A B)
BD
AB
Neg. perg.
(A B)
R4
(A B)
R1
A
B
&
v
R2
41
2.4.3
Mtodo de Resoluo
L1 , , Li , , Li+1 , , Ln M1 , Mj , , Mj+1 , , Mk
L1 , Ln , M1 , , Mk
L1 , , Li , , Li+1, , Lj , Lj+1, , Ln
L1 , , Li , , Li+1 , , Lj , Lj+1 , , Ln
Exemplo 1:
BD = {A B, A C, B C}
Pergunta: C
42
BD C
Negando a pergunta e transformando a pergunta negada e o BD em clusulas
temos:
1.
AB
BD
2.
A C
BD
3.
B C
BD
4.
Negao da pergunta
5.
(3,4)
6.
(2,4)
7.
(5,1)
8.
(6,7)
Exemplo 2:
BD = {A B, A B, B A}
Pergunta: A B
BD A B
Negando a pergunta e transformando a pergunta negada e o BD em clusulas
temos:
1.
AB
BD
2.
A B
BD
3.
B A
BD
4.
A B
Negao da pergunta
5.
B B
(3,4)
6.
(5)
7.
(6,1)
8.
(6,2)
9.
(7,8)
43
transformao do BD e de .
Correo: se Res ento BD |=
Completude: se BD |= ento Res
2.4.4
Objetivo: Dado um banco de dados e uma pergunta (objetivo) , ns queremos responder SIM ou NO para o caso da pergunta seguir ou no do banco
de dados.
2 Mtodos at o momento:
Tabela Verdade BD |= (semanticamente);
Regras de Deduo Natural BD (sintaticamente).
Linguagem:
44
Objetivo
q ou (tomos) q ou (tomos)
q
1 2
1. ( )
2. ( )
3. ( ) ( )
4. ( ) ( ) ( )
45
Exemplo:
A B B C
(A ) B B C (Regra 1)
(A ) ) B B C (Regra 2)
(((A ) ) B B) (((A ) ) B C) (Regra 4)
Toda frmula da lgica proposicional equivalente (pode ser traduzida) a uma
conjuno de clusulas.
Problema Original: BD0 0 ?
Problema Transformado: BD ?
Regras de Computao:
1. Provar BD , prove BD e BD .
2. Provar BD , prove BD, . Se for uma conjuno =
1 2 ... n , adicione a BD 1 , 2 ,..., n .
3. Provar BD q, onde q um tomo, temos 4 casos:
3.1. q BD, responda SIM.
3.2. BD, responda SIM.
3.3. q BD, pergunte BD .
3.4. BD, pergunte BD .
4. Regra do Reincio (restart)
46
Nosso problema inicial era mostrar BD . No meio da computao, ns estamos perguntando BD . Se no conseguimos prosseguir deste ponto, podemos
perguntar qualquer pergunta j feita no mesmo ramo, por exemplo , ao banco
de dados atual, isto , BD e continuar a prova.
5. Checagem de LOOP: Nunca pergunte BD pela 2a vez para ao mesmo
BD e mesmo .
Exemplos:
(1) (A B, B C), A C (A B), (B C), A B Regra (3.3) (A
B), (B C), A A Regra (3.3) SIM ! Regra (3.1)
Figura 2.1:
47
Figura 2.2:
48
Figura 2.3:
Execcios:
(1) (A B) B (B A) A
(2) (A B) B A B
(3) (A A) A
(4) (A B) (C A) (C B)
(5) A A B
(6) A B, B A
(7) A (A B)
(8) (A B) C A (B C)
2.4.5
Sistema Axiomtico
Axiomas Lgicos:
Implicao:
(1) ( )
(2)( ( )) (( ) ))
Conjuno:
(3) ( )
(4) ( )
(5) ( ( ))
Disjuno:
(6)
(7)
(8) (( ) )) (( ) )
Negao:
(9)
(10)
(11) ( ) (( ) )
Regra de Inferncia:
49
50
Definio:
Uma frmula dita um teorema de um conjunto de frmulas ( ) se e
somente se existe uma seqncia de frmulas 1 , ..., n tal que n = e cada i :
(i ) uma instncia de um axioma esquema;
(ii ) ou for obtida por M.P. aplicada a l e k e l, k < i.
(iii ) ou um membro de .
A seqncia de frmulas 1 , ..., n chamada de uma prova de a partir de .
Exemplos:
(1) = {A B, A C} C D ?
1. A B A
axioma 3
2. A B
3. A
4. A C
5. C
6. C (C D)
M.P.(1,2)
M.P.(3,4)
axioma 6
51
M.P.(5,6)
(2) A A
1. A ((A A) A) axioma 1
2. (A ((A A) A)) ((A (A A)) (A A)) axioma 2
3. (A (A A)) (A A) M.P.(1,2)
4. A (A A) axioma 1
5. A A M.P.(4,3)
Exerccios:
Provar usando o Mtodo Axiomtico:
1) A B, B C A C
2) (A B) C A (B C)
3) A (B C) (A B) (A C)
Observao: importante notar ( e possvel provar ) que os todos mtodos dedutivos estudados para a lgica clssica proposicional so equivalentes, ou seja, uma
frmula que pode ser provada utilizando um deles, sempre poder ser provada utilizando qualquer dos outros. Isso importante, na medida em que nos permite provar
uma determinada propriedade dos sistemas dedutivos em geral, provando-a apenas
para o mtodo axiomtico, que embora difcil de ser usado na prtica para provar
um teorema, bastante simples no que diz respeito sua construo, o que facilita
a demonstrao de propriedades tericas, como a completude e a corretude, que
veremos na prxima seo.
2.4.6
52
SINTAXE
Valor verdade
prova/deduo
valida
teorema
implica logicamente |=
tabela verdade
clculo dedutivo
53
Teorema da Completude
54
Seja = .
1. Suponha que se |= ento .
2. Suponha que consistente.
3. Suponha, por contradio, que insatisfatvel.
4. Se insatisfatvel, ento, por definio, no existe nenhuma atribuio de
valores verdade que satisfaa todos os membros de . Sendo assim, podemos dizer
que |= e |= , para uma frmula qualquer .
5. Pela suposio em (1), temos que e ;
6. A partir de (5) podemos concluir que
7. Ora, (6) contradiz o fato que consistente.
Assim, por contradio, podemos afirmar que:
Se |= ento
55
Observaes:
Um conjunto de frmulas consistente se e somente se ( )
Uma valorao s um modelo para = {1 , ..., n } se e somente se s(i ) = V
para todo i .
Pelo modelo cannico, para provar a completude basta mostrar que todo conjunto consistente de frmulas satisfatvel.
56
57
2.5 Aplicao
2.5
58
Aplicao
( ) Sim
( ) No
( ) Sim
( ) No
3. Casado?
4. Filhos?
( ) Sim
( ) Sim
( ) No
( ) No
- casado
- filhos
2.5 Aplicao
Ar - perfil arrojado
P oup - aplicar em poupana
Ac - aplicar em aes
Mx - aplicar em poupana e aes
Regras:
1. (I>50 (I<30 ) C F Co
2. (I<30 I>50 ) C F Ar
3. (I<30 I>50 ) Mo
4. I<30 C F Mo
5. I>50 C F Mo
6. Co P oup
7. Co R>10K Mx
8. Ar Ac
9. Ar R>10K Mx
10. Mo Mx
11. Mo (R>10K lorF ) Ac
12. Mo (R>10K landF ) P oup
Consultas: Dado que um cliente respondeu o questionrio da seguinte forma:
I>50
I<30
C
59
2.5 Aplicao
60
F
R>10K - Renda mensal maior que R$ 10.000,0
Consulta:
1. P oup, i.e., ele deve aplicar em poupana
1. Prove as consultas em Ded. Nat.
2. Prove as consultas em Tableaux
3. Prove as consultas em Resoluo
Observaes:
1. Ser que falta alguma regra? Tem algum caso que no est sendo tratado?
Qual?
2. Suponha que voc deseja guardar todas as respostas de todos os clientes e
gostaria de expressar a seguinte regra: para todo cliente X, X no pode ser
conservador e moderado ao mesmo tempo. Como voc expressaria esta fraze
na linguagem da LCP?
Captulo 3
Logica Clssica de Primeira Ordem
x, EmpUFRJ(x) FuncPub(x)
xy, Suc(y, x)
62
3.1
63
64
Frmulas:
::= P (t1 , ..., tn ) | (1 2 ) | (1 2 ) | (1 2 ) | | x(x) | x(x)
onde P um smbolo predicativo n-rio e t1 , ..., tn so termos.
Observaes:
1. ( ) ( )
2. Convenes:
(i) x, y, z, ... Variveis;
(ii) a, b, c, ... Constantes;
(iii) f, g, h, ... Funes;
(iv) A, B, C, P, U, ... Predicados;
3. x GOSTA(x, collor) xGOSTA(x,collor)
Exerccios: Nos exerccios seguintes, represente cada proposio na linguagem
da lgica de primeira ordem, especificando em cada caso o significado dos smbolos
no lgicos utilizados.
1. Todo cachorro um animal. Todo animal morre. Rex um cachorro.
65
66
67
3.2
Sistemas Dedutivos
68
69
Definio:
Denotaremos por:
(x
,x
, ..., x
) (x
/t
,x
/t
, ..., x
/t
por t
, ..., t
OBS: (x
(x
respectivamente.
/t
/t
) ... (x
1
,x
/t
/t
, ..., x
, ..., x
/t
) em paralelo.
Exemplos:
1. P(x, f(y), g(x,y)) (x/a, y/b)
P(a, f(b), g(a,b))
2.(yxP (x, y)) Q(g(x)) R(h(y)) (x/f (a), y/z)
(yxP (x, y)) Q(g(f (a))) R(h(z))
3. P(x,y,f(x,z)) (x/g(z), z/y, y/a)
P(g(z), a, f(g(z),y)
4. P(x,y,f(x,z)) (x/g(z)) (z/y) (y/a)
P(g(z),y,f(g(z),z)) (z/y) (y/a)
P(g(y),y,f(g(y),y)) (y/a)
P(g(a),a,f(g(a),a))
Definio:
Uma varivel x substituvel em uma frmula por um termo t se, para cada
varivel y ocorrendo em t, no existe nenhuma subfrmula de da forma y ou
y onde x ocorre livre em .
70
3.3
Deduo Natural
-I
Condio: Condio:a no ocorre em
(a)
x(a/x)
-E
x
(x/t)
-I
(a)
x(a/x)
Condio: a no ocorrem
em , nem no BD e nem em
-E
71
[(a)]i
..
.
x(x)
i
2.
Suposio
1.1 yP (a, y)
-E (1)
1.2 P (a, b)
-E(1.1)
1.3 xP (x, b)
-I (1.2)
-I (1.3)
E(1,1.4)
2.
[x(Q(y) P (x))]1
Suposio
-E (1)
1.2 [Q(y)]2
Suposio
1.2.1 P (a)
-E (1.1,1.2)
1.2.2 xP (x)
-I (1.2.1)
-I (1.2,1.2.2)
-I (1,1.3)
72
Exemplo 3:
1.
xyP (x, y)
2.
3.
4.
yP (a, y)
-E
5,
P (a, b)
-E(4)
6.
-E(2)
7.
-E(6)
8.
Q(a) R(b)
-E(5,7)
9.
Q(a)
-E(8)
Pergunta: xT(x)?
10. xQ(x)
-I(9)
11. R(b)
-E(8)
12. xR(x)
-I(11)
-I(10,12)
-E(13,3)
Suposio
15.1 T (a)
-E(15)
15.2 xT (x)
-I(15.1)
16. xT (x)1
3.4
-E(14,15,15.2)
Mtodo de Tableaux
O mtodo de Tableuax apresentado nesta seo foi proposto por Smullian [3] e
pode ser encontrado em [4]. Este se caracteriza por no usar unificao. Existem
outros Tableaux que utilizam unificao mas no sero estudados neste curso.
O mtodo o mesmo da Lgica Clssica Proposicional acrescentando-se quatro
novas regras para tratar dos quantificadores. Comeamos com o ramo incial contendo o BD e a negao da pergunta e aplicamos as regras at obter um Tableaux
fechado ou esgotar todas as possibilidades. A seguir apresentamos as novas regras
73
para os quantificadores e .
R8
x
(x/t)
R9
x
(x/t)
R10
x
(x/t)
R11
x
(x/t)
74
1.
Negao Perg.
2.
xP (x)
R7
3.
xP (x))
R7
4.
P(a)
R11
5.
P (a)
R8
xyP (x, y)
2.
3.
zR(z)
Negao Perg.
4.
yP (a, y)
R10 (1)(x/a)
5.
P (a, b)
R10 (4)(y/b)
6.
R8 (2)(x/a)
7.
R8 (6)(x/a)
8.
R7 (7)
9.
| Q(a)
R1 (8)
10.
| R(b)
R1 (8)
11.
| R(b)
R11 (3)
3.5
BD
Mtodo Axiomtico
Axiomas Lgicos:
Implicao:
(1) ( )
(2) ( )) (( ) ))
Quantificador Universal:
(12) x (x/t),onde x substituvel por t em ; ( -elim)
(13)( ) ( x ), onde x no ocorre livre em ; ( -introd)
(14) x(x) x(x) por definio
Exemplo 1:
1. xP (x)
2. x((P (x) Q(x)) R(x)) yR(y) ?
3. xQ(x)
75
76
3.6 Semntica
3.6
77
Semntica
C
C P F
P DE
EJ
v(C) = F
v(P ) = V
v(D) = v(E) = F
v(J) = V
3.6 Semntica
78
v(C) = V
v(P ) = V
v(F ) = V
v(D) = F
v(E) = V
v(J) = V
um modelo.
v(C) = V
v(P ) = V
v(F ) = V
v(D) = V
v(E) = F
v(J) = F
um modelo.
A semntica da lgica de primeira ordem tem como objetivo atribuir significados
s frmulas da linguagem.
Uma frmula s tem significado quando uma interpretao dada a seus smbolos no lgicos.
x(Q(x) P (x)) verdadeira ou falsa?
3.6 Semntica
79
Figura 3.1:
3.6 Semntica
P I = {< Jose >, < P edro >}
x(Q(x) P (x)) falsa nesta interpretao.
Exemplo 3: x(Q(x) P (x))
U =Z
(inteiros)
80
3.6 Semntica
81
Jos
Joo
Paulo
Joo
Pedro
Joo
Joo
Paulo
Joo
Paulo
Paulo
Paulo
Pedro
Paulo
Jos
Paulo
Jos
GI
Joo
Pedro
3.6 Semntica
82
x = Joo = V
x = Jos = V
x = Pedro = V
x = Paulo = F
Porm, pela nossa definio da linguagem de LPO, podemos ter variveis livres
ocorrendo nas frmulas, por exemplo
xC(x, y)
A varivel y ocorre livre nesta frmula.
Em geral, para sabermos se uma frmula verdadeira ou falsa, ns precisamos
saber o universo e interpretar cada smbolo no-lgico neste universo e dar valor as
variveis livres.
(1) Interpretar variveis livres e constantes em elementos do domnio.
(2) Interpretar predicados em relaes entre elementos do domnio.
(3) Interpretar funes em funes sobre o domnio.
Definio: Definimos uma interpretao como sendo um par ordenado I =<
D, I > onde D um conjunto no-vazio de indivduos chamado domnio. E I
uma funo chamada de funo de interpretao, definida como:
3.6 Semntica
83
3.6 Semntica
84
Definio:
Seja L uma linguagem de primeira ordem e e , frmulas de L, t1 , ..., tn termos,
P um smbolo predicativo n-rio e < D, I > uma interpretao. Definimos a funo
de avaliao de frmulas de L como:
VI : W {V, F }, onde W o conjunto de frmulas, tal que:
(1) VI (P (t1 , ..., tn )) = V se somente se < I(t1 ), ..., I(tn ) > P I . F caso contrrio.
(2) VI () = V se VI () = F . F caso contrrio.
(3) VI ( ) = V se VI () = V e VI () = V . F caso contrrio.
(4) VI ( ) = F se VI () = F e VI () = F . V caso contrrio.
(5) VI ( ) = F se VI () = V e VI () = F . V caso contrrio.
(6) VI (x) = V se somente se para todo d D, se I(x) = d ento VI () = V .
F caso contrrio.
(7) VI (x) = V se para algum d D, I(x) = d e VI () = V . F caso contrrio.
3.6 Semntica
85
Definio:
Seja L uma linguagem de 1a ordem. I uma interpretao para L, um conjunto
de frmulas de L e uma frmula.
3.6 Semntica
86
Empregado
Joo
100
Jos
200
Pedro
Salrio
Jos
100
Joo 200
...
...
OBS: As funes tm que ser totais,i.e., devem retornar algum valor pertencente
ao domnio a cada elemento do domnio.
VI (x(P (x) E(x, s(x))) = ?
Para todo d D:
d = Joo
VI (P(Joo))= V VI (E(Joo,200)) = F VI (x(P (x) E(x,s(x))) = F
Trocando os valores na tabela de salrio:
Salrio
Jos
200
Joo 100
...
...
Para todo d D:
d = Joo
VI (P(Joo))= V VI (E(Joo,100))= V VI (x(P (x) E(x,s(x))) = V
d = Jos
VI (P(Jos))= V VI (E(Jos,200))= V VI (x(P (x) E(x,s(x))) = V
3.6 Semntica
87
d = Pedro
VI (P(Pedro))= F VI (E(Pedro,...))= ? VI (x(P (x) E(x,s(x))) = V
d=0
VI (P(0))= F VI (E(0,...))= ? VI (x(P (x) E(x,s(x))) = V
d = 100
VI (P(100))= F VI (E(100,...))= F VI (x(P (x) E(x,s(x))) = V
d = 200
VI (P(200))= F VI (E(200,...))= F VI (x(P (x) E(x,s(x))) = V
Exemplo 2: x(P (x) yQ(x, y))
No Satisfaz
Satisfaz
D = {0, 1}
D = {0, 1}
P I = {< 0 >}
QI = {< 0, 1 >}
Satisfaz
D = {0, 1}
D = {0, 1}
yI = 0
yI = 0
cI = 0
cI = 0
P I = {< 1, 1 >}
QI = {< 1 >}
QI =
RI = {< 0 >}
RI = {< 1 >}
Exerccio:
Dada a seguinte estrutura:
3.6 Semntica
88
Homem
Mulher
Pai
jose
joao
jose
ana
joao
jose
maria
jose
jose
maria
jose
maria
joao
ana
3.7
TEOREMA DA CORRETUDE:
Se ento |= ..
TEOREMA DA COMPLETUDE:
Se |= ento .
89
3.8
90
Rua
Cidade
Joo
Monte
Rio
Jos
Sol
Macei
Pedro
Flores
Curitiba
AGNCIA
Agncia
Fundos
Cidade
345
100.000,00
Rio
243
340.000,00
Salvador
610
EMPRSTIMO
Agncia Emprstimo
Cliente
Valor
345
107
Joo
2.000,00
243
340
Jos
7.000,00
619
573
Maria
10.000,00
DEPSITO
Agncia Num. C.C,
Cliente
Saldo
345
10050
Joo
500,00
243
10129
Ana
750,00
619
23040
Maria
200,00
91
Cliente
from
DEPSITO
where
Agncia = 345
Cliente
from
EMPRSTIMO
where
Agncia = 345
Cliente
from
DEPSITO
where
Agncia = 345
Union
select
Cliente
from
EMPRSTIMO
where
Agncia = 345
Cliente
from
DEPSITO
where
Agncia = 345
Intersect
select
Cliente
from
EMPRSTIMO
where
Agncia = 345
Cliente
from
DEPSITO
where
Agncia = 345
92
Minus
select
Cliente
from
EMPRSTIMO
where
Agncia = 345
CLIENTE.Cliente, CLIENTE.Cidade
from
EMPRSTIMO, CLIENTE
where
EMPRESTIMO.Cliente=CLIENTE.Cliente
CLIENTE.Cliente, CLIENTE.Cidade
from
EMPRSTIMO, CLIENTE
where
8. Todos os clientes que tem conta em alguma agncia que Joo tem conta.
select
Cliente
from
DEPSITO
where
Agncia In
select
Agncia
from
DEPSITO
where
Cliente=Joo
9. Ache todas as agncias tem um fundo maior que alguma agncia em Salvador.
select
Agncia
from
AGNCIA
where
Fundos
from
AGNCIA
where
Agncia = Salvador
10. Ache todas as agncias tem um fundo maior que todas as agncias em Salvador.
Agncia
from
AGNCIA
where
93
select
Fundos
from
AGNCIA
where
Agncia = Salvador
Cliente
from
DEPSITO S
where
select
Agncia
from
DEPSITO T
where
S.Cliente = T.Cliente
Contains
select
Agncia
from
AGNCIA
where
AGNCIA.Cidade = Salvador
3.9
94
Estruturas e Teorias
Garfos
Um grafo G = (V, A) uma par onde V um conjunto no vazio de vrtices e
A uma relao binria sobre V , A V V .
Um linguagem, bsica, de primeira ordem para representar grafos dever ter um
smbolo predicativo 2-rio para ser interpretado como A. E o domnio da interpretao deve ser o conjunto de vtices V .
Linguagem: predicado 2-rio R.
Interpretao:
D = V
I(R) = A
Podemos escrever frmulas que impem condies sobre o tipo de grafo. Por
exemplo, a fmula
xR(x, x)
95
Frmula
Rx.
Reflexividade
xR(x, x)
IRx.
Ireflexividade
xR(x, x)
Sm.
Simtria
Tr.
Transitividade
Sl.
Serial (Total)
xyR(x, y)
Eu.
Euclidiana
ASm.
Anti-Simtrica
xyR(x, y) R(y, x) x = y
Tc.
Tricotomia
xy(R(x, y) x = y R(y, x)
xyR(x, y) R(y, x)
Outra clsse de grafos muito usada em computao clsse dos grafos k-colorveis.
Estes so os grafos que podem ser colorveis com k cores respeitando as seguintes
condies:
1. todo vrtice atribuida uma nica cor;
2. vrtices vizinhos tem cores distintas.
Estes grafos formam uma estrutura com mais k relaes unrias para representar as cores, G = (V, A, Cor1 , , Cork ). Para expressar estes grafos precisamos
estender nossa linguagem comok smbolos de predicados C1 , Ck e interpret-los
como
96
Ordens
Um relao de ordem pode ser vista como um grafo onde o conjunto de aresta
A a prrpria relao de ordem ou < dependendo se a ordem estrita ou no.
Para ter uma ordem algumas condies devem ser impostas:
Ordem
Frmulas
Pr
Pr-Ordem
Rx + Tr
Par.
Ordem Parcial
Tot
Odem Total(linear)
Est.
Estrita
Rx + Tr + ASm
Rx + Tr + ASm + Tc
Subst. Rx por IRx em Pr, Par, Tot
rvores
Uma rvore um grafo conexo com um vrtice especial chamado raiz tal que
deste vrtice s existe um nico caminho para qualquer outro vrtice. Uma rvore
pode ser vista como um grafo G = (V, A, raiz). Ns vamos estender a linguagem
dos grafos com uma constante r para denotar a raiz,
I(r) = raiz
exerccio: Escreva as frmulas para expressar que um grafo uma rvore. Dica:
defina um novo smbolo de predicado, na linguagem, para expressar caminho entre
dois vrtices, C(x, y) se exsite um caminho de x para y e/ou use a relao de =.
97
Axiomas de AE
98
S1.
xS(x) 6= 0
S2.
xy(S(x) = S(y) x = y)
L1.
L2.
x 6< 0
L3.
A1. x(x + 0) = x
M1. x(x.0) = 0
E1.
x(xE0) = S(0)
E2.
xy(xES(y)) = (xEy).x
S3.
99
y(y 6= 0 x y = S(x))
Captulo 4
Lgicas Modais
Este material est sendo construido durante o curso. Faltam vrias
figuras, provas, exemplos e explicaes.
4.1
4.1.1
Linguagem
Alfabeto modal sobre
4.2 Semntica
4.1.2
101
::= p | | 1 2 | 1 2 | 1 2 | | |
4.2
4.2.1
Semntica
Frames
4.2 Semntica
102
s1
s2
s5
s3
s4
4.2.2
Modelos
s1
s2
s5
p,q
s3
s4
4.2 Semntica
103
4.2.3
Satisfao
4.2 Semntica
104
(W, R).
4.2 Semntica
105
retorna falso
1:
1 2 :
1 2 :
1 :
4.2 Semntica
106
3. M, w
(p (p r))
4. Satisf az(r, M, s1 )
5. Satisf az((r p), M, s1)
6. Satisf az((r (p q)), M, s1)
7. Satisf az(q, M, s1 )
4.2.4
Clsses de Frames
x W (xRx)
s1
t1
4.2 Semntica
107
x, y W (xRy yRx)
s1
t1
r1
t1
4.2 Semntica
108
xy (xRy)
s1
t1
Referncias Bibliogrficas
[1] F. S. C. Silva, M. Finger e A. C. V. Melo. Lgica para a Computao. Thomson Learning, 2006.
[2] H. B. Enderton. A Mathematical Indroduction to Logic. Academic
Press, 1972.
[3] R. M. Smullyan. First Order Logic. Springer-Verlag, 1968.
[4] M. M. C. Costa. Introduo Lgica Modal Aplicada Computao. VIII Escola de Computao. Gramado, 1992.
[5] P. Blackburn, M. de Rijke, and Y. Venema. Modal Logic. Theoretical Tracts in Computer Science. Cambridge University Press,
2001.
[6] R. Goldblatt. Logics of Time and Computation. CSLI Lecture
Notes 7,1992.
[7] D. Harel, D. Kozen D. and Tiuryn. Dynamic Logics. MIT Press,
2000.
[8] Chellas, B. (1980). Modal Logic, An Introduction. Cambridge UP,
Cambridge, U.K.
REFERNCIAS BIBLIOGRFICAS
110
[9] Halpern, J. Y., R. Fagin, Y. Moses and M. Y. Vardi (1995). Reasoning about knowledge. MIT Press, Massachusets, U.S.A.
[10] Hughes, G. E, Cresswell, M.J. (1996). A New Introduction to Modal
Logic. Routledge, London and New York.