함수논리 또는 양화(量化)의 논리라고도 하며, 보통 [[명제 논리]](命題論理)보다 한 단계 위쪽에 놓인다.
== 명제논리와 술어논리의 차이 ==
명제논리에서의[[명제논리]]에서는 명제는명제가 한 단위로 취급되어 그 내부구조 속으로 파고들어간 분석은 이루어질 수 없다.
예를 들어 다음 명제논리는
예를 들어 다음과 같은 두 명제논리
'플라톤은소크라테스는 사람이다'
이들 두명제는는 완전히 별개의 사실이며, 이것으로부터 '소크라테스'와 '플라톤'이 모두 사람이라는 유사점을 발견할 수 없다. 즉, 명제논리는 지식표현의지식표현을 일반화일반화할 측면에서수 문제가 있다없다. 따라서
'모든 사람은 죽는다'
라는 명제가명제를 있을추가할 때, 이 세 명제로부터 소크라테스와 플라톤은 죽는다는 사실을 유도해 낼 수 없게 되는 것이다.
술어논리는 명제 논리의명제논리의 이러한 문제를 해결할 수 있다. 술어논리는 하나의 명제를 술어와 그 술어의 수식을 받는 객체로 분리하여 '술어(객체)'의형태로 표현한다. 예를 들면 앞의 명제들은세 명제는 다음과 같이 술어논리식으로 표현될 수 있다.
''소크라테스는 사람이다 -> Man(SOCRATES)'',<br />
''플라톤은 사람이다 -> Man(PLATO)'',<br />
''모든 사람은 죽는다 -> <math>\forall</math>x{man(x)->Die(x)}'',<br />
여기서 Man은 '사람이다'라고라는 하는술어에술어에 해당되고, SOCRATES와 PLATO는 각각 '소크라테스'와 '플라톤'을나타내는을 나타내는 객체가 된다. 이때 SOCRATES와 PLATO는 모두 Man이라는 공통된 술어에 의해술어의 수식을 받고 있다.
이때 Man(SOCRATES), Man(PLATO)이가 모두 참이라면 <math>\forall</math>x{man(x)->Die(x)}에 의해 Die(SOCRATES)와 Die(PLATO)가 모두 참이라는 사실을 유도해 낼 수 있다.
-== 술어논리의 표현 ==
하나의 명제를 술어와 객체로 분리하여 표현한다. 하나의 술어는 한개하나 이상의 객체를 수식할 수 있다. 또한 객체는 상수가 사용될 수도 있고 변수가 사용될 수도 있다.
예) x가 한국인이라면 x는 인간이다. -> Korean(x) -> Man(x)
이 문장에서 사용된 변수 x가 어느 범위의 객체를 대상으로 하는가를 결정해야 한다. 이 객체의 집합 D를 정의역(domain)이라 한다.
이 범위를 지정하는 기호로 사용되는 것이 '∃'와 '∀'가 있다. '∃x'는 '적어도 어느 하나의 x가 존재함'을 나타내며 '존재기호'라 부른다. '∀x'는 '모든 x에 대하여'라는 의미로 사용되며 '전칭기호'라 부른다.
'∃'와 '∀'를 총칭하여 '한정기호'라 하며 한정기호를 포함하고 있는 논리식에 대해서는 다음의 등식이 성립힌다.
1.# ~(∃x)P(x)≡(∀x){~P(x)}
2.# ~(∀x)P(x)≡(∃x){~P(x)}
3.# (∀x){P(x)∧Q(x)}≡(∀x)P(x)∧(∀x)Q(x)
4.# (∃x){P(x)∨Q(x)}≡(∃x)P(x)∨(∃x)Q(x)
5.# (∀x)P(x)≡(∀y)P(y)
6.# (∃x)P(x)≡(∃y)P(y)
또한 다음과 같이 술어논리에서는 객체사이의 관계를 나타내는 함수기호를 사용할 수 있다.
father(철수)
예)father(철수) 는 '철수'의 아버지에 해당되는 객체를 나타낸다.
[[분류:논리학]]
|