1. 소크라테스는 사람이다
2. 사람은 동물이다
3. 모든 사람은 (생물학적) 아버지가 있다
4. 19대 대한민국 대통령은 딱 한 명이다
5. 히키대학교 학생은 최소 두 명 있다
6. 히키대학교 학생은 딱 두 명 있다


 이를 기호 논리로 나타내봅시다.


1. Hs
2. ∀x(Hx→Ax)

3. ∀x(∃y(Fyx))

4. ∃x(Px ∧¬∃y(x≠yPy))

∀y(Lxy))
5. ∃x∃y(x≠y∧Hx∧Hy)

6. ∃x∃y( x≠y∧Hx∧Hy∧∀z(Hz→(z=x ∨ z=y)) )


1. Hx를 'x는 사람이다'로 생각하고, s를 소크라테스라고 하면 1과 같이 됩니다.

2. Hx를 'x는 사람이다', Ax를 'x는 동물이다'로 한다면, '사람은 동물이다'는 사람에 속하는 모든 개체는 동물에도 속한다는 것으로, '모든 x에 대하여, x가 사람이면 x는 동물이다'로 쓸 수 있으므로 2와 같이 됩니다.

3. 우리의 논의의 영역, 즉 '모든'에 대응하는 집합이 사람이라고 합시다. 그리고 Fyx를 y는 x의 아버지(y is a father of x)라고 한다면, '모든 x에 대하여 F와 yx관계를 맺는 y가 존재한다' 더 쉽게는 '모든 x에 대하여, 어떤 y가 있어서 Fyx이다'로 쓸 수 있습니다. 이를 3으로 씁니다.

 여기서 헷갈리실 수 있는데, ∀x는 for all x, for every x, for any x의 번역어입니다. 실제적인 의미에서는 가령 Px를 x는 소수라고 하고, x에 해당할 수 있는 값들이 자연수라고 합시다. 그러면 ∀xPx는, 이미 전체집합 혹은 논의의 영역(universe이라 부름)에서 '모든 x에 대하여 Px이다'라는 말입니다. 더 정확히는, 전체집합에 속하는 모든 원소를 다 나열한다고 했을 때 그 각각에 원소들에 대하여 술어가 성립한다는 말입니다. 자연수를 1,2,3,4,5...라고 한다면 ∀xPx는 P1, P2, P3, P4, ...이 모두 성립한다는 의미입니다.

 일반적으로 말하면 ∀x(∃y(Fyx))의 경우는, 전체집합이 {a,b}라면 ∃y(Fya), ∃y(Fyb)가 성립한다는 말입니다. 이제 ∃y(Fya) '전체집합에 속하는 원소인 어떤 y가 있어서 Fya가 성립한다'는 의미가 되므로 쉽게 판별할 수 있겠죠.


4. Px를 x는 대한민국 19대 대통령이라고 합시다. 대한민국 국민이라고 합시다. 유일하게 하나 있어야 하므로, 최소 하나 있고 그 이상 없다고 해야 합니다. 이를 표현하는 데는 두 가지 방식이 있습니다. 가령 Pa가 맞다면 a와 다른 어떤 b가 있어서 Pb이면 안 되겠죠. 혹은 어떤 임의의 b가 있는데 b가 Pb라면 유일하기 때문에 b는 a가 되어야겠죠.

 이를 표현하면, 전자는 ∃x(Px ∧¬∃y(x≠yPy)) 그리고 후자는 ∃x(Px y(Py→y=x))가 됩니다.



5. Hx를 'x는 히키대학교 학생이다'라고 봅시다. 만약 우리가 술어논리의 언어에 등호=를 허용한다고 해봅시다. 등호는 서술되는 두 대상이 동일하다는 성질을 나타냅니다. 보통 술어논리에서는 술어 뒤에 개체기호를 사용하기 때문에 엄밀하게는 =xy라고 써야하지만 현실적으로 x=y로 쓰기 때문에 편의상 x=y로 씁시다. 그러면 x=y의 부정인 ~(x=y)를 x≠y로 편의상 쓰기로 할 수 있습니다. 그렇다면, 우리는 '최소한 두 개가 있다'는 말을 쓸 수 있습니다. x,y가 존재하고 두 개가 같지 않다고 쓰면 됩니다. 가령 ∃x∃y(x≠y)라고 쓰면 되겠죠. 여기서 중요한 건, 서로 다른 두 대상이 있다는 것만 알 수 있고 정확히 몇 개 인지는 알 수 없다는 점입니다. 그래서 최소한 두 대상입니다. 최소한 두 대상이 존재하고, 그 대상들이 어떤 술어를 만족한다면(즉 술어에 속한다면) 술어에 속하는 서로 다른 두 대상이 있게 되겠죠. 따라서 ∃x∃y(x≠y∧Hx∧Hy)라고 쓴다면 전체집합이 사람일 때 '어떤 x,y가 있어서 x,y는 다르고 H를 만족한다' 즉 '서로 다른 두 사람이 히키대학교 학생이다'가 됩니다.

 이를 확장하면 임의의 서로 다른 대상 n개가 존재하고, 그 대상들이 술어를 만족한다고도 쓸 수 있습니다. 가령 서로 다른 4개의 대상이 있다고 한다면, x1,x2, x3, x4를 4개 중에서 서로 다르게 2개씩 뽑아서 서로 같지 않다고 표현하면 됩니다. 그래서 서로 다른 n개의 대상이 존재하고 그 대상들이 H를 만족한다는 표현은,

$\exists x_1\exists x_2 ...\exists x_n (\wedge_{i\neq j} x_i \neq x_j \wedge_{k=1...k=n} Hx_k)$ 입니다.

 

 식이 복잡한데, 의미는 간단합니다. $\wedge$를 하나하나 쓰기 어렵기 때문에 편의상 위와 같이 i와 j가 다른 모든 경우에 대하여 $\wedge$를 쓴다고 줄여씁니다. 서로 다른 i,j를 모두 뽑아서 xi와 xj가 다르다고 하는 겁니다. 뒷부분 역시 Hx1와 Hx2... Hxn을 모두 동시에 쓰기가 불편하기 때문에 줄여쓰는 표현입니다. 어쨌든 이렇게 표현할 수 있습니다. H술어 부분만 빼면 서로 다른 n개가 존재한다는 표현이 됩니다. 그래서 존재양화사(∃)와 등호와 부정기호만 있으면 '최소 n개이다'라는 수량화를 할 수 있습니다.


6. 6은 4와 5의 변형입니다. 딱 두명있다면 서로 다른 x,y가 있어야 하고, x,y가 각각 H를 만족하고 또한 x,y와 다르면서 H를 만족하는 z가 없거나   아니면 임의의 z가 있어서 z가 H를 만족하면 유일하게 두 개 이므로 z는 반드시 x나 y와 같아야 겠죠. 후자를 표현한 게 6번 식입니다.


 이를 응용하면 서로 다른 정확히 n개만 있다, 그리고 그 대상들이 술어를 만족한다는 표현을 쓸 수 있습니다. 전자에 대해서는 "x1, x2, ..., xn까지 대상이 있고 그들이 서로 다르고, x1 ...xn과 다른 y가 없다   혹은 다른 표현으로 임의의 y에 대하여 y는 x1이거나 x2이거나...xn로 쓸 수 있습니다. 식으로 쓰면
$\exists x_1\exists x_2 ...\exists x_n (\wedge_{i\neq j} x_i\neq x_j \wedge \neq\exists y(y\neq x_1 \wedge ...\wedge y\neq x_n))$나 $\exists x_1\exists x_2 ...\exists x_n (\wedge_{i\neq j} x_i\neq x_j \wedge \forall y(y=x_1 \vee ...\vee y=x_n)$입니다.

 술어를 만족하는 대상이 정확히 n개 있다는 표현은 '최소한 n개의 서로 다른 대상들이 있고, 만약 어떤 대상이 H를 만족한다면 그 대상은 x1 , ...,  xn 중에 하나이다'로 쓸 수 있고, 이는

$\exists x_1\exists x_2 ...\exists x_n (\wedge_{i\neq j} x_i\neq x_j \wedge_{k=1...k=n} H_k \wedge \forall y(Hy\rightarrow (y=x_1 \vee ...\vee y=x_n))$로 쓸 수 있습니다.



 너무 어려웠죠? 이제 좀더 중요하고 쉬운 사례를 봅시다.


1. 모든 실수는 0보다 작거나 0이거나 0보다 크다
2. 임의의 x,y,z에 대하여 x<y이면 x+z<x+y가 성립한다
3. 임의의 x,y 그리고 임의의 z>0에 대하여 0<x<y라면 0<xz<yz이다


 전체집합이 실수라고 합시다. 그리고 개체 0을 우리의 언어에 포함한다고 합시다. 그러면, 다음과 같습니다.


1. ∀x(x<0 ∨ x=0 ∨ 0<x)

2. ∀x∀y∀z(x<y → x+z<y+z)
3. ∀x∀y∀z( (0<x<y ∧ 0<z) → 0<xz<yz )


1. 명확하죠. 그런데 명심할 것은 술어논리에서는 개체는 반드시 술어뒤에 온다는 점입니다. <는 x,y에 대한 특정한 서술을 해주는 술어이므로 <xy라고 해야 합니다. 그러나 x<y가 관례이므로 허용해주는 것뿐입니다. 또한, 0<x라고 썼지만 편의상 x를 앞에 두기 위해 x>0라고 자주 씁니다.


2. 이 부분이 가장 중요합니다. 지금까지 우리는 개체에 관한 기호, 술어에 관한 기호, 변항(=variable), 그리고 and or if then 등 논리적 연결사들을 사용해서 언어를 분석했습니다. 그런데 +는 여기 어디에도 해당하지 않습니다. +는 함수기호죠. 사실 술어논리는 역사적으로 일상언어가 아니라 수학을 분석하기 위해 발달했기 때문에 우리는 함수기호를 술어논리의 언어에 포함시켜야 합니다. 사실 함수를 술어의 일종으로 표현할 수 있기는 한데, 함수를 수학의 근본적인 개념으로 이해하는 사람들도 있고, 술어의 일종으로 정의할 경우 논리학을 수학적으로 연구하는 수리논리학에서는 증명 등이 복잡해지기 때문에 함수기호와 술어기호를 분리해서 봅니다. 함수로 원래 변수가 하나면 f(x), 둘이면 f(x,y) 이렇게 쓰기 때문에 x+z는 +(x,z)나 +xz의 줄임말이라고 보시는 게 맞습니다. 술어논리에서는 +xz표현을 씁니다. 따라서 x+z<y+z를 엄밀히 쓰면 <+xz+yz가 됩니다. 그러나 관례상 이렇게 적지 않을 뿐입니다. 


3. $\cdot(x,y)=\cdot xy =x\cdot y$입니다.




 다음 시간엔 술어논리의 언어에 살펴봅시다.

Posted by 괴델
,