Bonjour,
Je viens à vous car je galère sur un exercice de logique.
Voilà le topo, j'ai 5 phrases :
- Tous les chiens font du bruit la nuit.
- Toute personne qui possède un chat n’a pas de souris chez elle.
- Si quelqu’un qui dort difficilement la nuit possède un animal y, alors cet animal y ne fait
pas de bruit la nuit.
- Jean possède soit un chien, soit un chat.
- Jean dort difficilement la nuit.
Je dois les traduire dans le langage du calcul des prédicats du premier ordre en utilisant : D(x) x est un chien; B(x) x fait du bruit la nuit; C(x) x est un chat; M(x) x a des souris chez lui; P(x, y) x possède y; et enfin LS(x) x dort difficilement la nuit.
Je n'ai pas de problème pour traduire les phrases 1, 4 et 5 (la première et les deux dernières), mais j'ai de gros doutes quand à la modélisation des phrases 2 et 3.
Pour la phrase 2, j'aurais écris :
∀x,∃y ( C(y) ∧ P(x, y) → ¬M(x) )
Mais je ne suis pas sur de l'utilisation du quantificateur existentiel, j'ai l'impression qu'on pourrait tout aussi bien écrire :
∀x,∀y ( C(y) ∧ P(x, y) → ¬M(x) )
Est ce que l'une des deux est fausse ? Ou les deux sont vraies ? Laquelle est il préférable d'utiliser ?
Pour la phrase 3, plusieurs choses me perturbe, à commencer par le fait que je ne vois pas comment modéliser le fait que y est un animal. On pourrait dire que y est soit un chat soit un chien, mais du coup on oublie plein d'animaux. D'autant plus que dans la phrase 4 c'est explicitement dit que x possède soit un chat soit un chien, donc si le correcteur s'attendait à ce qu'on le traduise de la sorte, il n'aurait pas écrit la phrase de cette manière.
Bon du coup j'ai quand même traduit la phrase en oubliant le fait que y est un animal, et ça donne :
∀x,∃y ( LS(y) ∧ P(x, y) → ¬B(y) )
Mais encore une fois, j'ai l'impression qu'il serait tout aussi juste d'écrire :
∀x,∀y ( LS(y) ∧ P(x, y) → ¬B(y) )
Je remercie d'avance la/les personnes qui pourront m'éclairer !