술어 논리
술어 논리(述語論理, 영어: predicate logic) 또는 함수 논리(函數論理) 또는 양화 논리(量化論理)는 명제에 존재하는 '주어'와 '술어'의 구조로부터 '주어'가 될 수 있는 대상에 대해 한정 기호를 사용하는 논리이다. 따라서 명제 논리와는 달리 명제의 내부 구조 분석에 의한 추론 규칙을 다룰 수 있다.
1차 논리 · 2차 논리 · 고차 논리 따위가 있으며, 특히 수학의 기초를 이루는 1차 논리에서는 완전성, 건전성과 같은 여러 주요한 성질들이 성립한다.
술어 논리는 유럽의 고틀로프 프레게와 미국의 찰스 샌더스 퍼스에 의해 각각 독자적으로 창안되었다. 프레게의 초기 술어 논리는 여러 논리학자들에게 큰 영향을 주어 이후 20세기에 철저한 논리주의의 발전 속에 술어 계산(predicate calculus)으로서 형식화되었다.
개요
편집술어 논리에서는 하나의 명제를 술어와 객체로 분리하여 표현한다. 하나의 술어는 하나 이상의 객체를 수식할 수 있다. 또한 객체에는 상수가 사용될 수도 있고 변수가 사용될 수도 있다.
- 가 한국인 이라면 는 인간이다.:
변수 가 나타내는 객체의 집합 를 정의역(domain)이라 한다. 이 정의역 내에서 '한국인'인 만을 지정하는 기호로 ' '와 ' '를 사용할 수 있다. ' '는 '적어도 어느 하나의 가 존재함'을 나타내며 '존재기호'라 부른다. ' '는 '모든 에 대하여'라는 의미로 사용되며 '전칭기호'라 부른다.
' '와 ' '를 총칭하여 '한정기호'라 하며 한정기호를 포함하고 있는 논리식에 대해서는 다음의 등식이 성립한다.
또한 술어 논리에서는 객체사이의 관계를 나타내는 함수기호를 사용할 수 있다. 예를 들어 "father(John)"은 'John'의 아버지에 해당되는 객체를 가리킨다.
명제논리와의 차이
편집명제논리에서는 명제가 최소 단위이므로 명제의 내부구조에 대한 분석은 이루어질 수 없다. 예를 들어 다음과 같은 두 명제논리
- '소크라테스는 사람이다.'
- '플라톤은 사람이다.'
는 완전히 별개의 사실이며, 이것으로부터 '소크라테스'와 '플라톤'이 모두 사람이라는 유사점을 발견할 수 없다. 즉, 명제논리는 지식표현을 일반화할 수 없다. 따라서,
- '모든 사람은 죽는다.'
라는 명제를 추가할 때, 이 세 명제로부터 소크라테스와 플라톤은 죽는다는 사실을 유도해 낼 수 없게 되는 것이다.
술어 논리는 명제논리의 이러한 문제를 해결할 수 있다. 술어 논리는 하나의 명제를 술어와 그 술어의 수식을 받는 객체로 분리하여 '술어(객체)'의 형태로 표현한다. 예를 들면 앞의 세 명제는 다음과 같이 술어 논리식으로 표현될 수 있다.
- '소크라테스는 사람이다: '
- '플라톤은 사람이다: '
- '모든 사람은 죽는다: '
여기서 은 '사람이다'라는 술어에 해당되고, 와 은 각각 '소크라테스'와 '플라톤'을 나타내는 객체가 된다. 이때 와 은 모두 이라는 공통된 술어의 수식을 받고 있다. 이때 , 이 모두 참이라면 에 의해 와 이 모두 참이라는 사실을 유도해 낼 수 있다.