31
L´ogica Computacional - Exerc´ ıcios DCC-FCUP 2019/20

L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

Logica Computacional - Exercıcios

DCC-FCUP

2019/20

Page 2: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 3: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 4: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 5: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 6: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 7: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 8: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 9: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 10: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 11: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 12: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 13: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 14: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 15: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 16: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 17: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 18: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 19: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 20: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 21: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 22: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 23: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 24: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 25: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 26: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 27: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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

Page 28: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

– 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

Page 29: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

– 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

Page 30: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

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

Page 31: L ogica Computacional - Exerc ciossandra/Home/LC1920_files/...assassino,ao ent~Jonesao n~encontrou Smith na noite passada e o assassinio sucedeu depois da meia noite" e \se o assassinio

(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