술어 논리 체계에서 문장은 술어와 상항을 결합하여 만들 수 있습니다. 하지만 술어에 호응할 수 있는 건 상항뿐만이 아니에요. 변항variable 역시 술어와 함께 문장을 구성할 수 있어요. 변항은 상항과 달리 지칭하는 대상이 확정되지 않은 자유로운(?) 영혼을 가졌습니다. 수학에서와 마찬가지로 알파벳 소문자 x, y, z 등으로 나타내죠.
F: -는 외계인이다 G: -는 효과가 있다 H: -는 배신자다
술어를 이렇게 둘 경우 Fx는 "x는 외계인이다"가 되고, ~Gy는 "y는 효과가 없다"가 되죠. 그런데 이들 문장은 그 속에 품고 있는 변항은 아직 그 어떤 것도 지칭하지 않기 때문에 진리값을 가질 수가 없습니다. 이런 문장을 열린 문장open sentence 혹은 식formula이라 불러요.
이 열린 문장이 진리값을 가질 수 있도록 하려면 어떻게 해야 할까요?
변항을 상항으로 치환하면 되겠죠?
a: 타노스 b: 고무고무 열매 c: 엘사
Fa는 "타노스는 외계인이다"가 되어 참이고, ~Gb는 "고무고무 열매는 효과가 없다"가 되어 거짓이죠.
하지만 술어에 대응하는 표현이 꼭 특정한 대상을 가리키지 않더라도 문장이 진리값을 갖도록 할 방법은 있습니다. 바로 변항의 범위를 제한하면 겁니다.
가령 "x+1>4"라는 열린 문장(=식)은 그 자체로 진리값을 갖진 않죠? 하지만 x가 (정확히 얼마인지는 몰라도) 3을 초과한다는 사실만 주어진다면 충분히 이 문장은 진리값을 가질 수 있습니다. 이 경우엔 참이겠죠.
술어 논리 체계엔 이렇게 변항의 범위를 정해주는 양화사quantifier라는 게 있습니다.
양화사
양화사는 두 가지로 나뉘어요. 보편 양화사universal quantifier와 존재 양화사existential quantifier가 있죠.
①보편 양화사는 변항과 결합함으로써 (특정 범위 내에서) 모든 것이 그 변항에 해당함을 나타냅니다. 그래서 그 기호도 모든 것을 의미하는 영단어 "All"의 첫 글자를 거꾸로 뒤집은 ∀가 되었죠.
사용할 때는 보편 양화사 기호 ∀와 이로써 그 범위를 제한하고자 하는 변항을 함께 쓰게 됩니다.
가령 "x는 외계인이다"라는 문장 Fx 앞에 ∀x를 붙임으로써 모든 것이 x의 자리에 들어갈 수 있음을, 그러니까 x는 무엇이든 될 수 있음을 나타내는 거죠.
(∀x)Fx
이렇게요. 이는 "모든 x에 대하여, x는 외계인이다For every x, x is alien"라는 의미가 됩니다. 한마디로 "모든 것이 외계인이다"라는 거죠. 물론 이 문장은 거짓입니다. 고등어가 외계인은 아니죠.
때론 보편 양화사 기호를 생략하고 "(x)Fx"와 같이 쓰기도 합니다. 참고하세요!
②존재 양화사는결합한 변항에 대응하는 것이 적어도 하나는 존재함을 나타냅니다. (특정 범위 안에서) 정확히 무엇인지는 몰라도 어느 것 하나 정도는 그 변항의 자리에 갈 수 있음을 의미하는 거죠.
그 기호는 존재를 뜻하는 영단어 "Existence"의 첫 글자를 거꾸로 뒤집은 ∃에요. 사용법은 보편 양화사와 동일합니다. 다만, 존재 양화사 기호는 보편 양화사 기호처럼 생략하지 않습니다.
(∃y)Hy
이는 "어떤 y에 대하여, y는 배신자다For some y, y is a betrayer"라는 의미가 됩니다. 즉 "어떤 것이 배신자다" 혹은 "배신자는 존재한다"는 의미죠. 누군진 몰라도 하여간 배신자가 있기는 있다는 겁니다.
이렇게 양화사에 의해 그 범위가 제한된 변항을 속박 변항bound variable이라고 부릅니다. (양화사가 붙기 전에는 자유 변항free variable이라고 하고요.)
그러니까 문장은 변항을 포함하고 있더라도 그 변항이 모두 속박 변항일 때에는 진리값을 갖게 됩니다. 더 이상 열린 문장이 아니게 되는 거죠. 말하자면 양화사는 열린 문장을 닫는(!) 일을 하는 거예요.