Lógica para Computação - DAINF

Propaganda
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 := (rs)] =
(p[p:=(rs)](pq) [p:=(rs)]) =
((rs)(p[p:=(rs)q[p:=(rs))) =
((rs)((rs)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:=(pp) 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.
(pp)
(modus ponens de 3 e 4)
(instância do ax. 1 com p:=p, q:=(pp))
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:=(qp))
2.
 p  p
(axioma 10)
3.
(q p) (p  p)
(modus ponens de 1 e 2)
4.
(q p) (p  p)  (((q  p)  (pp))  q)
(instância do ax. 6 com p:= (q p) (p  p) e q:=q)
5.
(((q  p)  (pp))  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
AB
AB
AB
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
AB
AB
AB
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
Fpq
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
Download