개념
술어 논리는 명제를 통째로 하나의 기호로 보지 않고, 객체와 관계로 나누어 표현하는 논리이다. 명제 논리보다 더 구체적이고 풍부한 지식 표현이 가능하다.
구조
예를 들어 “Kim has a house”는 명제 논리에서는 하나의 문장으로 처리된다. 술어 논리에서는 HAS(Kim, house)처럼 술어와 객체로 나눈다.
- 술어: 관계나 속성
- 객체: 술어가 적용되는 대상
- 변수: 여러 대상에 일반적으로 적용되는 자리
- 한정사: 모든 또는 어떤을 표현
한정사
- ∀: 모든
- ∃: 적어도 하나, 어떤
예를 들어 “모든 인간은 죽는다”는 다음처럼 표현한다.
자동 추론
술어 논리에서는 유니피케이션, CNF 변환, 스콜렘화 같은 과정을 통해 자동 추론을 수행할 수 있다. Prolog는 술어 논리 기반 추론을 쉽게 표현하는 언어이다.