Exprimer "Chaque élève a réussi au moins une classe" en FOL

Aug 19 2020

Ma question:

Exprimez cette phrase dans un langage de premier ordre : "Chaque élève a réussi au moins une classe".

Voici la réponse de mon professeur :

Nous définissons$S(x)$comme "objet$x$est un étudiant" ,$C(x)$comme "objet$x$est une classe" et$P(x,y)$en tant que logique de prédicat - symbole qui se traduit par "étudiant$x$a passé la classe$y$". Donc nous avons:

$\forall x (S(x) \rightarrow \exists y [C(y) \land P(x,y)])$.

Ma question est de quoi : "$\forall x S(x) \exists y ( C(y) \land P(x,y))$". Pourquoi le second est faux ?

Réponses

1 lemontree Aug 19 2020 at 17:38

Peut-être avez-vous lu quelque part quelque chose comme

$\forall x \in \mathbb{N} P(x)$

et essayez d'appliquer le même modèle à la phrase en question avec$x \in \mathbb{N}$correspond à$S(x)$et$P(x)$à$\exists y ...$.

Mais ce qui précède n'est pas à proprement parler une formule du premier ordre, mais juste une abréviation pour

$\forall x (x \in \mathbb{N} \to P(x))$

et n'est normalement utilisé qu'avec des déclarations d'appartenance à un ensemble$x \in Y$, pas des prédicats comme$S(x)$.

Si vous affirmez deux formules$S(x)$,$\exists y ...$puis par la syntaxe de la logique des prédicats, vous devez avoir un connecteur entre eux pour que le tout devienne une autre formule, et cela manque dans votre proposition.


De plus, comme mentionné dans les commentaires,

$\forall x S(x) \to \exists y (C(y) \land P(x,y))$

n'est pas la bonne solution. Votre professeur a probablement écrit

$\forall x (S(x) \to \exists y (C(y) \land P(x,y)))$

-- la$\forall x$doit s'étendre sur l'implication, pas seulement sur la$S(x)$.