Você está na página 1de 29

Universidade de Brası́lia - Instituto de Ciências Exatas

Departamento de Ciência da Computação


CIC 117366 Lógica Computacional 1 - Turmas A e B (2019/1)

18 de abril de 2019

Lista: Lógica Proposicional - Dedução Natural (Gabarito)

Em adição aos exercı́cios que aparecem nas notas de aula, solucione os listados a seguir. Nas
sua derivações, sempre indique qual regra dedutiva é utilizada em cada passo.
1. Considere a estrutura de listas de números naturais dada por:

l ::= nil | cons(n, l)


onde nil representa a lista vazia, e cons(n, l) denota a lista com cabeça n e cauda l.
O comprimento de uma lista é definido recursivamente por:

0, se l = nil
length(l) =
1 + length(l0 ), se l = cons(a, l0 )
A concatenação de listas também pode ser definida por uma função recursiva:

l2 , se l1 = nil
concat(l1 , l2 ) =
cons(a, concat(l , l2 )), se l1 = cons(a, l0 )
0

O reverso de listas é definido por:



l, se l = nil
rev(l) =
concat(rev(l0 ), cons(a, nil)), se l = cons(a, l0 )

O uma lista é prefixo de outra se:


8
< T rue, se l1 = nil
pref ix(l1 , l2 ) = pref ix(l10 , l20 ), se l1 = cons(a, l10 ) e l2 = cons(a, l20 )
:
F alse caso contrário
(a) Prove que length(concat(l1 , l2 )) = length(l1 ) + length(l2 ), para l1 , l2 quaisquer.
Solução
Indução sobre l1
Base indutiva:
length(concat(nil, l2 )) = length(l2 )
= length(nil) + length(l2 )

1
Passo indutivo: Nossa hipótese de indução é:

length(concat(l1 , l2 )) = length(l1 ) + length(l2 )

E queremos provar que:

length(concat(cons(a, l1 ), l2 )) = length(cons(a, l1 )) + length(l2 )

Logo,
length(concat(cons(a, l1 ), l2 )) = length(cons(a, concat(l1 , l2 )))
= 1 + length(concat(l1 , l2 ))
h.i.
= 1 + length(l1 ) + length(l2 )
= length(cons(a, l1 )) + length(l2 )

(b) Prove que concat(l, nil) = l para qualquer lista l

Solução
Indução sobre l
Base indutiva:

concat(nil, nil) = nil

Passo indutivo: Nossa hipótese de indução é:

concat(l, nil) = l

E queremos provar que:

concat(cons(a, l), nil) = cons(a, l)

Logo,
concat(cons(a, l), nil) = cons(a, concat(l, nil))
h.i.
= cons(a, l)

(c) Prove que concat(concat(l1 , l2 ), l3 ) = concat(l1 , concat(l2 , l3 )) para listas l1 , l2 , l3


quaisquer

Solução
Indução sobre l1
Base indutiva:
concat(concat(nil, l2 ), l3 ) = concat(l2 , l3 )
= concat(nil, concat(l2 , l3 ))

2
Passo indutivo: Nossa hipótese de indução é:

concat(concat(l1 , l2 ), l3 ) = concat(l1 , concat(l2 , l3 ))

E queremos provar que:

concat(concat(cons(a, l1 ), l2 ), l3 ) = concat(cons(a, l1 ), concat(l2 , l3 ))

Logo,

concat(concat(cons(a, l1 ), l2 ), l3 ) = concat(cons(a, concat(l1 , l2 )), l3 )


= cons(a, concat(concat(l1 , l2 ), l3 ))
h.i.
= cons(a, concat(l1 , concat(l2 , l3 )))
= concat(cons(a, l1 ), concat(l2 , l3 ))

(d) Prove que length(rev(l)) = length(l), para qualquer lista l.

Solução
Indução sobre l.
Base indutiva:

length(rev(nil)) = length(nil) = 0

Passo indutivo: Nossa hipótese de indução é:

length(rev(l)) = length(l)

e queremos provar que

length(rev(cons(a, l))) = length(cons(a, l))

Logo,

length(rev(cons(a, l))) = length(concat(rev(l), cons(a, nil)))


= length(rev(l)) + length(cons(a, nil))
h.i.
= length(l) + length(cons(a, nil))
= length(l) + 1
= length(cons(a, l))

(e) Prove que rev(concat(l1 , l2 )) = concat(rev(l2 ), rev(l1 )) para listas l1 , l2 quaisquer.

Solução

3
Indução sobre l1
Base indutiva:
rev(concat(nil, l2 )) = rev(l2 )
= concat(rev(l2 ), nil)
= concat(rev(l2 ), rev(nil))
Passo indutivo: Nossa hipótese de indução é:
rev(concat(l1 , l2 )) = concat(rev(l2 ), rev(l1 ))
E queremos provar que:
rev(concat(cons(a, l1 ), l2 )) = concat(rev(l2 ), rev(cons(a, l1 )))
Logo,
rev(concat(cons(a, l1 ), l2 )) = rev(cons(a, concat(l1 , l2 )))
= concat(rev(concat(l1 , l2 )), cons(a, nil))
h.i.
= concat(concat(rev(l2 ), rev(l1 )), cons(a, nil))
= concat(rev(l2 ), concat(rev(l1 ), cons(a, nil)))
= concat(rev(l2 ), rev(cons(a, l1 )))

(f) Prove que rev(rev(l)) = l para qualquer lista l.

Solução
Indução sobre l
Base indutiva:
rev(rev(nil)) = rev(nil)
= nil
Passo indutivo: Nossa hipótese de indução é:
rev(rev(l)) = l
E queremos provar que:
rev(rev(cons(a, l))) = cons(a, l)
Logo,
rev(rev(cons(a, l))) = rev(concat(rev(l), cons(a, nil)))
= concat(rev(cons(a, nil)), rev(rev(l)))
= concat(cons(a, nil), rev(rev(l)))
h.i.
= concat(cons(a, nil), l)
= cons(a, concat(nil, l))
= cons(a, l)

4
(g) Prove que pref ix(l1 , l2 ) se e só se existe l3 tal que concat(l1 , l3 ) = l2 para quaisquer
l1 e l2 .
Solução
Indução sobre l1
Base indutiva:
pref ix(nil, l2 ) sse existe l3 tal que concat(nil, l3 ) = l2
Basta que l3 = l2

Passo indutivo: Nossa hipótese de indução é:

pref ix(l1 , l2 ) sse existel3 tal que concat(l1 , l3 ) = l2

E queremos provar que:

pref ix(cons(a, l1 ), cons(a, l2 )) sse existe l30 tal que concat(cons(a, l1 ), l30 ) = cons(a, l2 )

Simplificando pref ix tem-se:

pref ix(l1 , l2 ) sse existe l30 tal que concat(cons(a, l1 ), l30 ) = cons(a, l2 )
Simplificando concat:

pref ix(l1 , l2 ) sse existe l30 tal que cons(a, concat(l1 , l30 )) = cons(a, l2 )
Por hipótese de indução e por pref ix(l1 , l2 ) existe l3 tal que concat(l1 , l3 ) = l2 .
Assim basta fazer l30 = l3 :

pref ix(l1 , l2 ) sse existe l3 tal que cons(a, concat(l1 , l3 )) = cons(a, l2 )

2. Nos seguintes exercı́cios use a prova por indução na estrutura das fórmulas.

(a) Demonstre que uma fórmula bem formada é balanceada, no sentido de que o
número de parênteses abertos “(”é igual ao de parênteses fechados “)”, isto é,
|'|( = |'|) , para uma fórmula ' qualquer.
Solução A prova é por indução em '. Consideramos cada um dos possı́veis
construtores para fórmulas:
BI Se ' for uma constante ou variável proposicional, então a propriedade vale,
uma vez que neste caso ' não possui parênteses.
PI.a Se ' = ('1 ? '2 ), onde ? 2 {^, _, !} então por hipótese de indução |'1 |( =
h.i.
|'1 |) e |'2 |( = |'2 |) , logo |'|( = |('1 ? '2 )|( = 1 + |'1 |( + |'2 |( = 1 + |'1 |) +
|'2 |) = |('1 ? '2 )|) = |'|) .

5
PI.b Se ' = (¬'1 ) então por hipótese de indução |'1 |( = |'1 |) , logo |'|( =
h.i.
|(¬'1 )|( = 1 + |'1 |( = 1 + |'1 |) = |(¬'1 )|) = |'|) .
(b) Demonstre que para todo prefixo s de uma fórmula bem formada ', vale |s|( |s|) .

Solução A prova é por indução em '. Consideramos cada um dos possı́veis


construtores para fórmulas:
BI Se ' for uma constante ou variável proposicional, então os possı́veis prefixos
de ' são a palavra vazia ou '. Em ambos os casos, temos que |s|( = 0 = |s|) ,
e portanto |s|( |s|) .
PI.a Se ' = (¬'1 ) então, por hipótese de indução, para qualquer prefixo s0 de
'1 temos que |s0 |( |s0 |) . Adicionalmente, os possı́veis prefixos de ' são
✏, (, (¬s0 , para s0 prefixo de '1 , ou '. Nos dois primeiros casos, claramente
temos que |s|( |s|) ; no último caso, por (a) |'|( = |'|) . Se s = (¬s0 então
h.i.
|s|( = 1 + |s0 |( 1 + |s0 |) > |s0 |) = |s|) , e portanto |s|( |s|) .
PI.b Se ' = ('1 ? '2 ), onde ? 2 {^, _, !} então por hipótese de indução temos
que se si é um prefixo de 'i então |si |( |si |) (i 2 {1, 2}). Os possı́veis
prefixos de ' são da forma ✏, (s1 , ('1 ? s2 e '. No primeiro e no último
casos, o resultado é trivial e consequência de (a), respectivamente. Se s = (s1
h.i.
então |s|( = 1 + |s1 |( 1 + |s1 |) > |s1 |) = |s|) , e portanto |s|( |s|) . Se
s = ('1 ? s2 , sempre que |'1 |( = |'1 |) por (a), então |s|( = 1 + |'1 |( + |s2 |( =
h.i.
1 + |'1 |) + |s2 |( 1 + |'1 |) + |s2 |) > |'1 |) + |s2 |) = |s|) . Logo, |s|( |s|) .
(c) Demonstre que a palavra vazia não é uma fórmula.
Solução
Fórmulas da lógica proposicional são construı́das de acordo com a seguinte gramática:
' ::= ? | > | p | (¬') | (' ^ ') | (' _ ') | (' ! ')

Desta forma, qualquer fórmula possui pelo menos um sı́mbolo, e portanto a pala-
vra vazia não é uma fórmula. Formalmente, como nos casos precedentes, também
se procede por indução em ':
BI Constantes ou variáveis proposicionais não são a palavra vazia.
PI.a Se ' = (¬'1 ), por h.i. '1 não é a palavra vazia e consequentemente, ' não
pode ser a palavra vazia.
PI.b Se ' = ('1 ? '2 ), para ? 2 {^, _, to}, por h.i. '1 e '2 não são a palavra vazia
e consequentemente, ' não pode ser a palavra vazia.
(d) Demonstre que uma fórmula bem formada não tem prefixos próprios que são
também fórmulas: Se ' é uma fórmula bem formada e s é prefixo próprio de '
então s não pode ser uma fórmula bem formada.
Solução Consideramos cada um dos possı́veis construtores para fórmulas:

6
• Se ' for uma constante ou variável proposicional então a propriedade vale,
uma vez que o único prefixo próprio possı́vel de ' é a palavra vazia, que por
(c), não é uma fórmula.
• Se ' = (¬'1 ) então os possı́veis prefixos próprios de ' são ✏, ( e (¬s0 , onde s0
é um prefixo de '1 . O primeiro caso é consequência de (c). O segundo caso
se obtem de (a), sempre que fórmulas bem formadas são balanceadas, mas
|(|( = 1 > 0 = |(|) . Para s = (¬s0 , da prova de (b) temos que |(¬s0 |( > |(¬s0 |) ;
assim, novamente por (a) (¬s0 não pode ser uma fórmula bem formada.
• Se ' = ('1 ? '2 ), onde ? 2 {^, _, !} então os possı́veis prefixos próprios de
' são ✏, (s1 e ('1 ? s2 , onde si é prefixo de 'i (i 2 {1, 2}). No primeiro caso ✏
no é fórmula de (c). Para o segundo caso usamos (a) como no item anterior:
|(s1 |( > |(s1 |) , da prova de (b), assim (s1 não pode ser uma fórmula bem
formada. Se s = ('1 ? s2 , novamente da prova de (b) temos que |('1 ? s2 |( >
|('1 ? s2 |) ; assim por (a) ('1 ? s2 não pode ser uma fórmula bem formada.

3. “Toda fórmula satisfatı́vel é tautológica.” Esta afirmação está correta? Justifique.


Solução Não está, pois existem fórmulas que são satisfatı́veis e que não são tautologias.
Por exemplo, a ! b satisfatı́vel porque I(a ! b) = T para a interpretação I tal que
I(a) = I(b) = T . No entanto, para a interpretação I 0 tal que I 0 (a) = T e I 0 (b) = F ,
temos que I 0 (a ! b) = F , e portanto a ! b não é tautologia.

4. Construa a tabela de verdade e verifique se as fórmulas a seguir são tautologias, con-


tradições ou contingências. Adicionalmente classifique-as como satisfatı́veis ou insatis-
fatı́veis:

(a) ! ( ! ( ! ( ! )))
Solução Tautologia, e portanto satisfatı́vel.
! !( ! ) !( !( ! ) ! ( ! ( ! ( ! )))
F F T T T T
F T T T T T
T F F F F T
T T T T T T
(b) ( ! ) ! (( ! ) ! ( ^ ! ^ ))
Solução Contingência, e portanto satisfatı́vel.

7
! ! ^ ^ ^ ! ^ ( ! )!( ^ ! ^ )
F F F F T T F F T T
F F F T T T F F T T
F F T F T F F F T T
F F T T T T F F T T
F T F F T T F F T T
F T F T T T F T T T
F T T F T F F F T T
F T T T T T F T T T
T F F F F T F F T T
T F F T F T F F T T
T F T F F F T F F T
T F T T F T T F F F
T T F F T T F F T T
T T F T T T F T T T
T T T F T F T F F T
T T T T T T T T T T

(c) ! ¬ Solução Contingência, e portanto satisfatı́vel.


¬ !¬
F T T
T F F
(d) ( ^ ) ! ( _ ) Solução Tautologia, e portanto satisfatı́vel.
^ _ ( ^ )!( _ )
F F F F T
F T F T T
T F F T T
T T T T T
(e) (( ^ ) _ ( ! )) ^ (¬ _ )
Solução Contingência, e portanto satisfatı́vel.
¬ ^ ! ¬ _ ( ^ )_( ! ) (( ^ ) _ ( ! )) ^ (¬ _ )
F F F T F T T T T
F F T T F T T T T
F T F T F T T T T
F T T T F T T T T
T F F F F F F F F
T F T F F T T T T
T T F F T F F T F
T T T F T T T T T

5. Mostre que ¬ ! ¬ é consequência lógica de ! , e vice-versa.


Solução
Seja I uma interpretação qualquer. Temos as seguintes equivalências: I( ! ) =
V , I( ) = F ou I( ) = V , I(¬ ) = V ou I(¬ ) = F , I((¬ ) ! (¬ )).

6. A árvore de dedução abaixo está correta? Justifique e corrija caso a dedução esteja
errada. (Lembre-se que “a $ b” abrevia “(a ! b) ^ (b ! a)”.)

8
[(¬ ! ) ! ¬ ]x [¬ ! ]y [¬ ]z
(!e ) (!i ) y
¬ (¬ ! ) ! ¬
(!i ) x (!i ) z
((¬ ! ) ! ¬ ) ! ¬ ¬ ! ((¬ ! ) ! ¬ )
(^i )
((¬ ! ) ! ¬ ) $ ¬

Solução Não está correto, pois a hipótese x não está sendo descartada propriamente.
Na prova acima há duas ramificações, e a hipótese y aparece na ramificação a esquerda,
logo ela deve ser descartada nesta ramificação, e não na direita, como foi feito.
7. Prove os sequentes a seguir utilizando apenas a lógica proposicional minimal:
(a) ¬¬¬ a` ¬ .
Solução
[¬ ]u [ ]v
(¬e )
?
(¬i ) u
¬¬¬ ¬¬ ¬ [¬¬ ]u
(¬e ) (¬e )
? ?
(¬i ) v (¬i ) u
¬ ¬¬¬

(b) ¬¬( ! ) ` (¬¬ ) ! (¬¬ ).


Solução
[ ! ]x [ ]y
v (!e )
[¬ ]
(¬e )
?
(¬i ) y
[¬¬ ]u ¬
(¬e )
?
(¬i ) x
¬¬( ! ) ¬( ! )
(¬e )
?
(¬i ) v
¬¬
(!i ) u
¬¬ ! ¬¬

[ ]y [¬ ]z
(¬e )
?
(?e )
(!i ) y
[ ]w [¬( ! )]x !
x (!i ) ; (¬e )
[¬( ! )] ! ?
(¬e ) (¬i ) z
? ¬¬ ! ¬¬ ¬¬
(¬i ) w (!e )
¬ ¬¬
(¬e )
?
(¬i ) x
¬¬( ! )

9
(c) ¬¬( ^ ) a` ¬¬ ^ ¬¬ .
Solução
[ ^ ]v [ ^ ]y
u (^e ) x (^e )
[¬ ] [¬ ]
(¬e ) (¬e )
? ?
(¬i ) v (¬i ) y
¬¬( ^ ) ¬( ^ ) ¬¬( ^ ) ¬( ^ )
(¬e ) (¬e )
? ?
(¬i ) u (¬i ) x
¬¬ ¬¬
(^i )
¬¬ ^ ¬¬

[ ]x [ ]y
(^i )
^ [¬( ^ )]z
(¬e )
(¬¬ ) ^ (¬¬ ) ?
(^e ) (¬i ) x
¬¬ ¬
(¬e )
(¬¬ ) ^ (¬¬ ) ?
(^e ) (¬i ) y
¬¬ ¬
(¬e )
?
(¬i ) z
¬¬( ^ )

(d) ¬( _ ) a` ¬ ^ ¬ .
Solução
[ ]u [ ]v
(_i ) (_i )
¬( _ ) _ ¬( _ ) _
(¬e ) (¬e )
? ?
(¬i ) u (¬i ) v
¬ ¬
(^i )
¬ ^¬

(¬ ^ ¬ ) (¬ ^ ¬ )
(^e ) x (^e )
¬ [ ] ¬ [ ]y
(¬e ) (¬e )
[( _ )]u ? ?
(_e ) x, y
?
(¬i ) u
¬( _ )

(e) ( ^ ) ^ ' a` ^ ( ^ ').


Solução

( ^ )^'
(^e )
( ^ )^' ^ ( ^ )^'
(^e ) (^e ) (^e )
( ^ ) '
(^e ) (^i )
( ^ ')
(^i )
^ ( ^ ')

10
^ ( ^ ')
(^e )
^ ( ^ ') ( ^ ') ^ ( ^ ')
(^e ) (^e ) (^e )
( ^ ')
(^i ) (^e )
( ^ ) '
(^i )
( ^ )^'

(f) ( _ ) _ ' a` _ ( _ ').


Solução
[ ]w
z (_i )
[ ] ( _ ') [']y
x (_i ) (_i ) (_i )
[( _ )] _ ( _ ') _( _ ') ( _ ')
(_e ) z, w (_i )
( _ )_' _ ( _ ') _( _ ')
(_e ) x, y
_ ( _ ')

[ ]u
x (_i )
[ ] ( _ ) [']v
(_i ) y (_i ) (_i )
( _ ) [( _ ')] ( _ )_' ( _ )_'
(_i ) (_e ) u, v
_ ( _ ') ( _ )_' ( _ )_'
(_e ) x, y
( _ )_'

(g) ! ` _ ! _
Solução

! [ ]x
(!e )
[ ]y
(_i ) (_i )
[ _ ]z _ _
(_e ) x, y
_
(!i ) z
_ ! _

(h) ( ^ ) _ ( ^ ) a` ^ ( _ ) (Distributividade)
Solução

11
[ ^ ]x [ ^ ]t
(^e ) (^e )
[ ^ ]u [ ^ ]v
(^e ) (^e ) (_i ) (_i )
( ^ )_( ^ ) ( ^ )_( ^ ) _ _
(_e ) u, v (_e ) x, t
_
^i
^( _ )

^( _ ) ^( _ )
(^e ) x (^e )
[ ] [ ]y
(^i ) (^i )
^( _ ) ^ ^
(^e ) (_i ) (_i )
_ ( ^ )_( ^ ) ( ^ )_( ^ )
(_e ) x, y
( ^ )_( ^ )

Questões e itens “7g”e “7h”foram baseadas nos itens “b” e “e”da primeira questão em:
http://wiki.di.uminho.pt/twiki/pub/Education/MFES/VF/exerciciosCoq.pdf
8. Prove o sequente a seguir utilizando apenas a lógica proposicional intuicionista:
(a) (¬¬ ) ! (¬¬ ) ` ¬¬( ! ).
Solução
[ ]y [¬ ]z
(¬e )
?
(?e )
(!i ) y
[ ]w [¬( ! )]x !
x (!i ) ; (¬e )
[¬( ! )] ! ?
(¬e ) (¬i ) z
? ¬¬ ! ¬¬ ¬¬
(¬i ) w (!e )
¬ ¬¬
(¬e )
?
(¬i ) x
¬¬( ! )

9. A lógica clássica é obtida acrescentando-se qualquer uma das seguintes regras à lógica
proposicional intuicionista:
[¬ ]u
..
.
?
(PBC) u (LEM)

¬¬
(¬¬e ) (LP)
(( ! ) ! ) !

A quarta regra (LP) é denominada Lei de Peirce. Demonstre que quaisquer três des-
tas regras pode ser provada a partir da quarta regra restante e as regras da lógica
intuicionista, ou seja:

12
(a) Adicione a regra (PBC) ao conjunto de regras da lógica proposicional intuicionista.
Com este novo conjunto de regras prove os sequentes correspondentes à lei do
terceiro excluı́do e à eliminação da dupla negação:
i. ` _ ¬
Solução

[ ]v
(_i )
_¬ [¬( _ ¬ )]u
(¬e )
?
(¬i ) v
¬
(_i )
_¬ [¬( _ ¬ )]u
(¬e )
?
(PBC) u

ii. ¬¬ `
Solução

¬¬ [¬ ]u
(¬e )
?
(PBC) u

iii. ` (( ! ) ! ) !
Solução
[¬ ]u
(!i ) ;
¬ !¬ [¬ ]v
(!e )
¬ [ ]w
(¬e )
?
(PBC) v
(!i ) w
[(( ! ) ! )]x !
(!e )
[¬ ]u
(¬e )
?
(PBC) u
(!i ) x
(( ! )! )!

(b) Adicione a regra (¬¬e ) ao conjunto de regras da lógica proposicional intuicionista.


Com este novo conjunto de regras prove:
i. ` _ ¬
Solução

13
[ ]v
(_i )
_¬ [¬( _ ¬ )]u
(¬e )
?
(¬i ) v
¬
(_i )
_¬ [¬( _ ¬ )]u
(¬e )
?
(¬i ) u
¬¬( _ ¬ )
(¬¬e )

ii. ¬ ! ? `
Solução

¬ !? [¬ ]u
(!e )
?
(¬i ) u
¬¬
(¬¬e )

iii. ` (( ! ) ! ) !
Solução

[ ]1 [¬ ]y
(¬e )
?
(?e )
(!i ) x
! [( ! ) ! ]z
(!e )
[¬ ]y
(¬e )
?
(¬i ) y
¬¬
(¬¬e )
(!i ) z
(( ! ) ! ) !

(c) Adicione a regra (LEM) ao conjunto de regras da lógica proposicional intuicio-


nista. Com este novo conjunto de regras prove:
i. ¬ ! ? `
Solução

14
¬ !? [¬ ]u
(!e )
?
(LEM) (?e )
_¬ [ ]v
(_e ) v, u

ii. ¬¬ `
Solução

¬¬ [¬ ]u
(¬e )
?
(LEM) (?e )
_¬ [ ]v
(_e ) v, u

iii. ` (( ! ) ! ) !
Solução

[¬ ]x [ ]y
(¬e )
?
(?e )
(!i ) y
! [( ! ) ! ]w
(LEM) (!e )
_¬ [ ]z
(_e ) x, z
(!i ) w
(( ! ) ! ) !

(d) Adicione a regra (LP) ao conjunto de regras da lógica proposicional intuicionista.


Com este novo conjunto de regras prove:
i. ¬ ! ? `
Solução
[ ! ¬ ]x [ ]y
(!e )
¬ ¬ !?
(!e )
?
(¬i ) y
¬ !? ¬
(!e )
?
(?e )
(!i ) x
(( ! ¬ ) ! ) ! ( !¬ )!
(!e )

15
ii. ¬¬ `
Solução

[ ! (¬ )]x ¬¬
(MT)
¬¬ ¬
(¬e )
?
(?e )
(!i ) x
(( ! ¬ ) ! ) ! ( !¬ )!
(!e )

iii. ` _ ¬
Solução
[ ]x
y (_i )
[( _ ¬ ) ! ¬ ] _¬
(!e )
[ ]x ¬
(¬e )
?
(¬i ) x
¬
(_i )

(!i ) y
((( _ ¬ ) ! ¬ ) ! ( _ ¬ )) ! ( _ ¬ ) ((( _ ¬ ) ! ¬ ) ! ( _ ¬ ))
(!e )

10. Construa provas para todas as variantes das regras (MT) e (CP) e indique quais de-
rivações são da lógica clássica e quais da lógica intuicionista proposicional:

± !± ⌥ ±/ ± ! ±/ ⌥
(MT1 e 2 ) (CP1,2,3 e 4 )
⌥ ⌥/ ± ! ⌥/ ⌥

Solução

16
Intuicionista
]
(¬e )
! [ ]x
(!e )
¬ ?
(¬i ) x
¬

Clássica
¬ !¬ [¬ ]x
(!e )
¬
(¬e )
?
(PBC) x

Intuicionista
! [¬ ]u
(MT)
¬
(!i ) u
¬ !¬

Clássica
[ ]u
(¬¬i )
¬ !¬ ¬¬
(MT)
¬¬
(¬¬e )
(!i ) u
!

Intuicionista
!¬ [ ]x
(!e )
¬ [ ]y
(¬e )
?
(¬i ) x
¬
(!i ) y

Clássica
¬ ! [¬ ]x
(!e )
[¬ ]y
(¬e )
?
(PBC) x
(!i ) y
¬ !

11. Construa deduções para provar os sequentes a seguir e e indique se foi utilizada a lógica

17
minimal, intuicionista ou clássica:

(a) _ a` ¬(¬ ^ ¬ ).
Minimal
[¬ ^ ¬ ]u [¬ ^ ¬ ]u
(^e ) (^e )
¬ [ ]x ¬ [ ]y
(¬e ) (¬e )
_ ? ?
(_e ) x, y
?
(¬i ) u
¬(¬ ^ ¬ )

Clássica
[ ]u [ ]v
(_i ) (_i )
[¬( _ )]w _ [¬( _ )]w _
(¬e ) (¬e )
? ?
(¬i ) u (¬i ) v
¬ ¬
(^i )
¬(¬ ^ ¬ ) ¬ ^¬
(¬e )
?
(PBC) w
_

(b) ^ a` ¬(¬ _ ¬ ).
Minimal
^ ^
(^e ) x (^e )
[¬ ] [¬ ]y
(¬e ) (¬e )
[¬ _ ¬ ]u ? ?
(_e ) x, y
?
(¬i ) u
¬(¬ _ ¬ )

18
Clássica
[ ]z [ ]x
(^i )
^ ¬( ^ )
(¬e )
?
(¬i ) z
¬ [¬ ]y
((LEM)) (_i ) (_i )
_¬ ¬ _¬ ¬ _¬
(_e ) x, y
¬(¬ _ ¬ ) ¬ _¬
(¬e )
?
(PBC) u
^

(c) ' ! a` (¬') _


Clássica
[']x '!
(!e )
[¬']y
(LEM) (_i ) (_i )
' _ ¬' ¬' _ ¬' _
(_e ) x, y
¬' _

Intuicionista
[']w [¬']x
(¬e )
?
(?e )
(¬') _ [ ]y
(_e ) x, y
(!i ) w
'!

(d) ' ^ a` ¬(' ! ¬ )


Intuicionista
'^
(^e )
'^ ' [' ! ¬ ]x
(^e ) (!e )
¬
(¬e )
?
(¬i ) x
¬(' ! ¬ )

19
Clássica

[']x [¬']y
(?e )
?
(?e )
¬ [¬ ]z
(!i ) x (!i ) ;
¬(' ! ¬ ) '!¬ ¬(' ! ¬ ) '!¬
(¬e ) (¬e )
? ?
(PBC) y (PBC) z
'
(^i )
'^

(e) ' _ a` (¬') !


Clássica

[¬']x (¬') !
(!e )
[']y
(LEM) (_i ) (_i )
' _ ¬' '_ '_
(_e ) x, y
'_
Intuicionista

[¬']w [']x
(¬e )
?
(?e )
'_ [ ]y
(_e ) x, y
(!i ) w
(¬') !

12. Prove os sequentes a seguir utilizando o Cálculo de Gentzen e indique se foi utilizada
a lógica intuicionista ou clássica:

(a) ^ ` . Intucionista

)
(L^ )
^ )

(b) ¬( _ ) ` (¬ ^ ¬ ). Clássica

20
) )
(R_ ) (R_ )
) _ ) _
(R! ) (R! )
)¬ , _ )¬ , _
(R^ )
) (¬ ^ ¬ ), _ ? ) (¬ ^ ¬ )
(L! )
¬( _ ) ) (¬ ^ ¬ )

(c) ¬¬( ^ ) ` ¬¬ ^ ¬¬ . Clássica


) )
(L^ ) (L^ )
^ ,) ^ ,? ) ^ ,) ^ ,? )
(L! ) (L! )
^ ,¬ ) ^ ,¬ )
(L! ) (R! )
^ ) ¬¬ ^ ) ¬¬ H
(R^ )
^ ) ¬¬ ^ ¬¬
(R! )
) ¬( ^ ), ¬¬ ^ ¬¬ ? ) ¬¬ ^ ¬¬
(L! )
¬¬( ^ ) ) ¬¬ ^ ¬¬

(d) ¬( _ ) a` ¬ ^ ¬ . Clássica

) )
(R_ ) (R_ )
) _ ) _
(R! ) (R! )
) _ ,¬ ) _ ,¬
(R^ )
) _ ,¬ ^ ¬ ?)¬ ^¬
(R! )
¬( _ ) ) ¬ ^ ¬
Intucionista

) ?, ) ) ?, )
(L! ) (L! )
¬ , ) ¬ , )
(L ) (R^ )
¬ ^¬ , ) ^ ¬ ^¬ , )
(L_ )
¬ ^¬ , _ )
(R! )
¬ ^ ¬ ) ¬( _ )

(e) ( ! ) ^ ( ! ) ` ( ^ ) ! . Clássica

) , , )
(L! )
! , )
(L^ )
! , ^ )
(L^ )
( ! ) ^ ( ! ), ^ )
(R! )
( ! )^( ! ))( ^ )!

21
(f) ( ! ) ` (¬ ! ¬ ). Clássica

) , , )
(L! )
! , ) ! , ?, )
(L! )
! ,¬ , )
(R! )
! ,¬ ) ¬
(R! )
! )¬ !¬

(g) ` ( _ ) $ ¬(¬ ^ ¬ ). Clássica


) ,? ) ) ,? ) ) )
(R! ) (R! ) (R_ ) (R_ )
,¬ ) ,¬ ) ) _ ) _
(L^ ) (L^ ) (R! ) (R! )
,¬ ^ ¬ ) ,¬ ^ ¬ ) )¬ , _ )¬ , _
(L_ ) (R^ )
_ ,¬ ^ ¬ ) )¬ ^¬ , _ ?) _
(R! ) (L! )
_ ) ¬(¬ ^ ¬ ) ¬(¬ ^ ¬ ) ) _
(R! ) (R! )
) ( _ ) ! ¬(¬ ^ ¬ ) ) ¬(¬ ^ ¬ ) ! ( _ )
(R^ )
) ( _ ) $ ¬(¬ ^ ¬ )

(h) ` (¬¬ ! ¬¬ ) ! ¬¬( ! ). Intucionista

) ?, )
(L! )
, ) ¬ , )
(R! ) (Rw)
) ! ?, ) ¬ , )
(L! ) (R! )
¬( ! ), ) ¬ ) ! ?, ¬ )
(R! ) (L! )
¬( ! ) ) ¬ ?, ¬( ! ) ) ¬( ! ), ¬ )
(L! ) (R! )
¬¬ , ¬( ! ) ) ¬( ! ) ) ¬¬
(L! )
¬¬ ! ¬¬ , ¬( ! ) )
(R! )
¬¬ ! ¬¬ ) ¬¬( ! )
(R! )
) (¬¬ ! ¬¬ ) ! ¬¬( ! )

(i) ( ^ ( _ )) ` (( ^ ) _ ( ^ )). Clássica

, ) , ^ , ) , ^ , ) ^ , , ) ^ ,
(R^ ) (R^ )
, ) ^ , ^ , ) ^ , ^
(L_ )
, _ ) ^ , ^
(L^ )
, ^( _ )) ^ , ^
(L^ )
^ ( _ ), ^ ( _ ) ) ^ , ^
(LC)
^( _ )) ^ , ^
(R_ )
^ ( _ ) ) ^ ,( ^ ) _ ( ^ )
(R_ )
^ ( _ ) ) ( ^ ) _ ( ^ ), ( ^ ) _ ( ^ )
(RC)
^( _ ))( ^ )_( ^ )

22
(j) p _ q ` ¬(¬p ^ ¬q) Intucionista

p, ?, ¬q ) p, ¬q ) p q, ¬p, ? ) q, ¬p ) q
p, ¬p, ¬q ) (L! ) q, ¬p, ¬q ) (R! )
p _ q, ¬p, ¬q ) (L _ )
p _ q, ¬p, ¬p ^ ¬q ) (L^ )
p _ q, ¬p ^ ¬q, ¬p ^ ¬q ) (L^ )
p _ q, ¬p ^ ¬q ) (LC)
(R! )
p _ q ) ¬(¬p ^ ¬q)

(k) ¬(¬p ^ ¬q) ` p _ q Clássica


p ) p, q q ) p, q
) p, q, ¬p (R! ) ) p, q, ¬q (R! )
) p, q, ¬p ^ ¬q (L^ ) ? ) p, q
(L! )
¬(¬p ^ ¬q) ) p, q
(R_ )
¬(¬p ^ ¬q) ) p, p _ q
(R_ )
¬(¬p ^ ¬q) ) p _ q, p _ q
(RC)
¬(¬p ^ ¬q) ) p _ q

13. Apresente provas minimais ou intuicionistas para os sequentes:

(a) ` ¬¬( _ ¬ );
(b) ` ¬¬(¬¬ ! );
(c) ` ¬¬((( ! ) ! ) ! ).

(a) Para ` ¬¬( _ ¬ ), temos a seguinte derivação no cálculo de sequentes minimal:

' ) ' (Ax)


(R_ )
' ) ' _ ¬' ?, ' ) ? (L? )
(L! )
¬(' _ ¬'), ' ) ?
(R! )
¬(' _ ¬') ) ¬'
(R_ )
¬(' _ ¬') ) ' _ ¬' ?, ¬(' _ ¬') ) ? (L? )
(L! )
¬(' _ ¬'), ¬(' _ ¬') ) ?
(LC)
¬(' _ ¬') ) ?
(R! )
) ¬¬(' _ ¬')

23
(b) Para ` ¬¬(¬¬ ! ), temos a seguinte derivação no cálculo de sequentes intui-
cionista, mas note que pode ser derivado utilizando o cálculo minimal:

', ¬¬' ) ' (Ax)


(R! )
' ) ¬¬' ! ' ? ) ? (Ax)
(L! )
¬(¬¬' ! '), ' ) ?
(R! )
¬(¬¬' ! ') ) ¬' ?) (L? )
(L! )
¬(¬¬' ! '), ¬¬' )
(RW)
¬(¬¬' ! '), ¬¬' ) '
(R! )
¬(¬¬' ! ') ) ¬¬' ! ' ? ) ? (Ax)
(L! )
¬(¬¬' ! '), ¬(¬¬' ! ') ) ?
(LC)
¬(¬¬' ! ') ) ?
(R! )
) ¬¬(¬¬' ! ')

(c) ` ¬¬((( ! ) ! ) ! ):

]
(¬e )
]
(¬e )
[¬ ]u
(!i ) ;
¬ !¬ [¬ ]v
(!e )
¬ [¬¬ ]w ?
(¬i ) v
¬¬
[¬¬(( ! ) ! )]x ¬¬ ! ¬¬
(!i ) w
.. ..
. (Ex. 7 b.) . (Ex. 8 a.)
. .
¬¬( ! ) ! ¬¬ ¬¬( ! )
(!e )
[¬ ]u ¬¬ ?
(¬i ) u
¬¬
¬¬(( ! ) ! ) ! ¬¬
(!i ) x
..
.. (Ex. 8 a.)
¬¬((( ! ) ! ) ! )

14. Prove o teorema de Glivenko: Sejam um conjunto finito de fórmulas, e ' uma fórmula
qualquer da lógica proposicional. Prove que se ' tem uma prova clássica a partir de
então ¬¬' tem uma prova intuicionista a partir de , ou seja, se `c ' então
`i ¬¬'
Solução
Indução na derivação `c '. Considerando que a negação pode ser vista como uma
abreviação da implicação ao absurdo, i.e. ¬' ⌘ ' ! ?, os casos (¬i ) e (¬e ) não pre-
cisam ser considerados separadamente (complete!). Considere a última regra aplicada
na prova `c ':

24
• (^i ): Neste caso, temos que ' é da forma '1 ^ '2 e a prova `c ' tem a seguinte
estrutura:

'1 '2
(^i )
'1 ^ '2

Por hipótese de indução, temos que `i ¬¬'i (i = 1, 2), e concluı́mos como


segue:

['1 ]y ['2 ]z
(^i )
[¬('1 ^ '2 )]x '1 ^ '2
(¬e )
r
¬¬'
(h.i.)
1
?
¬'1
(¬i ) y
(¬e )
r
¬¬'
(h.i.)
2
?
¬'2
(¬i ) z
(¬e )
?
(¬i ) x
¬¬('1 ^ '2 )

• (^e ): Neste a prova `c ' tem a seguinte estrutura:

'^
(^e )
'

Por hipótese de indução temos que `i ¬¬(' ^ ), e concluı́mos como segue:

25
r (h.i.)

¬¬(' ^ )
Exercı́cio (6.c)
(¬¬') ^ (¬¬ )
(^e )
¬¬'

• (_i ): Neste caso, temos que ' é da forma '1 _ '2 e a prova `c ' tem a seguinte
estrutura:

'1
(_i )
' 1 _ '2

Por hipótese de indução, temos que `i ¬¬'i (i = 1, 2), e concluı́mos como


segue:

['1 ]y
(_i )
[¬('1 _ '2 )]x '1 _ '2
(¬e )
r (h.i.)
¬¬' 1
?
¬'1
(¬i ) y
(¬e )
?
(¬i ) x
¬¬('1 _ '2 )

• (_e ): Neste caso, temos que ' é da forma '1 _ '2 e a prova `c ' tem a seguinte
estrutura:

['1 ]x , ['2 ]y ,

('1 _ '2 ) '3 '3


(_e ) x, y
'3

Por hipótese de indução, temos que `i ¬¬('1 _ '2 ) e , ['i ] `i ¬¬'3 (i = 1, 2)


e concluı́mos como segue:

26
['1 ]y ['2 ]z
r
¬¬'
(h.i.)
3
r
¬¬'
(h.i.)
3 ['1 _ '2 ]x
(_e ) y, z
[¬'3 ]w ¬¬'3
(¬e )
r (h.i.)
?
(¬i ) x
¬¬('1 _ '2 ) ¬('1 _ '2 )
(¬e )
?
(¬i ) w
¬¬'3

• (!i ) : Neste caso, temos que ' é da forma '1 ! '2 e a prova `c ' tem a
seguinte estrutura:

['1 ]x

'2
(!i )
'1 ! '2

Por hipótese de indução, temos que , '1 `i ¬¬'2 , e concluı́mos como segue:

['1 ]x

[¬'2 ]z
r (h.i.)
¬¬' 2
(¬e )
?
(¬i ) x
[¬¬'1 ]w ¬'1
(¬e )
?
(¬i ) z
¬¬'2
(!i ) w
(¬¬'1 ) ! (¬¬'2 )
Exercı́cio (6.b)
¬¬('1 ! '2 )

• (!e ): Neste caso, temos que ' é da forma '1 ! '2 e a prova `c ' tem a
seguinte estrutura:

'1 ! '2 '1


(!e )
'2

27
Por hipótese de indução, temos que `i ¬¬'1 e `i ¬¬('1 ! '2 ) e concluı́mos
como segue:

['1 ! '2 ]x [¬'2 ]y


r (h.i.)
¬¬' 1 ¬'1
(MT)
(¬e )
r (h.i.)
?
(¬i ), x
¬¬('1 ! '2 ) ¬('1 ! '2 )
(¬e )
?
(¬i ), y
¬¬'2

• (PBC): Neste caso, temos que:

[¬']x

?
(PBC) x
'

Por hipótese de indução, temos que , ¬' `i ¬¬?, e concluı́mos como segue:

[¬']y
r
¬¬?
(i.h.)
[?]x
¬?
(¬i ) x
(¬e )
?
(¬i ) y
¬¬'

15. Conjuntos Completos de Conectivos: Seja ' uma fórmula da lógica proposicional.

(a) Prove, sem utilizar tabela de verdade, que existe uma fórmula '0 equivalente a '
construı́da apenas com os conectivos _ e ¬, e com os sı́mbolos proposicionais que
ocorrem em '.
Indução sobre a estrutura de ':
• Se ' é uma variável proposicional então tome '0 = '.
• Se ' = ¬ então, por hipótese de indução, existe uma fórmula 0 equivalente
a construı́da apenas com os conectivos _ e ¬, e os sı́mbolos proposicionais
que ocorrem em . Neste caso, basta tomar '0 = ¬ 0 , e estamos prontos.

28
• Se ' = 1 _ 2 então, por hipótese de indução, existem fórmulas i0 (i = 1, 2),
equivalentes respectivamente a i (i = 1, 2), e construı́das apenas com os
conectivos _ e ¬, e os sı́mbolos proposicionais que ocorrem em i (i = 1, 2).
Neste caso, basta tomar '0 = 10 _ 20 e estamos prontos.
• Se ' = 1 ^ 2 então, por hipótese de indução, existem fórmulas i0 (i = 1, 2),
equivalentes respectivamente a i (i = 1, 2), e construı́das apenas com os
conectivos _ e ¬, e os sı́mbolos proposicionais que ocorrem em i (i = 1, 2).
Por um exercı́cio anterior sabemos que ' a` ¬(¬ 1 _ ¬ 2 ). Então basta
tomar '0 = ¬(¬ 10 _ ¬ 20 ), e estamos prontos.
• Por fim, se ' = 1 ! 2 então, por hipótese de indução, existem fórmulas
0
i (i = 1, 2), equivalentes respectivamente a i (i = 1, 2), e construı́das apenas
com os conectivos _ e ¬, e os sı́mbolos proposicionais que ocorrem em i (i =
1, 2). Por um exercı́cio anterior sabemos que ' a` (¬ 1 ) _ 2 . Então basta
tomar '0 = (¬ 10 ) _ 20 e estamos prontos.
(b) Prove, sem utilizar tabela de verdade, que existe uma fórmula '0 equivalente a
' construı́da apenas com os conectivos ! e ¬, e com os sı́mbolos proposicionais
que ocorrem em '.
Indução sobre a estrutura de ':
• Se ' é uma variável proposicional então tome '0 = '.
• Se ' = ¬ então, por hipótese de indução, existe uma fórmula 0 equivalente
a construı́da apenas com os conectivos ! e ¬, e os sı́mbolos proposicionais
que ocorrem em .
• Se ' = 1 _ 2 então, por hipótese de indução, existem fórmulas i0 (i = 1, 2),
equivalentes respectivamente a i (i = 1, 2), e construı́das apenas com os
conectivos ! e ¬, e os sı́mbolos proposicionais que ocorrem em i (i = 1, 2).
Por um exercı́cio anterior sabemos que ' a` (¬ 1 ) ! 2 . Então basta tomar
'0 = (¬ 10 ) ! 20 , e estamos prontos.
• Se ' = 1 ^ 2 então, por hipótese de indução, existem fórmulas i0 (i = 1, 2),
equivalentes respectivamente a i (i = 1, 2), e construı́das apenas com os
conectivos ! e ¬, e os sı́mbolos proposicionais que ocorrem em i (i = 1, 2).
Por um exercı́cio anterior sabemos que ' a` ¬( 1 ! ¬ 2 ). Então basta
tomar '0 = ¬( 10 ! ¬ 20 ), e estamos prontos.
• Por fim, se ' = 1 ! 2 então, por hipótese de indução, existem fórmulas
0
i (i = 1, 2), equivalentes respectivamente a i (i = 1, 2), e construı́das apenas
com os conectivos ! e ¬, e os sı́mbolos proposicionais que ocorrem em i (i =
1, 2). Neste caso, basta tomar '0 = 10 ! 20 , e estamos prontos.

29

Você também pode gostar