Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Logica Computacional - Exercıcios
DCC-FCUP
2019/20
Logica Proposicional: semantica (Aulas 1, 2 e 3)
1. Considerando as conven�c~oes de prioridades das opera�c~oes l�ogicas dadas no curso(¬ < ∧ < ∨ <→ e →associativa �a direita), para cada uma das f�ormulas seguintes desenha a sua �arvore sint�actica (abstracta)
e indica quais as suas subf�ormulas:
(a) p∧ ¬q→ ¬p;
(b) p∧ (¬q→ ¬p);
(c) ¬(s→ (¬(p→ (q∨ ¬s))));
(d) p→ (¬q∨ (q→ p));
(e) (p→ q)∧ (¬r→ (q∨ (¬p∧ r))).
2. Sendo v(p) = V e v(q) = F determina se |=v φ sendo φ cada uma das seguintes f�ormulas:
(a) (p∨ q)→ (p∧ q);
(b) (p∨ ¬q)∧ (¬p∧ q);
(c) (p→ q)∧ (p→ ¬q);
(d) p→ (q→ (p∨ q));
(e) ((p→ q)→ p)→ p;
3. Mostra a equivalencia semantica das propriedades das opera�c~oes l�ogicas dadas no curso:
(a) comutatividade e associatividade de ∧ e ∨;
(b) Leis de DeMorgan;
(c) distributividade de ∧ em rela�c~ao a ∨ (e vice-versa);
(d) idempotencias de ∧ e ∨;
(e) dupla nega�c~ao.
4. Quais das seguintes f�ormulas s~ao semanticamente equivalentes a p→ (q∨ r)?
(a) q∨ (¬p∨ r)
(b) (q∧ ¬r)→ p
(c) (p∧ ¬r)→ q
(d) (¬q∧ ¬r)→ ¬p
5. Das f�ormulas seguintes indica, justificando, se s~ao tautologias, satisfaz��veis ou contradi�c~oes. Come�ca
por simpli�car as f�ormulas usando equivalencias semanticas.
(a) (p→ (q∨ r))∨ (r→ ¬p);
(b) p→ (q→ ¬(¬q→ ¬p));
(c) (p→ q)→ (¬p→ ¬q);
(d) p→ (q→ (p∨ q));
(e) (p→ q)∧ ¬(¬(p→ s)→ ¬(q→ s));
(f) (q→ r)→ ((¬q→ ¬p)→ (p→ r));
(g) (p∨ q)→ (q→ (p∧ q));
2
(h) ¬(p→ q)→ p;
(i) (p→ s)→ (((p→ (q→ s))→ ((p→ q)→ s)));
(j) ((p→ q)→ p)→ p;
(k) (p→ q)∧ ¬((q→ s)→ (p→ s));
(l) (p→ q)∧ (¬r→ (q∨ (¬p∧ r)));
(m) ((p∨ q)→ (s∧ t))→ ((p→ s)∧ (q→ t));
(n) (p∨ q)∧ r)↔ ((p∧ r)∨ (q∧ r));
(o) (p↔ q)∧ (q↔ r)∧ (¬(p↔ r)).
6. 1 Numa ilha alguns dos seus habitantes, chamados \cavaleiros", dizem sempre a verdade, e outros
chamados \vagabundos" mentem sempre. Assumimos que um qualquer habitante desta ilha cai numa
ou na outra classe.
(a) Dois habitantes, A e B est~ao num jardim. A faz a seguinte a�rma�c~ao: \Pelo menos um de n�os �e
um vagabundo."
O que s~ao A e B?
(b) Dois habitantes, A e B est~ao num jardim. Suponhamos que A diz: \Eu sou um vagabundo ou B
�e um cavaleiro." O que s~ao A e B?
(c) Dois habitantes, A e B est~ao num jardim. Suponhamos que A diz: \Eu sou um vagabundo, ou
dois mais dois �e igual a cinco." O que podemos concluir?
(d) Dois habitantes da ilha, A e B estavam juntos num jardim. Suponhamos que A diz: \Eu sou um
vagabundo, mas B n~ao."
O que s~ao A e B?
(e) Tres habitantes, A, B e C juntam-se. A e B fazem as seguintes a�rma�c~oes:
A: Todos n�os somos vagabundos.
B: Exactamente um de n�os �e um cavaleiro.
O que s~ao A, B e C?
(f) Suponhamos que no problema anterior, A e B dizem o seguinte:
A: N�os somos todos vagabundos.
B: Exactamente um de n�os �e um vagabundo.
Podemos determinar o que �e B? Podemos determinar o que �e C?
(g) Temos tres personagens, A, B e C (cavaleiros ou vagabundos). A diz: \B e C s~ao do mesmo
tipo". Algu�em pergunta ent~ao a C: \A e B s~ao do mesmo tipo?"
O que �e que respondeu C?
(h) Mais uma vez deparamo-nos com tres habitantes, A, B e C. Dois deles s~ao do mesmo tipo
(cavaleiros ou vagabundos). A e B fazem as seguintes a�rma�c~oes:
A: B �e um vagabundo.
B: A e C s~ao do mesmo tipo.
O que �e C?
1Extra��do de What is the name of this book?, R. Smullyan (tradu�c~ao Rog�erio Reis).
3
(i) Tres dos habitantes da ilha, A, B e C, estavam juntos num jardim. Um estrangeiro que por ali
passava perguntou a A, \Tu �es um cavaleiro ou um vagabundo?" A respondeu, mas de tal forma
que o estrangeiro n~ao conseguiu entender a resposta. Perguntou ent~ao, o estrangeiro, a B, \O que
foi que A respondeu?" B responde: \A disse que era um vagabundo." Nessa altura C exclama:
\N~ao acredites em B, ele est�a a mentir!" O que s~ao B e C?
(j) Nessa ilha existe uma existe uma bifurca�c~ao duma estrada, conduzindo um dos caminhos �a cidade
mais pr�oxima. Se um estrangeiro quiser saber qual �e esse caminho, qual deve ser a pergunta que
deve fazer a um habitante que esteja na bifurca�c~ao, de tal modo que ele possa responder com
um simples \sim" ou \n~ao". Sugestao: A pergunta deve relacionar (por equivalencia) o que se
pretende saber com a determina�c~ao da classe do habitante.
(k) Uma minha aventura Este �e um problema invulgar, e al�em disso �e inspirado num caso real. Uma
vez quando na ilha dos cavaleiros e dos vagabundos, encontrei dois habitantes que descansavam
debaixo de uma �arvore. Aproximei-me e perguntei a um deles: \Algum de voces �e um cavaleiro?".
Ele respondeu, e com isso eu �quei a saber a resposta �a minha pergunta.
A pessoa que interpelei era um cavaleiro ou um vagabundo? E o outro? Posso garantir que dei a
informa�c~ao necess�aria para resolver o problema.
(l) Suponhamos que visitavas a ilha dos cavaleiros e vagabundos e encontrava dois dos seus habitantes
a descansar, pregui�cosamente, ao sol. Perguntas a um deles se o outro �e um cavaleiro e recebes a
resposta (sim ou n~ao). Nessa altura perguntas ao outro se o primeiro �e um cavaleiro e recebes a
respectiva resposta (sim ou n~ao).
As duas respostas s~ao necessariamente iguais?
7. [Cavaleiros, Vagabundos e Normais.] Um tipo igualmente fascinante de problemas trata de tres tipos
de pessoas: cavaleiros, que dizem sempre verdade; vagabundos, que dizem sempre mentira; e normais,
que por vezes mentem, por vezes dizem a verdade.
(a) Dadas tres pessoas, A, B e C, uma das quais �e um cavaleiro, outra um vagabundo e outra um
normal (n~ao necessariamente nesta ordem). Fazem as seguintes declara�c~oes:
A: Eu sou normal.
B: Isso �e verdade!
C: Eu n~ao sou normal.
O que s~ao A, B e C?
(b) Eis um invulgar! Duas pessoas, A e B (qualquer uma das quais pode ser cavaleiro, vagabundo ou
normal), fazem as seguintes declara�c~oes:
A: B �e um cavaleiro.
B: A n~ao �e um cavaleiro.
Prova que pelo menos um deles diz a verdade, mas n~ao �e um cavaleiro.
(c) Desta vez A e B dizem o seguinte:
A: B �e um cavaleiro.
B: A �e um vagabundo.
Prova que um deles diz a verdade mas n~ao �e um cavaleiro, ou um deles mente mas n~ao �e um
vagabundo.
4
8. Tres indiv��duos, A, B, e C, suspeitos de um crime, fazem os seguintes depoimentos, respectivamente:
A: B �e culpado, mas C �e inocente;
B: Se A �e culpado, ent~ao C �e culpado;
C: Eu estou inocente, mas um dos outros dois �e culpado.
(a) Os tres depoimentos s~ao compat��veis?
(b) Algum dos depoimentos �e consequencia dos outros dois?
(c) Supondo os tres r�eus inocentes, quem mentiu?
(d) Supondo que todos disseram a verdade, quem �e inocente e quem �e culpado?
(e) Supondo que os inocentes disseram a verdade e os culpados mentiram, quem �e inocente e quem
�e culpado?
9. A proposi�c~ao \Smith foi o assassino" �e ou n~ao uma consequencia das proposi�c~oes \se Jones n~ao en-
controu Smith na noite passada, ent~ao Smith foi o assassino ou Jones mente", \se Smith n~ao foi o
assassino, ent~ao Jones n~ao encontrou Smith na noite passada e o assassinio sucedeu depois da meia
noite" e \se o assassinio sucedeu depois da meia noite, ent~ao Smith foi o assassino ou Jones mente".
10. Ser�a poss��vel cumprir simultaneamente todas as instru�c~oes seguintes?
– se caminhar em silencio ent~ao n~ao tenha um rev�olver carregado, ou use �oculos escuros;
– se tiver um rev�olver carregado, ent~ao caminhe em silencio ou n~ao use �oculos escuros;
– se usar �oculos escuros ou tiver um rev�olver carregado, ent~ao caminhe em silencio.
– caminhe em silencio ou tenha um rev�olver carregado, e se tiver um rev�olver carregado ent~ao n~ao
caminhe em silencio;
11. Imagina as seguintes regras para escolher disciplinas de op�c~ao para o pr�oximo ano lectivo:
R1: Se se escolher Computa�c~ao Gr�a�ca, ent~ao escolha tamb�em Programa�c~ao Num�erica ou �Algebra.
R2: Escolher �Algebra se e s�o se escolher Computa�c~ao Gr�a�ca ou Programa�c~ao Num�erica.
R3: N~ao se pode escolher as tres, mas tem que se escolher pelo menos uma das tres disciplinas.
R4: Se n~ao se escolher �Algebra, ent~ao escolher as outras duas.
1. �E poss��vel satisfazer este conjunto de regras?
2. Ser�a que a regra R4 �e realmente necess�aria? E a regra R1?
3. Indica uma regra simples, mas equivalente a este conjunto (confuso) de quatro regras.
12. Justi�ca a veracidade ou falsidade de cada uma das a�rma�c~oes seguintes onde p, q, r e s s~ao vari�aveis
proposicionais. Nota: sem construir a tabela de verdade.
(a) |= (p→ (((q→ p)→ p)→ r).
(b) |= (p→ (q→ s))→ (q→ (p→ s)).
(c) |= (p→ (q→ r))→ ((p→ q)→ (p→ r)).
(d) |= ((p∧ q)→ (s∨ t))→ ((p→ s)∨ (q→ t)).
(e) |= (p∧ ¬p)→ (p∧ ¬r).
5
(f) |= (q∨ ¬r)→ (q∧ ¬q).
(g) {(p→ q)∨ r, ((p→ q)∨ r)→ ¬r, (p→ q)→ (q→ r)} |= ¬q.
(h) {(p∨ q)→ r)} |= (p→ r)∨ (q→ r).
(i) {p∨ ¬q,¬r→ ¬¬q, r→ ¬s,¬¬s} |= p.
(j) {¬(q∧ r), q} |= ¬r.
(k) {¬q→ r, q} |= ¬r.
(l) {¬p∨ ¬q∨ r, q∨ r, p} |= r.
(m) {(p∧ q)→ r,¬r} |= p∨ q.
(n) {(p∧ q)→ r, r} |= ¬p.
(o) {p,¬p→ q, q→ ¬p} |= ¬q.
(p) {p∧ q} |= (p→ ¬q)∧ (¬q→ p).
13. Justi�ca a veracidade ou falsidade de cada uma das a�rma�c~oes seguintes, onde Γ e Σ representam
conjuntos de f�ormulas e φ,ψ, θ, γ representam f�ormulas da l�ogica proposicional. Caso a a�rma�c~ao seja
falsa deves dar um contra-exemplo indicando valores particulares dos conjuntos ou das f�ormulas para
as quais a a�rma�c~ao �e falsa. Caso a a�rma�c~ao seja verdade deves justi�car usando as de�ni�c~oes.
(a) |= (θ∨ φ)→ (¬θ→ φ).
(b) {φ→ ψ,ψ→ φ} |= (φ∨ψ)→ (φ∧ψ).
(c) {ψ→ φ, γ→ θ} |= ψ∨ γ→ φ∧ θ.
(d) {ψ→ (¬φ∨ γ),¬γ} |= ¬φ→ ¬ψ.
(e) Se φ,ψ |= θ→ γ e φ |= θ ent~ao φ,ψ |= γ.
(f) Se Γ |= θ e Γ � Σ, ent~ao Σ |= θ.
(g) Se Σ |= θ e Γ � Σ, ent~ao Γ |= θ.
(h) Se Γ |= θ e Σ |= θ, ent~ao Γ \ Σ |= θ.
(i) Se Γ |= θ e Σ � Γ ent~ao Σ \ Γ |= θ.
(j) Se Σ |= θ ent~ao Σ \ Γ |= θ.
(k) Se Σ |= θ e Σ � Γ ent~ao Σ [ Γ |= θ.
(l) Se Γ [ {φ} �e satisfaz��vel ent~ao Γ [ {¬φ} n~ao �e satisfaz��vel.
(m) φ |= ψ→ θ e γ |= ψ se e s�o se φ, γ |= θ.
(n) Se Σ �e um conjunto de f�ormulas satisfaz��vel ent~ao para toda a f�ormula φ, Σ[ {φ} �e satisfaz��vel ou
Σ [ {¬φ} �e satisfaz��vel.
(o) Se Σ |= φ e Γ |= φ ent~ao Σ [ Γ |= φ.
(p) Se Σ �e satisfaz��vel ent~ao existe uma f�ormula φ tal que Σ 6|= φ.
14. Mostra que cada um dos seguintes conjuntos de conectivas s~ao completos:
(a) {~∨,V};
(b) {~∧,F};
(c) {¬,∧}.
6
15. Constr�oi uma f�ormula em forma normal disjuntiva e uma em forma normal conjuntiva, cujas fun�c~oes
de verdade s~ao dadas pelas seguintes tabelas:
(a)
x1 x2 x3 f
V V V F
V V F V
V F V V
V F F F
F V V F
F V F F
F F V V
F F F F
(b)
x1 x2 x3 f
V V V V
V V F F
V F V F
V F F F
F V V V
F V F F
F F V V
F F F F
16. Para cada uma das fun�c~oes de verdade (a), (b) e (c) seguintes, constr�oi uma f�ormula em forma normal
disjuntiva e uma f�ormula em forma normal conjuntiva:
p q r (a) (b) (c)
V V V V F V
V V F V V F
V F V V F V
V F F V V F
F V V F V V
F V F V V F
F F V V F V
F F F V F F
17. Para cada uma das seguintes f�ormulas determina, por equivalencias semanticas e indicando todos o
passos, uma f�ormula equivalente em forma normal disjuntiva e outra em forma normal conjuntiva.
Escreve as f�ormulas em forma conjuntiva como um conjunto de cl�ausulas e cada cl�ausula como um
conjunto de literais.
(a) ¬(p→ (¬(q∧ (¬p→ q))));
(b) p→ (¬q→ ¬(p→ q));
(c) ¬(p→ (¬(q∧ (¬p→ q))));
(d) (p→ q)→ (¬p→ ¬q);
(e) ((p→ q)→ p)→ p;
(f) p→ ¬(q→ ¬(p→ q));
(g) (p→ q)∧ (¬r→ (q∨ (¬p∧ r)));
7
(h) (p→ q)∧ (¬q→ (p∨ ¬q));
(i) p→ (q→ ¬(¬q→ ¬p));
(j) p→ (q→ (p∧ q));
(k) (p→ q)→ (¬p→ ¬q);
(l) ((p∨ q)→ (r∧ s))→ (p∨ ¬r);
(m) (p→ q)∧ ¬((q→ s)→ (p→ s));
18. Escreve um programa para manipular formulas da l�ogica proposicional com as conectivas b�asicas:
nega�c~ao, disjun�c~ao, conjun�c~ao e implica�c~ao.
(a) Dada uma f�ormula deve permitir:
– dada uma valoriza�c~ao das vari�aveis, calcular a valoriza�c~ao da f�ormula
– calcular a tabela de verdade da f�ormula
– determinar se a f�ormula �e satisfaz��vel, contradi�c~ao ou tautologia
– obter uma f�ormula em forma normal conjuntiva equivalente
– obter uma f�ormula em forma normal disjuntiva equivalente
(b) Dadas duas f�ormulas determinar se uma �e consequencia semantica da outra, concluindo se s~ao ou
n~ao equivalentes.
19. Considera o algoritmo de satisfabilidade para f�ormulas de Horn dado no curso.
(a) Descreve o algoritmo em pseudo-c�odigo e implementa-o.
(b) Justi�ca a corre�c~ao do algoritmo, isto �e, que atribui o valor verdade se e s�o se a f�ormula de Horn
�e satisfaz��vel.
(c) Aplica o algoritmo �as seguintes f�ormulas:
– (¬p∨ ¬q)∧ (¬q∨ r)∧ q
– p∧ (¬p∨ q)∧ (¬q∨ p)
– ¬p∧ (¬p∨ q)∧ ¬q
– p∧ (¬p∨ q)∧ ¬r
20. Aplica o algoritmo David-Putman (DLL) aos conjuntos de cl�ausulas seguintes.
(a)
{p∨ q∨ r,¬p∨ ¬q∨ ¬r, p∨ ¬q∨ ¬r, p∨ q∨ ¬r,¬p∨ q,¬p∨ r, p∨ ¬q∨ r}
(b)
{¬p∨ q∨ r, p∨ q∨ r, p∨ q∨ ¬r, p∨ ¬q∨ r, p∨ ¬q∨ ¬r}
(c)
{p∨ ¬q∨ ¬r,¬p∨ q∨ r,¬p∨ q∨ r,¬p∨ q,¬p∨ r}
(d)
{p∨ ¬q∨ r,¬p∨ q∨ r, p∨ ¬q∨ ¬r,¬p∨ q∨ ¬r,¬p∨ ¬q∨ ¬r}
(e)
{p∨ ¬q∨ ¬r,¬p∨ q∨ r,¬p∨ ¬q∨ ¬r,¬p∨ ¬q∨ r,¬p∨ q∨ ¬r, p∨ q∨ ¬r}
21. Implementa o algoritmo de David-Putman para a satisfabilidade de cl�ausulas.
8
Logica Proposicional: sistemas dedutivos (Aulas 4, 5 e 6)
Sistema de Deducao Natural, DN
Todas as dedu�c~oes devem usar o sistema de dedu�c~ao natural DN e a nota�c~ao de Fitch dada nas aulas.
Observacoes para a obtencao de uma deducao duma formula ϕ
� Se a f�ormula ϕ for uma implica�c~ao ψ → θ, supor ψ e deduzir θ; aplicando de seguida a regra da
introdu�c~ao da implica�c~ao.
� Se a f�ormula ϕ for uma nega�c~ao ¬ψ, supor ψ e deduzir F; aplicando de seguida a regra da introdu�c~ao
da nega�c~ao.
� Por redu�c~ao ao absurdo: supor ¬ϕ e deduzir F. Caso haja uma nega�c~ao ¬ψ nas premissas, poder-se-�a
deduzir ψ para obter F.
� Suponhamos que uma das premissas �e ϕ ∨ ψ e se pretende deduzir γ. Podemos: supor ϕ e deduzir
γ, supor ψ e deduzir γ; aplicando de seguida a regra de elimina�c~ao da disjun�c~ao.
� Suponhamos que uma premissa �e ¬ϕ e pretendemos obter F: podemos tentar obter ϕ e aplicar a regra
da introdu�c~ao de F.
� Suponhamos que temos uma implica�c~ao φ→ θ. Podemos entao tentar deduzir φ e aplicar a regra da
elimina�c~ao da implica�c~ao (modus ponens) para obter θ.
Notar que cada passo da dedu�c~ao tem de ser obtido por aplica�c~ao duma regra ou ser uma repeti�c~ao duma
f�ormula j�a deduzida ou uma premissa. Assim cada passo de dedu�c~ao tem de ser ou uma suposi�c~ao ou resultar
da aplica�c~ao duma regra a f�ormulas j�a deduzidas, pelo que n~ao se podem usar "equivalencias semanticas".
22. Indica se as seguintes dedu�c~oes s~ao v�alidas. Em caso a�rmativo indica as regras usadas em cada passo.
Se n~ao for v�alida indica qual o passo em que n~ao est�a correcta e se existe uma dedu�c~ao correcta com
as mesmas premissas e conclus~ao.
a)
1 p ∨ q
2 p
3 p
4 q
5 q
6 p ∧ q
b)
1 (p ∧ q) ∨ r
2 p ∧ q
3 p
4 p ∨ r
5 r
6 p ∨ r
7 p ∧ r
c)
1 ¬(p ∨ ¬q)
2 ¬q
3 p ∨ ¬q
4 F
5 ¬¬q
6 q
9
d)
1 p→ q
2 p
3 q
4 ¬p ∨ q
5 ¬p ∨ q
e)
1 p→ ¬p
2 p
3 ¬p
4 F
5 ¬p
f)
1 ¬p→ ¬q
2 q
3 ¬q
4 F
5 p
6 q→ p
23. Mostra que:
(a) (p∧ q)→ r, p ` q→ r
(b) q→ p, q→ ¬p ` ¬q
(c) (¬p∨ ¬q)∨ r, q∨ r, p ` r
(d) p∨ ¬q,¬r→ q, r→ ¬s, s ` p
24. Mostra que:
(a) δ→ (ϕ→ ψ),¬ψ, δ ` ¬ϕ
(b) (δ ∧ ¬ϕ)→ ψ,¬ψ, δ ` ϕ
(c) ` (ϕ ∨ ψ)→ (ψ ∨ ϕ)
(d) ` (δ→ ψ)→ ((¬δ→ ¬ϕ)→ (ϕ→ ψ))
(e) ` (δ→ (ϕ→ ψ))→ (ϕ→ (δ→ ψ))
(f) ` (δ∧ϕ)→ ϕ
(g) ` δ→ (δ∨ϕ)
(h) ` δ→ (¬ϕ→ ¬(δ→ ϕ))
(i) ` (ϕ→ δ)→ ((¬ϕ→ δ)→ δ)
(j) ` ((ϕ→ δ)→ δ)→ ((δ→ ϕ)→ ϕ)
(k) ` ((ϕ→ δ) ∧ (δ→ ϕ))→ ((ϕ ∨ δ)→ (ϕ ∧ δ))
(l) δ,ϕ→ ψ ` ϕ→ (δ→ ψ)
(m) δ,¬ϕ ` ¬(δ→ ϕ)
(n) ` (δ→ ϕ)→ (¬δ ∨ ϕ)
(o) ` ϕ→ (((ψ→ ϕ)→ δ)→ δ)
(p) ` ϕ ∨ ϕ→ ϕ
(q) (ψ ∧ θ)→ ¬δ,ϕ→ δ, θ,ϕ ` ¬ψ
(r) ` ((ψ ∨ ϕ)→ (¬ψ→ ϕ))
(s) ψ ∨ ϕ,ψ→ δ,¬θ→ ¬ϕ ` δ ∨ θ
(t) ` (ψ→ ϕ)→ (δ ∨ ψ→ δ ∨ ϕ)
(u) ` ((((ϕ→ ψ)→ (¬δ→ ¬γ))→ δ)→ θ)→ ((θ→ ϕ)→ (γ→ ϕ))
(v) (ψ→ ϕ) ∧ (ϕ→ ψ) ` (ψ ∧ ϕ) ∨ (¬ψ ∧ ¬ϕ)
10
(w) (ψ→ ϕ) ∨ (δ→ γ) ` (ψ→ γ) ∨ (δ→ ϕ)
(x) ψ ` (ψ ∧ ϕ) ∨ (ψ ∧ ¬ϕ)
Nota: Caso uses regras derivadas, ter�as que as mostrar separamente.
25. Indica quais das seguintes dedu�c~oes s~ao v�alidas e quais n~ao s~ao v�alidas:
(a) ¬δ, δ ∨ ϕ ` ϕ
(b) ϕ ∧ ¬ϕ ` ¬(δ→ ψ) ∧ (δ→ ψ)
(c) ¬(¬δ ∨ ϕ) ` δ
(d) δ ∨ ψ,¬ψ ∨ ϕ ` δ ∨ ϕ
(e) ¬(δ→ ψ) ` ψ→ δ
(f) ¬ϕ ` ϕ→ ψ
(g) ` (¬δ→ δ)→ δ
(h) ¬δ→ ¬ψ ` ¬ψ→ ¬δ
26. Justi�ca a validade ou falsidade de cada uma das a�rma�c~oes seguintes, apresentando demonstra�c~oes
ou contra-exemplos:
(a) se ` ψ, ent~ao δ1, . . . , δn ` ψ;
(b) se δ1, . . . , δn ` ψ, ent~ao ` ψ;
(c) se δ1, δ2 ` ψ, ent~ao δ2, δ1 ` ψ;
(d) se δ1, δ2 ` ϕ→ ψ e δ1, δ2 ` ϕ, ent~ao δ1, δ2 ` ψ;
(e) se δ1, δ2 ` ϕ→ ψ e δ1 ` ϕ, ent~ao δ1, δ2 ` ψ;
(f) se δ1, δ2 ` ϕ→ ψ e δ1 ` ϕ, ent~ao δ1 ` ψ;
(g) se δ1 ` ϕ→ ψ e δ2 ` ϕ, ent~ao δ1, δ2 ` ψ;
(h) se δ, δ ` ψ se e s�o se δ ` ψ.
27. Mostra sem usar a completude de DN as seguintes equivalencias dedutivas. Nota que tens de mostrar
que da primeita f�ormula se deduz a segunda e vice-versa.
(a) ¬(δ1 ∧ δ2) a` ¬δ1 ∨ ¬δ2
(b) ¬(δ1 ∨ δ2) a` ¬δ1 ∧ ¬δ2
(c) δ1 → δ2 a` ¬δ1 ∨ δ2
(d) ¬(δ1 → δ2) a` δ1 ∧ ¬δ2
(e) ¬δ1 ∧ δ2 ` δ1 ∨ δ2
(f) ¬δ1 ∧ ¬δ2 ` δ1 → δ2
(g) δ1 ∧ δ2 ` δ1 ∨ δ2
(h) δ1 ∧ ¬δ2 ` ¬(δ1 ∧ δ2)
(i) (ψ ∧ ϕ) ∧ δ a` ψ ∧ (ϕ ∧ δ)
(j) (ψ ∨ ϕ) ∨ δ a` ψ ∨ (ϕ ∨ δ)
(k) ¬(¬δ1 ∧ ¬δ2) a` δ1 ∨ δ2
11
(l) δ→ ϕ a` (δ→ (δ ∧ ϕ)) ∧ ((δ ∧ ϕ)→ δ)
(m) δ1 → δ2 a` ¬(δ1 ∧ ¬δ2)
(n) δ→ ϕ a` (ϕ→ (δ ∨ ϕ)) ∧ ((δ ∨ ϕ)→ ϕ)
(o) δ1 ∧ δ2 a` ¬(¬δ1 ∨ ¬δ2)
(p) (δ→ ϕ) ∧ (ϕ→ δ) a` (δ ∨ ϕ)→ (δ ∧ ϕ)
(q) (δ→ ϕ) a` (¬ϕ→ ¬δ)
(r) (δ→ ϕ) ∧ (ϕ→ δ) a` (δ ∨ ϕ)→ (δ ∧ ϕ)
(s) ϕ ∧ (δ ∨ ψ) a` (ϕ ∧ δ) ∨ (ϕ ∧ ψ)
(t) (ϕ ∨ ψ)→ δ a` (ϕ→ δ) ∧ (ψ→ δ)
(u) (δ ∨ ϕ) ∧ (δ ∨ ψ) a` δ ∨ (ϕ ∧ ψ)
(v) ϕ→ (ψ ∧ δ) a` (ϕ→ ψ) ∧ (ϕ→ δ)
28. Completa a demonstra�c~ao do teorema da integridade do sistema de dedu�c~ao natural, veri�cando que
se existe um passo p em que a f�ormula n~ao �e consequencia semantica das premissas assumidas em p
esse passo n~ao pode resultar da aplica�c~ao das seguintes regras:
(a) ∧ I
(b) ∧ E
(c) ∨ I
(d) ∨ E
(e) ¬I
(f) ¬E
29. Um conjunto de f�ormulas Σ diz-se formalmente completo se para qualquer f�ormula δ se tem
Σ ` δ ou Σ ` ¬δ
Mostra que um conjunto de f�ormulas da l�ogica proposicional Σ �e formalmente completo se e s�o se
para qualquer vari�avel proposicional p se tem:
Σ ` p ou Σ ` ¬p
Sugest~ao: usa indu�c~ao estrutural nas f�ormulas da l�ogica proposicional.
30. Mostra, sem usar a completude de nenhum sistema de dedu�c~ao, que qualquer que seja o conjunto de
f�ormulas da l�ogica proposicional Σ e δ uma f�ormula, se tem:
(a) Se Σ ` ¬δ ent~ao Σ [ {δ} �e inconsistente.
(b) Σ |= δ se e s�o se Σ [ {¬δ} n~ao �e satisfaz��vel.
(c) Σ [ {¬δ} ` F se e s�o se Σ ` δ
31. Justi�ca a veracidade ou a falsidade das a�rma�c~oes seguintes. Caso a a�rma�c~ao seja falsa, poder�as
apresentar um contra-exemplo.
(a) Sendo Σ um conjunto de f�ormulas da l�ogica proposicional, s~ao equivalentes:
12
1. Σ �e inconsistente.
2. Σ ` δ qualquer que seja a f�ormula δ da l�ogica proposicional.
(b) Sendo Σ e Γ dois conjuntos de f�ormulas da l�ogica proposicional, s~ao equivalentes:
1. Σ [ Γ �e satisfaz��vel.
2. Σ [ {δ} �e satisfaz��vel qualquer que seja a f�ormula δ 2 Γ .
(c) Sejam Σ e Γ dois conjuntos de f�ormulas da l�ogica proposicional . Ent~ao
{δ | Σ [ Γ ` δ} = {δ | Σ ` δ} [ {δ | Γ ` δ}.
32. Sejam Σ e Γ conjuntos de f�ormulas da l�ogica proposicional tais que para qualquer f�ormula δ se tem
Σ ` δ ou Γ ` δ.
(a) Mostra que Σ [ Γ �e n~ao satisfaz��vel.
(b) Mostra que um dos conjuntos Σ ou Γ n~ao �e satisfaz��vel.
33. Sejam Σ e Γ conjuntos de f�ormulas do l�ogica proposicional, tal que para toda a f�ormula δ se tem
Σ ` δ se e s�o se Γ ` δ.
Justi�ca a validade ou a falsidade de cada uma das a�rma�c~oes seguintes, apresentando demonstra�c~oes
ou contra-exemplos:
(a) Seja δ1, . . . , δn �e uma dedu�c~ao de uma f�ormula δ a partir do conjunto Σ. Ent~ao δ1, . . . , δn �e
tamb�em uma dedu�c~ao de δ a partir de Γ .
(b) Sejam Γ = {¬δ | δ 2 Γ } e δ1, . . . , δn uma dedu�c~ao de uma f�ormula δ a partir do conjunto Γ , ent~ao
¬δ1, . . . ,¬δn �e uma dedu�c~ao de ¬δ a partir do conjunto de hip�oteses Γ ;
(c) Σ �e satisfaz��vel se e s�o se Γ �e satisfaz��vel.
Outros sistemas dedutivos: tableaux e resolucao
34. Constr�oi dedu�c~oes de tableaux semanticos para as f�ormulas seguintes. Um dedu�c~ao de uma f�ormula
ϕ por tableaux �e uma refuta�c~ao, isto �e, de ¬ϕ tenta-se deduzir F.
(a) ¬((p∨ q)∧ (¬p∧ ¬q))
(b) ((p→ q)∧ (q→ r))→ (p→ r)
(c) (¬p→ q)→ ((p→ q)→ q)
(d) ((p→ q)→ p)→ p
35. Considera a f�ormula seguinte em forma normal conjuntiva (FNC):
(p∨ ¬q∨ r)∧ ¬p∧ (q∨ r∨ p)∧ (p∨ ¬r)
(a) Converte a f�ormula para um conjunto de cl�ausulas.
(b) A partir desse conjunto constr�oi uma dedu�c~ao de F, usando apenas a regra da resolu�c~ao.
36. Encontra uma dedu�c~ao de F (uma refuta�c~ao) para:
{{¬p,¬q, r}, {p, r}, {q, r}, {¬r}}
13
37. Usando a regra de resolu�c~ao, encontra uma dedu�c~ao por resolu�c~ao de:
((p→ q)∧ (q→ r))→ ¬(¬r∧ p)
38. Constr�oi dedu�c~oes de tableau e por resolucao para as seguintes f�ormulas:
(a) (p→ q)→ ((¬p→ q)→ q)
(b) q→ (p→ (q∧ p))
(c) q→ (¬p→ ¬(q→ p))
39. Constr�oi dedu�c~oes de tableau e por resolucao para as alineas do exerc��cio 24 que n~ao tenham premis-
sas.
Tableaux
α α1 α2 β β1 β2ϕ∧ψ ϕ ψ ¬(ϕ∧ψ) ¬ϕ ¬ψ
¬(ϕ∨ψ) ¬ψ ¬ϕ ϕ∨ψ ϕ ψ
¬(ϕ→ ψ) ϕ ¬ψ ϕ→ ψ ¬ϕ ψ
Tabela 1: Nota�c~ao uniforme: f�ormulas α e β
¬¬ϕϕ
¬FV
¬VF
α
α1α2
ββ1 | β2
Tabela 2: Regras de expans~ao dos tableaux
Resolucao
Sendo C,C0 cl�ausulas a regra de resolu�c~ao �e
C [ {p} C0 [ {¬p}
C [ C0
Uma dedu�c~ao de F a partir de um conjunto C de cl�ausulas diz-se uma refuta�c~ao C.
14
Logica de 1a¯ ordem (Aulas 7 e 8)
Linguagens, termos, formulas e semantica
40. Seja L uma linguagem de 1a�
ordem com igualdade e tal que F0 = {a, b}, F1 = {g}, F2 = {f, h},
R1 = {R, S} e R2 = {P,Q}.
i. O comprimento de um termo t �e o comprimento da sequencia de caracteres que o representa. Por
exemplo, f(a, h(a, a)) tem comprimento 11.
(a) Determina todos os termos fechados de L com comprimento menor que 10 e em que um
mesmo s��mbolo funcional n~ao ocorre mais que uma vez.
(b) Determina todos os termos fechados de L com comprimento menor que 8.
ii. Indica, justificando, quais as seguintes express~oes s~ao termos de L e quais as que s~ao termos de
L fechados:
(a) h(a, f(a, g(a), g(a)))
(b) f(h(x, g(g(a))), x)
(c) f(a, P(a, g(x)))
(d) h(g(f(a, a)), f(b, a))
(e) f(h(x, h(y, y)), g(g(b)))
(f) f(a, g(h(g(x), x(a))))
iii. Para cada uma das seguintes f�ormulas determina, justificando:
– quais tem ocorrencias de vari�aveis livres e em que posi�c~ao
– quais as f�ormulas que s~ao proposi�c~oes
– quais as f�ormulas at�omicas que ocorrem em cada uma delas
(a) 8x Q(x, x) ∧ P(x, x)
R(a) ∧ 9y (R(f(y, y))→ P(a, y))
8x8y x = y→ 8xQ(x, y)
(b) 8x (Q(g(x), x)→ 9y P(y, x))
9x (S(f(a, x)) ∨ P(a, x))→ 8y P(y, a)
8x9y (Q(x, y)→ (Q(x, z) ∧ Q(z, y)))
(c) ¬S(x) ∧ 8x g(x) = f(x, a)
R(a)→ 8x9y (P(x, y) ∨ Q(x, y))
8x8y R(x) ∨ 9z z = h(x, y)
41. Considera a linguagem, L de�nida no Exerc��cio 40. Seja A uma estrutura da linguagem L da de�nida
por:
– o dom��nio de A �e o conjunto dos n�umeros naturais N = {0, 1, . . .}
– aA = 1, bA = 0
– gA(n) = n+ 4, n 2 N
– hA(n,m) = n+m, fA(n,m) = n�m, n,m 2 N
– SA = {n 2 N | n �e ��mpar} ,RA = {n 2 N | n �e par}
– PA = {(n,m) 2 N2 | n > m}
– QA = ;
15
i. Para cada uma das proposi�c~oes ϕ seguintes diz, justificando se �e verdadeira ou falsa em A, i.e.
se A |= ϕ ou A 6|= ϕ.
(a) 8x9y P(y, x)
9x8y P(y, x)
8x9y P(y, x)→ 9y P(y, y)
8x S(x)→ 9x S(x)
(b) 8x (S(g(x))→ S(x))
8x9y (f(x, y) = a)
9x8y (f(x, y) = a)
8x (S(x) ∨ R(x))→ (8x S(x) ∨ 8x R(x))
ii. Considera as seguintes interpreta�c~oes si : Var −→ N para i = 1, 2, 3 e onde:
– s1(x) = 2, para todo x 2 Var;
– s2(x) = 0, para todo x 2 Var.
– s3(x) = 2, s3(y) = 1 e s3(z) = 5.
Para cada uma das f�ormulas ϕ seguintes e cada uma das interpreta�c~oes si, diz se A |=si ϕ, para
i = 1, 2, 3:
(a) 8x9y (h(x, y) = z)
¬8x (x = a ∨ x = y)
(b) 8x (y = a ∨ x = y)
9z f(x, y) = z→ 8x (S(x) ∨ R(x))
42. Considera a linguagem, L de�nida em 40. Para cada uma das proposi�c~oes seguintes indica uma
estrutura de L onde ela �e verdadeira e outra onde ela �e falsa. Podes concluir que nenhuma das
proposi�c~oes ou das suas nega�c~oes �e uma f�ormula v�alida?
(a) 8x (x = a)
8x8y (R(x)→ R(y))
(b) 9z ((g(z) 6= a)→ 9z (g(z) = a))
8xQ(x, g(x))↔ 9x P(a, x)
(c) 8y(8x (R(x)→ P(x, x))→ (R(y)→ 8x P(x, x)))
(d) 8x9y (x = g(y))
9y8x R(x, y)→ 8x9y R(x, y)
(e) 9x8y (x = g(y))
8y9x R(x, y)→ 9x8y R(x, y)
(f) 9x (h(x) = g(a)→ 9z (g(z) = a))
8xQ(x, g(x))→ 9xR(a, x)
(g) 9z ((g(z) 6= a)→ 9z (g(z) = a))
9x Q(x, g(x))→ 8xR(a, x)
(h) 8y9x R(x, y)
8x (T(x)→ 9y Q(x, y))
(i) 9y9x (g(x) 6= g(y)
9x (T(x)→ 8y Q(x, y))
16
(j) 8y9x (x 6= g(y))
8x (T(x)→ 8y Q(x, y))
(k) 8y9x Q(x, g(y))
8x9y (Q(x, y)→ T(y))
43. Seja L uma linguagem de primeira ordem com igualdade e tal que F0 = {a, b}, F1 = {g}, F2 = {f},
R1 = {T }, R2 = {S, R}. Considera A a estrutura de L de�nida por:
– o universo de A �e o conjunto de n�umeros inteiros Z = {. . . ,−1, 0, 1, . . .};
– aA = 0;
– bA = 7;
– gA(n) = n2, para n 2 Z;
– fA(n,m) = n−m, para n,m 2 Z;
– TA = {n 2 Z | n > 0};
– SA = {(2, 1), (3, 3)};
– RA = {(−1, 1), (3, 9), (−4, 16)}.
Sejam x, y 2 Var e s1, s2 : Var −→ Z interpreta�c~ao tais que{s1(x) = 0
s1(y) = 7e
{s2(x) = 1
s2(y) = −1
i. Para cada um dos termos seguintes t determina s1(t) e s2(t).
a) f(g(x), a)
b) g(f(y, a))
c) f(a, g(f(x, y)))
d) g(g(f(b, b)))
e) f(a, x)
f) g(y, g(a))
ii. Para cada uma das f�ormulas seguintes ϕ diz se A |=s1 ϕ e se A |=s2 ϕ.
(a) S(f(x, y), x)
9x S(x, x)
8x (T(g(x))→ T(x))
9y (f(y, y) = x ∨ f(x, x) = a)
(b) 8x (x = a∨ y = b)
9y (f(y, x) = b)
8z S(z, x)→ 9x S(x, x)
8y (T(y)∨ S(y, x))
(c) ¬8x (x = a∨ y = b)
9z S(z, x)→ 9x S(x, x)
8y (f(y, y) = x ∨ f(x, x) = a)
8x9y (T(f(x, y)) ∨ ¬S(x, y))
(d) 9x (f(y, x) = a)
8z (z = x ∨ z = y)
8x8y (R(x, y)→ (y = g(x)))
9x S(y, x)→ 9xR(x, g(x))
17
(e) 8y8z (f(y, z) = a∨ x 6= g(f(z, y)))
9z ((f(x, y) = z∧ S(z, x))→ 9x S(x, x))
8x8y ((y = g(x))→ R(x, y))
8y (S(y, x)→ T(y))
44. Mostra que as seguintes equivalencias semanticas:
a) 8x (ϕ∧ψ) � 8xϕ∧ 8xψ
b) 9xϕ∨ 9xψ � 9x (ϕ∨ψ)
c) 8xϕ→ 9xψ � 9x (ϕ→ ψ)
d) 8x8yϕ � 8y8xϕ
e) 9x9yϕ � 9y9xϕ
45. Mostra as seguintes f�ormulas n~ao s~ao semanticamente equivalentes, indicando uma linguagem L,
f�ormulas ϕ e ψ de L e uma estrutura A = (A, �A) de L, tal que A n~ao �e modelo da f�ormula cor-
respondente.
a) 8x (ϕ∨ψ) e 8xϕ∨ 8xψ
b) 9xϕ∧ 9xψ e 9x (ϕ∧ψ)
c) 8x (ϕ→ ψ) e 9xϕ→ 8xψ
d) 9x (ϕ→ ψ) e 9xϕ→ 9xψ
e) 8x (ϕ→ ψ) e 8xϕ→ 8xψ
f) 8x9yϕ e 9y8xϕ
46. Para cada par de f�ormulas seguinte mostra, usando as de�ni�c~oes, que as f�ormulas s~ao v�alidas ou, caso
contr�ario, indica uma linguagem L, f�ormulas ϕ e ψ de L e uma estrutura A = (A, �A) de L, tal que A
n~ao �e modelo da f�ormula correspondente.
(a) 8x (ϕ→ ψ)→ (8xϕ→ 8xψ)
(8xϕ→ 8xψ)→ 8x (ϕ→ ψ)
(b) 8x (ϕ→ ψ)→ (9xϕ→ 8xψ)
(9xϕ→ 9xψ)→ 8x (ϕ→ ψ)
(c) 8x (ϕ→ ψ)→ (9xϕ→ 9xψ)
(9xϕ→ 8xψ)→ 8x (ϕ→ ψ)
(d) 8x9y (ϕ∨ψ)→ 9x8y (ϕ∧ψ)
8x (ψ∨ϕ)→ ¬9x (¬ψ∧ ¬ϕ)
(e) 9x¬(ϕ∨ψ)→ 9x (¬ϕ∨ ¬ψ)
9y (ϕ∧ψ)→ (8yϕ∧ 8yψ)
Semantica: caracterizacao de propriedades de modelos por proposicoes
47. Seja LG uma linguagem de 1a�
ordem com igualdade, sem s��mbolos funcionais e apenas um s��mbolo
relacional bin�ario, i.e, R2 = {R}. Qualquer estrutura G de LG �e um grafo dirigido, que podemos
representar por G = (A,E), onde A �e um conjunto e E � A�A.
18
i. (a) De�ne uma proposi�c~ao ϕ de LG tal que uma estrutura G de LG �e um modelo de ϕ se e s�o se
G for um grafo dirigido sem v�ertices isolados.
(b) Indica, justificando, duas estruturas de LG, G1 e G2 tal que G1 |= ϕ e G2 |= ¬ϕ
ii. Diz-se G tem um trajecto de comprimento n � 1 se e s�o se existem a0, a1, . . . , an 2 A, todos
distintos tal que (a0, a1) 2 V, (a1, a2) 2 E, . . . , (an−1, an) 2 E.
(a) De�ne uma proposi�c~ao ϕ de LG, tal que um grafo G �e um modelo para ϕ se e s�o se G tem
um trajecto de comprimento 3.
(b) Indica, justificando, duas estruturas de LG, G1 e G2 tal que G1 |= ϕ e G2 |= ¬ϕ.
iii. Seja G = (A,E) um grafo dirigido. Um arco (a, b) 2 E �e incidente no n�o b 2 A. O grau de
entrada de um n�o �e o n�umero de arcos incidentes nele.
(a) De�ne uma proposi�c~ao ϕ de LG, tal que um grafo G �e um modelo para ϕ se e s�o se todos os
n�os de G tem grau de entrada pelo menos 3.
(b) Indica, justificando, duas estruturas de LG, G1 e G2 tal que G1 |= ϕ e G2 |= ¬ϕ
iv. Seja G = (A,E) um grafo dirigido. Dizemos que existe um ciclo de comprimento n � 1 em G se e
s�o se existirem n�os a1, . . . , an 2 A tais que (a1, a2) 2 E,. . . ,(an, a1) 2 E.
(a) De�ne uma proposi�c~ao ϕ de LG, tal que um grafo G �e um modelo para ϕ se e s�o se G nao
tiver ciclos de comprimento 3.
(b) Indica, justificando, duas estruturas de LG, G1 e G2 tal que G1 |= ϕ e G2 |= ¬ϕ
v. Um grafo G = (A,E) �e n~ao dirigido se E �e uma rela�c~ao bin�aria sim�etrica. Num grafo n~ao dirigido
o grau de um n�o A �e o n�umero de arestas incidentes em a. Um grafo n~ao dirigido �e n-regular se
todos os n�os tem grau n.
(a) De�ne uma proposi�c~ao ϕ de LG, tal que um grafo G �e um modelo para ϕ se e s�o se for n~ao
dirigido e 2-regular.
(b) Indica, justificando, duas estruturas de LG, G1 e G2 tal que G1 |= ϕ e G2 |= ¬ϕ
vi. Um grafo n~ao dirigido G �e um par (A,E) onde A �e um conjunto n~ao vazio (n�os) e E �e um conjunto
de pares nao ordenados de elementos distintos de A (arestas).
(a) De�ne uma proposi�c~ao ψ de L tal que uma estrutura G = (A, .A) �e um modelo de ψ se e s�o
se a rela�c~ao RA �e anti-re exiva e sim�etrica. Justi�ca, informalmente, que tais estruturas s~ao
grafos (n~ao dirigidos).
(b) Num grafo n~ao dirigido o grau de um n�o a 2 A �e o n�umero de arestas incidentes em a. Um
grafo n~ao dirigido �e um c��rculo se todos os seus n�os tem grau 2.
1. De�ne uma proposi�c~ao ϕ de L, tal que um grafo G �e modelo para ψ ∧ ϕ se e s�o se for
um c��rculo.
2. Indica, justificando duas estruturas de L, G1 e G2, tal que G1 |= ψ∧ϕ e G2 |= ψ∧ ¬ϕ
48. Seja L uma linguagem de primeira ordem com igualdade e R2 = {R}.
i. (a) De�ne uma proposi�c~ao ψ de L tal que uma estrutura A = (A, .A) �e um modelo de ψ se e s�o
se a rela�c~ao RA �e uma rela�c~ao de ordem parcial (i.e �e re exiva, anti-sim�etrica e transitiva).
(b) Um conjunto A com uma rela�c~ao de ordem RA �e uma cadeia se para todos x, y 2 A, (x, y) 2
RA ou (y, x) 2 RA. De�ne uma proposic~ao ϕ de L tal que A |= ψ ∧ ϕ se e s�o se A �e uma
cadeia com pelo menos 3 elementos.
19
ii. Seja A um conjunto com uma rela�c~ao de ordem parcial RA. Dados dois elementos a, b 2 A
dizemos que a �e menor do que b se (a, b) 2 RA. Dados dois elementos a e b de A, seja s 2 A
menor do que a e que b. Dizemos que s �e um ınfimo de a e b se sempre que houver outro
elemento s 0 2 A nas mesmas condi�c~oes, ent~ao s �e menor do que s 0.
Dizemos que A �e um reticulado inferior se para cada dois elementos de a e b de A, existe um
elemento c 2 A que �e ınfimo de a e b.
(a) De�ne uma proposi�c~ao ϕ de L, tal que um conjunto A �e um reticulado inferior se e s�o se A
�e modelo para ψ∧ϕ, onde ψ �e de�nido como em 1.
(b) Indica, justificando duas estruturas de L, A1 e A2, tal que A1 |= ψ ∧ ϕ e A2 |= ψ ∧ ¬ϕ.
Caso queiras poder�as representar A1 e A2 por diagramas de Hasse.
49. Seja LA uma linguagem de 1a�
ordem com igualdade e R1 = {I, F}, R2 = {Ra, Rb}. Uma estrutura A
para LA �e um aut�omato �nito n~ao determin��stico sobre {a, b} se e s�o se |IA| = 1.
i. (a) De�ne uma proposi�c~ao ϕ de LA tal que uma estrutura A de LA �e um modelo de ϕ se e s�o
se A �e um aut�omato �nito determin��stico.
(b) Indica, justificando, duas estruturas de LA, A1 e A2 tal que A1 |= ϕ e A2 |= ¬ϕ.
ii. (a) De�ne uma proposi�c~ao ψ de LA tal que uma estrutura A de LA �e um modelo de ψ se e s�o
se A �e um aut�omato �nito que reconhece alguma palavra de Σ = {a, b} de comprimento 2.
(b) Indica, justificando, duas estruturas de LA, A1 e A2 tal que A1 |= ψ e A2 |= ¬ψ
50. Sendo A um conjunto eM,N � A�A duas rela�c~oes bin�arias, a rela�c~ao composi�c~ao M �N 2 A�A �e
tal que para todos os a, b 2 A, (a, b) 2M �N se existe a 0 2 A tal que (a, a 0) 2M e (a 0, b) 2 N. Seja
L uma linguagem de primeira ordem com igualdade e R2 = {R,Q, P}.
(a) De�ne uma proposi�c~ao ψ de L tal que uma estrutura A = (A, .A) �e um modelo de ψ se e s�o se a
rela�c~ao PA �e a composi�c~ao de QA e de RA (isto �e QA � RA).
(b) Indica, justificando duas estruturas de L, A1 e A2, tal que A1 |= ψ e A2 6|= ψ.
Forma normal prenexa
51. Para cada um dos termos e f�ormulas indicados determina as substitui�c~oes e quais as vari�aveis que s~ao
substitu��veis por t em ϕ:
(a) ¬(8x9yP(x, y, z) ∧ 8z P(x, y, z)) e t o termo g(f(y, y)), y) para ϕ[t/x], ϕ[t/y] e ϕ[t/z].
(b) 8x9yQ(x, z) ∧ 9z P(z, y) e t o termo f(h(x, y), y) para ϕ[t/x], ϕ[t/y] e ϕ[t/z].
(c) x 6= g(y)→ 9z (P(z)→ R(x, y)) e t o termo g(y) para ϕ[t/x].
(d) 9x S(x, x)∨ 9z (P(z)∧ R(x, z)) e t o termo h(x, y, z) para ϕ[t/x].
(e) 8x9yQ(x, y)∧ P(x, y, y) e t o termo y para ϕ[t/x].
52. Para cada uma das f�ormulas seguintes determina uma forma normal prenexa equivalente.
(a) ¬8xR(x, u) ∧ 9y (¬8xR(y, x)→ Q(u, y))
(b) 8x¬9y8uP(x, y)→ ¬(9z P(x, y)→ 8yP(u, y))
(c) 9x S(x, x)∨ 9z (P(z)∧ 8xR(x, z))
(d) ¬(9xQ(x, y)→ ¬8x (8zP(z, y, x)→ ¬9yP(y)))
(e) ¬(8xR(x, y)→ 9x¬(9zQ(z, y, x)→ 8yP(y)))
(f) ¬(8xQ(x)∨ ¬8x (9z R(z, x)→ ¬8yR(y, x)))
20
Sistema de deducao natural DN para a logica de 1a¯ ordem (Aulas
9 e 10)
Observacoes para a obtencao de uma deducao duma formula ϕ
� Se a f�ormula ϕ for uma implica�c~ao ψ → θ, supor ψ e deduzir θ; aplicando de seguida a regra da
introdu�c~ao da implica�c~ao.
� Por redu�c~ao ao absurdo: supor ¬ϕ e deduzir F. Caso haja uma nega�c~ao ¬ψ nas premissas, poder-se-�a
deduzir ψ para obter F.
� Suponhamos que uma das premissas �e ϕ ∨ ψ e se pretender deduzir γ. Podemos: supor ϕ e deduzir
γ, supor ψ e deduzir γ; aplicando de seguida a regra de elimina�c~ao da disjun�c~ao.
� Suponhamos que uma premissa �e ¬ϕ e pretendemos obter F: podemos tentar obter ϕ e aplicar a regra
da introdu�c~ao de F.
� Se uma premissa for 9xϕ e se pretende deduzir γ. Podemos: com uma vari�avel nova v supor ϕ[v/x] e
deduzir γ (sendo que em γ v n~ao pode ocorrer). Depois aplicar a regra da introdu�c~ao de 9.
Notar que cada passo da dedu�c~ao tem de ser obtido por aplica�c~ao duma regra ou ser uma repeti�c~ao duma
f�ormula j�a deduzida ou uma premissa.
53. Indica se as seguintes dedu�c~oes s~ao v�alidas. Em caso a�rmativo indica as regras usadas em cada passo.
Se n~ao for v�alida indica qual o passo em que n~ao est�a correcta e se existe uma dedu�c~ao correcta com
as mesmas premissas e conclus~ao.
1 8x(P(x) ∨ Q(x))
2 u P(u) ∨ Q(u)
3 P(u)
4 8xP(x)
5 8xP(x) ∨ 8xQ(x)
1 8x (P(x)→ Q(x))
2 9x P(x)
3 v P(v)
4 P(v)→ Q(v)
5 Q(v)
6 9x Q(x)
1 9x P(x)
2 u P(u)
3 8x P(x)
54. Usando o sistema de dedu�c~ao natural para a l�ogica de 1a�
ordem e sem usar a completude, mostra em
nota�c~ao de Fitch:
(a) 8x(R(x) ∧ S(x)) ` 8x R(x) ∧ 8xS(x)
(b) 8x(R(x)→ S(x)) ` 8x R(x)→ 8x S(x)
(c) 9x(R(x) ∧ S(x)) ` 9x R(x) ∧ 9x S(x)
(d) 8x(P(x) ∨ Q(x)), 9x¬Q(x), 8x(R(x)→ ¬P(x)) ` 9x¬R(x)
(e) 8x(P(x)→ (Q(x) ∨ R(x))),¬9x(P(x) ∧ R(x)) ` 8x(P(x)→ Q(x))
(f) 9x9y(P(x, y) ∨ P(y, x)) ` 9x9y P(x, y)
21
(g) 9x(P(x) ∧ Q(x)), 8x(P(x)→ R(x)) ` 9x(R(x) ∧ Q(x))
(h) 8x(P(x) ↔ x = b) ` P(b) ∧ 8x8y(P(x) ∧ P(y) → x = y), onde ψ ↔ ϕ �e uma abreviatura de
ψ→ ϕ e ϕ→ ψ
(i) 9x8y(P(x) ∧ (P(y)→ y = x)) ` 8x8y((P(x) ∧ P(y))→ x = y)
(j) 8x P(a, x, x), 8x8y8z(P(x, y, z)→ P(f(x), y, f(z))) ` P(f(a), a, f(a))
(k) 9x9y(H(x, y) ∨ H(y, x)),¬9xH(x, x) ` 9x9y ¬(x = y)
(l) 8x8y R(x, y) ` 8y8x R(x, y)
(m) ` 8x8y8u8v((x = u ∧ y = v)→ (P(x, y)→ P(u, v)))
(n) 9y9x Q(y, x) ` 9x9y Q(y, x)
(o) 9x8y P(x, y) ` 8y9x P(x, y)
(p) 8x(P(x)→ Q(x))→ (9x P(x)→ 9x Q(x))
(q) Se x n~ao ocorre livre em ϕ, 9xψ ∨ ϕ a` 9x(ψ ∨ ϕ)
(r) ` 8x8y(x = y→ f(x) = f(y))
(s) ` x = f(y)→ 8z(P(x, z)→ P(f(y), z))
(t) ` 8x8y8u8v((x = u ∧ y = v)→ f(x, y) = f(u, v)))
(u) ` 8x8y(¬(f(x) = f(y))→ ¬(x = y))
(v) ` 8x8y8u8v(x = u→ (y = v→ f(x, y) = f(u, v)))
(w) ` 9x(P(x)→ R(x))→ (8x(P(x)→ 9xR(x)))
(x) ` (9xP(x)→ 8xQ(x))→ 8x(P(x)→ Q(x))
(y) ` 8x(S(x)→ R(x))→ (9x¬R(x)→ 9x¬S(x))
(z) ` 8x(¬P(x)→ S(x))→ (9x¬S(x)→ 9x P(x))
55. Seja Σ um conjunto de f�ormulas de uma linguagem de primeira ordem L tal que x n~ao ocorre livre em
nenhuma f�ormula de Σ. Mostra que,
(a) se Σ [ {ϕ} ` ψ e x n~ao ocorre livre em ψ, ent~ao Σ [ {9xϕ} ` ψ;
(b) se Σ [ {ϕ} ` ψ, ent~ao Σ [ {9xϕ} ` 9xψ.
Completude e integridade da logica 1a¯ ordem.
56. Para cada uma das f�ormulas seguintes, indica se �e ou n~ao um teorema da l�ogica de 1a�ordem, quaisquer
que sejam as f�ormulas ϕ e ψ. Justi�ca, no primeiro caso, mostrando que existe uma dedu�c~ao natural
da respectiva f�ormula ou, no segundo caso, indicando uma linguagem L, f�ormulas ψ e ϕ de L e uma
estrutura A = (A, �A) de L, tal que A n~ao �e modelo da f�ormula correspondente.
(a) 8x(ϕ→ ψ)→ (8x ϕ→ 8x ψ)
(8x ϕ→ 8x ψ)→ 8x(ϕ→ ψ)
(b) 8x(ϕ→ ψ)→ (9x ϕ→ 9x ψ)
(9x ϕ→ 8x ψ)→ 8x(ϕ→ ψ)
(c) 8x9y(ϕ∨ψ)→ 9x8y(ϕ∧ψ)
8x(ψ∨ϕ)→ ¬9x(¬ψ∧ ¬ϕ)
22
(d) 9x¬(ϕ∨ψ)→ 9x(¬ϕ∨ ¬ψ)
9y(ϕ∧ψ)→ (8y ϕ∧ 8y ψ)
(e) (8x ψ ∨ 8x ϕ)→ 9x(ψ ∨ ϕ)
8x9y ψ→ 9y8x ψ
(f) (9x ψ ∧ 9x ϕ)→ 9x(ψ ∧ ϕ)
9x(¬ψ ∧ ¬ϕ)→ 9x(¬(ψ ∧ ϕ))
(g) 8x(ψ→ ϕ)→ (9x ψ→ 9x ϕ)
9x9y(ϕ ∨ ψ)→ 8y9x(ϕ ∨ ψ)
(h) 9x8y ψ→ 9x9y ψ
8x9y(ϕ ∧ ψ)→ 9x8y(ϕ ∧ ψ)
(i) 8x(ψ→ ¬ϕ)→ ¬9x(ψ ∧ ϕ)
(9x ϕ ∨ 9x ψ)→ 9x(ϕ ∧ ψ)
(j) 8x(¬ψ→ ϕ)→ (9x¬ϕ→ 9x ψ)
¬(8x9y ψ→ 9y8x ψ)
(k) 9x¬(ψ ∨ ϕ)→ 9y(¬ψ ∨ ¬ϕ)[y/x], onde y n~ao ocorre em ψ nem ϕ.
(9x¬ϕ→ 9x¬ψ)→ 8x(ϕ→ ψ).
(l) 8x(ψ→ ϕ)→ (9x¬ϕ→ 9x¬ψ)
(9x ϕ∨ 9x ψ)→ 9x(ϕ∧ψ)
(m) (9x ψ ∨ 9x ϕ)→ 9x(ψ ∨ ϕ)
9x(ψ ∨ ϕ)→ (9x ψ ∨ 9x ϕ)
(n) 9x(ψ→ ϕ)→ (8x ψ→ 9x ϕ)
(8x ψ→ 9x ϕ)→ 9x(ψ→ ϕ)
57. Completa a demonstra�c~ao do teorema da integridade do sistema de dedu�c~ao natural para a l�ogica de
1a�
ordem, veri�cando que se no passo de indu�c~ao a regra a aplicar for uma das seguintes, a f�ormula
resultante �e consequencia semantica das premissas a�� assumidas:
(a) 8E ou 9I
(b) = E ou → I
(c) 8I ou ∧ E
(d) ∨ E ou ¬I
(e) ∨ I ou FI
58. Seja ψ uma proposi�c~ao de uma linguagem de primeira ordem L. Relaciona as a�rma�c~oes seguintes,
indicando se s~ao equivalentes ou se apenas uma implica a outra justificando.
(a) – existe uma estrutura A de L e uma interpreta�c~ao s das vari�aveis em A tais que A 6|=s ¬ψ;
– ψ �e uma f�ormula v�alida.
(b) – ` ψ
– ¬ψ �e falso em todas as estruturas de L.
(c) – |= ψ
– existem duas estruturas A e B de L tal que A |= ¬ψ e B 6|= ¬ψ.
23
59. Seja ψ uma f�ormula de uma linguagem de primeira ordem L para a qual existem duas estruturas A
e B de L tais que A |=s ψ para toda a interpreta�c~ao s das vari�aveis em A e B 6|=t ψ para toda a
interpreta�c~ao t das vari�aveis em B. Justi�ca a validade ou falsidade das a�rma�c~oes seguintes:
– ψ �e uma proposi�c~ao;
– ψ n~ao �e uma f�ormula v�alida;
– ¬ψ n~ao �e uma f�ormula v�alida.
60. Um conjunto consistente ∆ diz-se maximal se para qualquer f�ormula ψ se tem ou ψ 2 ∆ ou ¬ψ 2 ∆.
Mostra que se ∆ �e um conjunto consistente maximal e ∆ ` θ, ent~ao θ 2 ∆.
61. Um conjunto Σ de proposicoes de uma linguagem de primeira ordem L diz-se completo (em L) se e s�o
se para toda a proposi�c~ao ψ de L se tem ψ 2 Σ ou ¬ψ 2 Σ. Mostra que um conjunto consistente Σ �e
completo se e s�o se para toda a proposi�c~ao ψ de L, se ψ 62 Σ, ent~ao Σ [ {ψ} �e inconsistente.
24
Programacao em Logica (Aula 11 e 12)
Forma clausal
62. Para cada uma das seguintes f�ormulas encontre uma f�ormula em forma clausal. Para tal:
1. Converte numa f�ormula equivalente em forma normal prenexa.
2. Elimina os quanti�cadores existenciais introduzindo novos s��mbolos funcionais (Skolemiza�c~ao.
3. Converte a matriz da f�ormula resultante para forma normal conjuntitiva.
4. Distribu�� os quanti�cadores universais pelas conjun�c~oes, aplicando a regra:
8x(φ ∧ ψ) −→ 8xφ ∧ 8xψ
5. Escreve a f�ormula resultante em nota�c~ao clausal.
(a) 8xP(x)→ 8yQ(y);
(b) (8xP(x)→ 9xQ(x))∧ 8z(¬P(z)∧Q(z));
(c) 8y(9x(P(x, y)→ (Q(x)∨Q(f(x)))));
(d) 9y8xP(x, y)→ 8x9yP(x, y).
(e) ¬8xR(x, u) ∧ 9y(¬8xR(y, x)→ Q(u, y))
(f) 8x¬9y8uP(x, y)→ ¬(9zP(x, y)→ 8yP(u, y))
(g) 9xS(x, x)∨ 9z(P(z)∧ 8xR(x, z))
(h) ¬(9x9yQ(x, y)→ ¬8x(8zP(z, y, x)→ ¬9yP(y)))
(i) ¬(8xR(x)→ 9x¬(9zQ(z, y, x)→ 8yP(y)))
63. Considera o programa P seguinte:S(f(x))← S(x),R(y)
R(b)←R(f(x))← R(x)
Escreve cada f�ormula do programa sem ser na nota�c~ao clausal (i.e com os quanti�cadores e opera�c~oes
l�ogicas usuais).
64. Considera os seguintes programas P e objectivos G:
(a)
P : P(a)← P(x), Q(x)
P(f(x))← P(x)
Q(b)←Q(f(x))← Q(x)
G : ← Q(f(f(a)))
(b)
P : Add(x, 0, x)←Add(x, s(y), s(z))← Add(x, y, z)
G : ← Add(s(0), s(s(0)), x)
25
(c)
P : Add(x, 0, x)←Add(x, s(y), s(z))← Add(x, y, z)
G : ← Add(u, v, s(s(s(0))))
(d)
P : P(a, b)←P(c, b)←P(x, z)← P(x, y), P(y, z)
P(x, y)← P(y, x)
G : ← P(a, c)
(e) P : Lenght(nil, 0)←Lenght(cons(x, y), s(z))← Lenght(y, z)
G : ← Lenght(x, s(s(y)))
(f)
P : Append(cons(x, xR), xL, cons(x, xRL))← Append(xR, xL, xRL)
Append(nil, xL, xL)←G : ← Append(cons(x, nil), cons(x, nil), y)
(a) Escreve cada f�ormula do programa e do objectivo sem ser na nota�c~ao clausal (i.e com os quan-
ti�cadores e opera�c~oes l�ogicas usuais).
(b) Mostra que P[ {G} ` F usando o sistema de dedu�c~ao natural (e a nota�c~ao de Fitch) e as f�ormulas
na forma obtida em 1.
Unificacao
65. Para cada uma das express~oes E e cada uma das substitui�c~oes σ determina Eσ.
– E = f(x, g(y, z), z) e σ = [g(y, z)/x, a/z, z/y, f(f(b))/u];
– E = P(f(z), x) e σ = [a/y];
– E = Add(x, s(y), s(z))← Add(x, y, z) e σ = [s(0)/x, s(0)/y, s(s(0))/z].
66. Para as substitui�c~oes θ e σ descritos abaixo, determina a composta θσ.
– θ = [f(x)/y, b/z] e σ = [c/x];
– θ = [c/x, f(z)/y, u/v] e σ = [v/u, x/z];
– θ = [f(z)/x, g(z)/y, a/u] e σ = [f(b)/x, g(b)/y].
67. Para cada um dos valores abaixo determina θσ, Eθ, (Eθ)σ e E(θσ).
(a) θ = [f(y)/x, y/z], σ = [a/x, b/z] e E = P(x, y, g(z)).
(b) θ = [h(u)/x, g(z)/y, u/v], σ = [v/u, f(x)/z] e E = g(x, f(y, u), g(z)).
26
(c) θ = [h(y, x)/x, f(z)/y, x/u], σ = [g(z)/x, h(u)/z, a/u] e E = R(g(x), z, h(u, u)).
(d) θ = [h(u, y)/x, f(z)/v, b/y], σ = [v/u, h(x)/y, z/v] e E = P(h(u, v), y, g(y, x)).
68. Para as express~oes E e F seguintes, determine se s~ao variantes. Justi�que a sua resposta. Para os pares
(E, F) que s~ao variantes determine ainda mudan�cas de nome σ e θ respectivamente para E e F tais que
E = Fθ e F = Eσ.
1. E = P(f(x, y), g(z), a) e F = P(f(y, x), g(u), a);
2. E = P(x, f(x)) e F = P(y, f(z));
3. E = P(x, y) e F = P(y, x);
4. E = P(x, y, y) e F = P(y, x, y).
69. Aplica o algoritmo de uni�ca�c~ao de Robinson a cada um dos conjuntos S de express~oes simples seguintes,
indicando a resposta do algoritmo e ainda para cada itera�c~ao efectuada a substitui�c~ao correspondente
σi e os conjuntos Di e Sσi.
(a) S = {P(f(a), g(x)), P(y, y)};
(b) S = {P(a, x, h(g(z))), P(z, h(y), h(y))};
(c) S = {P(x, x), P(y, f(y))};
(d) S = {R(f(x, g(u))), R(f(g(u), g(z)))};
(e) S = {R(f(x, g(y))), R(f(g(u), h(z)))};
(f) S = {P(x, f(z)), P(f(z), y), P(y, z)}
(g) S = {R(f(x, g(x), x)), R(f(g(u), g(g(z)), z))};
(h) S = {P(f(x, f(x, y)), z), R(f(g(y), f(g(a), z)), u)};
(i) S = {P(f(x, f(x, y)), z), P(f(g(y), f(g(a), z)), u)};
(j) S = {P(g(x), y), P(y, y), P(u, f(w))};
(k) S = {P(z, g(x, f(x,w))), P(u, g(g(w), f(g(b), z)))}
(l) S = {P(g(z, h(z), z)), P(g(f(v), h(h(x)), x))}.
70. Sejam E e F duas express~oes. Relaciona as a�rma�c~oes seguintes:
a. E e F s~ao variantes;
b. o conjunto {E, F} �e uni�c�avel.
71. O seguinte algoritmo tamb�em permite obter o uni�cador mais geral entre duas express~oes:
Entrada: Dois termos T1 e T2
Saıda: U uni�cador mais geral de T1, T2 ou Falso
Algoritmo: Inicializar U como a substitui�c~ao vazia, uma pilha contendo a equa�c~ao T1 = T2 e f← 0
Enquanto a pilha n~ao estiver vazia e f 6= 1
retira X=Y da pilha
caso:
– X �e uma vari�avel que n~ao ocorre em Y,
substitui X por Y na pilha e adiciona Y/X a U
27
– Y �e uma vari�avel que n~ao ocorre em X, substitui Y por X na pilha e adiciona
X/Y a U
– X e Y s~ao vari�aveis identicas, continua
– X=f(X1,...,Xn) e Y=f(Y1,...,Yn) coloca Xi=Yi na pilha para i=1..n
caso contrario: f← 1
Se f = 1 retorna Falso sen~ao U
(a) Implementa este algoritmo.
(b) Repete o Exerc��cio 69 utiliando este algoritmo.
Formulas de Horn e Programas Definidos
72. Considera o seguinte conjunto de cl�ausulas de Horn de l�ogica proposicional:
C = {{a,¬b}, {b,¬c}, {b,¬d}, {c,¬e}{d,¬e}, {d}, {e}, {¬a}}
Usando resolu�c~ao mostra que C ` F (isto �e constr�oi uma refuta�c~ao).
73. Considera o algoritmo de satisfabilidade para f�ormulas de Horn dado no curso.
(a) Descreve o algoritmo em pseudo-c�odigo e implementa-o.
(b) Justi�ca a corre�c~ao do algoritmo, isto �e, que atribui o valor verdade se e s�o se a f�ormula de Horn
�e satisfaz��vel.
(c) Aplica o algoritmo �as seguintes f�ormulas:
– (¬p ∨ ¬q) ∧ (¬q ∨ r) ∧ q
– p ∧ (¬p ∨ q) ∧ (¬q ∨ p)
– ¬p ∧ (¬p ∨ q) ∧ ¬q
– p ∧ (¬p ∨ q) ∧ ¬r
74. Justi�ca a validade ou a falsidade das seguintes a�rma�c~oes, para uma linguagem de 1a�
ordem:
1. para toda a proposi�c~ao ϕ existe um conjunto (�nito) Φ de f�ormulas universais fechadas de Horn
tal que Φ |= ϕ e ϕ |= ψ para qualquer ψ 2 Φ;
2. se ϕ �e uma f�ormula de Horn, ent~ao �e uma f�ormula de Horn positiva ou uma f�ormula de Horn
negativa;
3. todo o conjunto de f�ormulas de Horn positivas �e satisfaz��vel
4. todo o conjunto de f�ormulas de Horn negativas �e satisfaz��vel
5. todo o conjunto de f�ormulas de Horn �e satisfaz��vel
75. Para cada um dos programas P e objectivos G descritos abaixo determina
– cada f�ormula do programa e do objectivo sem ser na nota�c~ao clausal (i.e com os quanti�cadores
e opera�c~oes l�ogicas)
– para G =← α1, . . . , αk determina ainda termos fechados t1, . . . , tn tais que P |= (α1 ∧ . . . ∧
αk)[t1/x1, . . . , tn/xn], onde x1, . . . , xn s~ao as vari�aveis que ocorrem em G, ou ent~ao mostra que
P [ {G} �e satisfaz��vel.
28
– Converte os programas a baixo para Prolog e executa (passo a passo) o objectivo correspondente.
Para a convers~ao basta: escrever as vari�aveis a come�car por letras ma��usculas, os nomes de
predicados por min�usculas e substituir ← por :- e terninar todas as cl�ausulas com .. Para
execu�c~ao passo a passo utilizar o predicado spy(Nome do predicado)
a)
P : P(a)← P(x), Q(x)
P(f(x))← P(x)
Q(b)←Q(f(x))← Q(x)
G : ← Q(f(f(a)))
b)
P : Add(x, 0, x)←Add(x, s(y), s(z))← Add(x, y, z)
G : ← Add(s(s(0)), s(s(0)), x)
c)
P : Add(x, 0, x)←Add(x, s(y), s(z))← Add(x, y, z)
G : ← Add(u, v, s(s(s(0))))
d)
P : P(a, b)←P(c, b)←P(x, z)← P(x, y), P(y, z)
P(x, y)← P(y, x)
G : ← P(a, c)
e)
P : P(a, b)←P(c, b)←P(x, z)← P(x, y), P(y, z)
G : ← P(a, c)
f)
P : Hanoi(xN, xOut)← Move(a, b, c, xN, xOut)
Move(xA, xB, xC, s(xM), xOut)←Move(xA, xC, xB, xM, xOut1),
Move(xC, xB, xA, xM, xOut2),
Append(xOut1, cons(to(xA, xB), xOut2), xOut)
Move(xA, xB, xC, 0, nil)←Append(cons(xA, xL1), xL2, cons(xA, xL3))← Append(xL1, xL2, xL3)
Append(nil, xL1, xL1)←G : ← Hanoi(s(s(0)), z)
29
Resolucao-SLD
76. Seja P o programa seguinteMax(x, y, x)← Leq(y, x)
Max(y, x, x)← Leq(y, x)
Leq(0, x)←Leq(s(x), s(y))← Leq(x, y)
Veri�ca se P |= 9xMax(s(x), x, s(x)).
77. Considera G o objectivo ← P(x, x) e o programa P seguinte:
P(a, b)←P(x, z)← P(x, y),P(y, z)
P(x, y)← P(y, x)
Calcula uma refuta�c~ao-SLD para P [ {G} e a resposta calculada.
78. Para o programa de�nido P e objectivo G (da forma ← β) descritos abaixo:
– Escreve cada f�ormula do programa e do objectivo sem ser em nota�c~ao clausal (i.e com quanti�ca-
dores e opera�c~oes l�ogicas)
– Calcula uma refuta�c~ao SLD para P [ {G}, indicando as substitui�c~oes em cada passo e a resposta
calculada, no �m. Representa a refuta�c~ao-SLD por uma �arvore de deriva�c~ao.
– Veri�ca a execu�c~ao do programa com o objectivo em Prolog, usando as convers~oes de�nidas no
Exerc��cio 75.
(a) P : Add(x, 0, x)←Add(x, s(y), s(z))← Add(x, y, z)
G : ← Add(s(0), x, s(s(y))
(b) P : Lenght(nil, 0)←Lenght(cons(x, y), s(z))← Lenght(y, z)
G : ← Lenght(x, s(s(y)))
(c)
P : Append(cons(x, xR), xL, cons(x, xRL))← Append(xR, xL, xRL)
Append(nil, xL, xL)←G : ← Append(cons(x, nil), cons(x, nil), y)
(d) P : Member(x, cons(x, y))←Member(x, cons(y, z))←Member(x, z)
G : ←Member(x, cons(y, cons(x, z)))
30
(e) P : Split(cons(x, y), cons(x, nil), y)←Split(cons(x, y), cons(x, x1), y1)← Split(y, x1, y1)
G : ← Split(cons(y, cons(x, nil)), z,w)
(f) P : P(s(x), y)← I(y, z), P(x, z)
P(nil, y)← Fi(y)
I(a, b)←I(b, c)←I(c, b)←Fi(b)←
G : ← P(s(x), a)
(g) P : O(r(x))← P(x)
P(0)←P(r(r(x)))← P(x)
G : ← O(r(r(r(x))))
31