FOL에서 "모든 학생이 적어도 한 수업을 통과했습니다"라고 표현

Aug 19 2020

내 질문:

다음 구절을 1 차 언어로 표현하십시오. "모든 학생은 적어도 한 수업을 통과했습니다."

이것은 선생님의 대답입니다.

우리는 정의합니다 $S(x)$ "객체 $x$ 학생입니다 ", $C(x)$ "객체 $x$ 수업입니다 "그리고 $P(x,y)$ 술어 논리로- "학생 $x$ 수업을 통과했습니다 $y$". 그래서 우리는 :

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

내 질문은 다음과 같습니다. "$\forall x S(x) \exists y ( C(y) \land P(x,y))$". 왜 두 번째가 틀렸나 요?

답변

1 lemontree Aug 19 2020 at 17:38

아마도 당신은 다음과 같은 것을 읽었을 것입니다.

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

문제의 문장에 같은 패턴을 적용하려고 $x \in \mathbb{N}$ 에 해당하는 $S(x)$$P(x)$ ...에 $\exists y ...$.

그러나 위의 내용은 엄밀히 말하면 1 차 공식이 아니라

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

일반적으로 집합 멤버십 문에만 사용됩니다. $x \in Y$, 같은 술어가 아닙니다. $S(x)$.

두 가지 공식을 주장하는 경우 $S(x)$, $\exists y ...$ 그런 다음 술어 논리의 구문에 따라 그 사이에 연결이 있어야 전체가 또 다른 공식이되고 제안에서 누락됩니다.


게다가 댓글에서 언급했듯이

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

올바른 해결책 이 아닙니다 . 선생님이 썼을 것입니다

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

- $\forall x$ 의미를 넘어서야합니다. $S(x)$.