Vítor foi assassinado. Arthur, Bernardo e Carlos são suspeitos. Artur diz que não
foi ele. Ele diz que Bernardo era amigo da vítima mas que Carlos odiava a vítima.
Bernardo diz que estava fora da cidade no dia do crime e que não conhecia a
vítima. Carlos, o terceiro suspeito, diz que é inocente e que viu Arthur e Bernardo
com Vítor momentos antes do crime. Considerando que todos, exceto
possivelmente o assassino, estão falando a verdade, use Resolução para
solucionar este crime.
Traduzindo as sentenças acima no formalismo do cálculo de predicados de
primeira ordem, temos:
1. inocente(arthur) Æ amigos(bernardo,vitor)
2. inocente(arthur) Æ ¬gosta(carlos,vitor)
3. inocente(bernardo) Æ ¬ esteve_na_cidade(bernardo)
4. inocente(bernardo) Æ ¬ conhece(bernardo,vitor)
5. inocente(carlos) Æ juntos(bernardo,vitor)
6. inocente(carlos) Æ juntos(arthur,vitor)
7. (∀X) [juntos(X,vitor) Æ esteve_na_cidade(X)]
8. (∀X1) (∀Y1) [amigos(X1,Y1) Æ conhece(X1,Y1)]
9. (∀X2) (∀Y2) [gosta(X2,Y2) Æ conhece(X2,Y2)]
Meta: Existe alguém não inocente (o assassino)?
(∃Z) ¬inocente(Z), negando a meta:
(∀Z) inocente(Z), acrescentando assassino(Z) para encontrar a resposta, teremos:
inocente(Z) ∪ assassino(Z)
Considerando que há apenas um culpado (e necessariamente um dos três),
podemos afirmar:
Se arthur não for inocente então carlos e bernardo são inocentes
10. ¬inocente(arthur) Æ inocente(carlos) ∩ inocente(bernardo)
Se bernardo não for inocente então carlos e arthur são inocentes
11. ¬inocente(bernardo) Æ inocente(carlos) ∩ inocente(arthur)
…
Transformando as fórmulas em cláusulas, temos:
1. ¬inocente(arthur) ∪ amigos(bernardo,vitor)
…
Download

Vítor foi assassinado. Arthur, Bernardo e Carlos são suspeitos. Artur