Lógica para Computação
Prof. Celso Antônio Alves Kaestner, Dr. Eng.
celsokaestner (at) utfpr (dot) edu (dot) br
Lógica para Computação (IF61B)
Sistemas Dedutivos
Um Sistema Dedutivo (SD) tem por objetivo obter,
a partir de um conjunto de fórmulas Γ dado,
chamado de teoria, outras fórmulas que sejam
consequência lógica de Γ;
Quando um SD infere uma fórmula A a partir de Γ
escreve-se Γ ⊢ 𝐴; este elemento chama-se sequente,
e é constituído do antecedente (ou hipóteses) Γ e do
consequente (ou conclusão) A.
2
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Sistemas Dedutivos
Existem vários procedimentos para
realizar inferências:
1.
Método axiomático;
2.
Sistema de dedução natural;
3.
Método dos tableaux analíticos;
4.
...
3
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Sistemas Dedutivos
1.
Objetiva-se construir Sistemas Dedutivos que
sejam:
Corretos, isto é, que produzam apenas conclusões
que são consequência lógica das hipóteses dadas:
se Γ ⊢ 𝐴 então Γ ⊨ 𝐴
2.
Completos, isto é, que sejam capazes de produzir
todas as inferência válidas:
se Γ ⊨ 𝐴 então Γ ⊢ 𝐴
4
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
É o SD mais antigo, tendo sido usado desde a
apresentação da Geometria Euclidiana;
Aqui será tratada apenas o método axiomático
para a Lógica Proposicional Clássica;
O método possui 2 elementos:
1.
Axiomas, constituídos por fbf à quais se atribui um status
de “verdade básica”;
2.
Regras de inferência, que indicam como obter novas
fórmulas a partir das fórmulas já inferidas.
5
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
A substituição de um átomo p por uma fórmula B
em uma fórmula A, representada por A[p:=B] é
definida por:
1.
p[p:=B]=B;
2.
q[p:=B]=q, se q p;
3.
(A) [p:=B]= (A [p:=B]);
4.
(A1 A2) [p:=B]= (A1 [p:=B]) (A2 [p:=B]);
5.
(A1 A2) [p:=B]= (A1 [p:=B]) (A2 [p:=B]); e
6.
(A1 A2) [p:=B]= (A1 [p:=B]) (A2 [p:=B]).
6
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
Exemplo de substituição:
Substituição de p por (r s) em (p (p q)):
(p (p q))[p := (rs)] =
(p[p:=(rs)](pq) [p:=(rs)]) =
((rs)(p[p:=(rs)q[p:=(rs))) =
((rs)((rs)q))
Se B é resultante da substituição de um ou mais
átomos da fórmula A, diz-se que B é uma instância
de A.
7
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
Axiomas da lógica proposicional clássica:
1.
2.
3.
p (q p)
(p (q r)) ((p q) (p r))
p (q (p q))
4.
(p q ) p
5.
(p q ) q
6.
p (p q)
7.
q (p q)
8.
(p r) ((q r) ((p q) r))
9.
(p q) ((p q) p)
10.
p p
8
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
Regra de inferência (Modus Ponens):
a partir de A B e de A infere-se B;
Uma dedução é uma sequência de fórmulas A1,
A2 … An tal que cada fórmula de sequência é:
1.
Uma instância de axioma; ou
2.
Pode ser deduzida das fórmulas anteriores pela
aplicação das regras de inferência.
Um teorema é uma fórmula A para a qual existe
uma dedução A1, A2 … An = A. Neste caso
escreve-se ⊢ 𝐴.
9
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
1.
Exemplo de teorema:
(p ((p p) p)) ((p (p p)) (p p))
(instância do ax.2 com p:=p, q:=(pp) e r:= p;
2.
(p ((p p) p))
3.
((p (p p)) (p p)) (modus ponens de 1 e 2)
4.
(p (p p))
(instância do ax. 1 com p:=p, q:=p)
5.
(pp)
(modus ponens de 3 e 4)
(instância do ax. 1 com p:=p, q:=(pp))
10
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
1.
Exemplo de teorema:
(p p) ((q p) (p p))
(instância do ax.1 com p:=(p p) e q:=(qp))
2.
p p
(axioma 10)
3.
(q p) (p p)
(modus ponens de 1 e 2)
4.
(q p) (p p) (((q p) (pp)) q)
(instância do ax. 6 com p:= (q p) (p p) e q:=q)
5.
(((q p) (pp)) q) (modus ponens de 3 e 4)
11
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
O método axiomático possui a propriedade da
substituição uniforme, isto é, se A é um teorema
e se B é uma instância de A, então B também é
um teorema.
(((p q p) (p p)) (p q)) é um
teorema, pois esta formula é obtida do teorema
(((q p) (p p)) q) pela substituição q:=
p q.
12
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
Diz-se que a fórmula A é dedutível a partir de uma
teoria se há uma dedução, ou seja sequência de
fórmulas A1, A2 … An = A tal que cada fórmula na
sequência é:
1.
uma fórmula de ;
2.
uma instância de um axioma; ou
3.
pode ser obtida das fórmulas anteriores por
meio das regras de inferência.
13
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
O Teorema da Dedução:
Γ, 𝐴 ⊢ 𝐵 se e somente se Γ ⊢ 𝐴 𝐵
Exemplos de aplicação: pg. 39
Exercícios: pg. 40
14
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
Exemplo de dedução:
p𝑞, p𝑟 ⊢ 𝑝 q r
Usando o Teorema da Dedução:
p𝑞, p𝑟, 𝑝 ⊢ q r
15
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Método Axiomático
1.
p𝑞
(hipótese)
2.
p𝑟
(hipótese)
3.
𝑝
(hipótese)
4.
𝑞
(modus ponens de 1 e 3)
5.
𝑟
(modus ponens de 2 e 3)
6.
𝑞(r (q r)) (instância do axioma 3)
7.
r (q r)
(modus ponens de 4 e 6)
8.
(q r)
(modus ponens de 5 e 7)
16
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Dedução Natural
Método proposto por Gentzen;
Não há axiomas;
As inferências são baseadas em regras
de inferência em que hipóteses podem
ser introduzidas e descartadas para
consolidação da prova;
Para cada conectivo há uma regra para
inserção e para remoção do conectivo.
17
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Dedução Natural
Regras de Inferência:
Para a implicação ():
A B
B
[A]i
A
(E)
…
(I)i
B _
A B
18
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Dedução Natural
Para a disjunção ():
__A__(I) _ B
A B
[A]i
(I)
A B
A B
[B]j
…
… (E)i,j
C
C
C
Para a conjunção ():
A__B
(I) A B (E) _A B _(E)
A B
A
B
19
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Dedução Natural
Para a negação ():
A A (I)
[A]i
…
A
A
(E)
[A]i
…
(I)I
A
(E)i
O símbolo representa contradição.
20
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Dedução Natural
Exemplos de dedução natural: pgs. 43, 44, 45;
Definição formal: pg. 46;
Exercícios: pg. 47;
Prática com a ferramenta JAPE:
http://www.cs.ox.ac.uk/people/bernard.sufrin/pe
rsonal/jape.org/
21
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
É um procedimento de decisão: permite determinar a
validade de um sequente, ou seja, se
B1, …,Bn ⊢ A1,…,Am ou não;
Os métodos axiomático e da dedução natural
permitem determinar se Γ ⊢ A, e não se Γ ⊬ 𝐴; observe
ainda que Γ ⊬ 𝐴 não implica Γ ⊢ A;
O método dos tableaux analíticos é baseado em
refutação: para provar Γ ⊢ A mostra-se que
{A} ⊢
22
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Utiliza fórmulas marcadas pelos símbolos T (true) e
F (false), por exemplo T A e F B ;
O passo inicial para um sequente B1, …,Bn ⊢
A1,…,Am é a criação do tableau inicial:
T B1
…
T Bn
F A1
…
F Am
23
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Em seguida usam−se as regras de expansão e :
T
F
F
T
AB
AB
AB
A
1
T A
F A
T A
F A
2
T B
F B
F B
24
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Em seguida usam−se as regras de expansão e :
F
T
T
F
1
AB
AB
AB
A
F
T
F
T
2
A
A
A
A
F B
T B
T B
25
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Uma expansão é indicada pela adição de 1 e 2
ao fim dos ramos que contém ;
Uma expansão é indicada por uma bifurcação em
dois ramos, iniciados por 1 e 2;
Um ramo sem mais fórmulas a serem expandidas é
dito saturado;
Como o processo de expansão reduz o tamanho
das fórmulas, o processo de expansão sempre
termina;
26
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Um ramo é fechado se contém um par de fórmulas
conjugadas TA e FA;
Um ramo fechado não precisa mais ser expandido;
Um tableaux está fechado se todos seus ramos estão
fechados;
Um sequente B1, …,Bn ⊢ A1,…,Am foi deduzido pelo
método dos tableaux analíticos se existir um tableau
fechado para ele;
Portanto uma dedução ⊢ A neste método
corresponde a construir um tableau fechado para
FA.
27
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Exemplo: ⊢ p p
1.
F p p
2.
Fp
,1
3.
F p
,1
4.
Tp
, 3
5.
X
(fechamento) 2,4
28
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Exemplo:
p q , q r ⊢ p r
1.
T p q
2.
T q r
3.
F p r
4.
Tp
, 3
5.
Fr
, 3
6.
Fp
7.
X
8.
, 1
Tq
Fq
Tr
X
X
, 2
29
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Exemplo:
p , p q r ⊢ r
1.
Tp
2.
T p q r
3.
Fr
Fpq
4.
5.
Fp
6.
X
Fq
Tr
, 2
X
, 4
Se o tableau não é fechado, o ramo aberto indica uma
valoração V que é um contra-exemplo, no caso T p, F r e F q,
ou ainda V (p)=1, V (q)=0 e V (r)=0.
30
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Tableaux Analíticos
Mais exemplos…
Exercícios (pg. 55).
31
Prof. Celso A A Kaestner
05/05/2014
Lógica para Computação (IF61B)
Correção e Completude
Sistema dedutivo correto:
se Γ ⊢ 𝐴 então Γ ⊨ 𝐴
Sistema dedutivo completo:
se Γ ⊨ 𝐴 então Γ ⊢ 𝐴
Os métodos vistos são corretos e completos para a
Lógica Proposicional;
Exercícios pg. 62.
32
Prof. Celso A A Kaestner
05/05/2014