Exprimer "Chaque élève a réussi au moins une classe" en FOL
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
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)$.