{{위키데이터 속성 추적}}
'''고차 논리'''(高次論理, {{llang|en|higher-order logic}})는 관계 또는 관계의 관계 등을 지칭하는 변수에 전칭·존재 기호를 가할 수 있는 일련의 논리 체계들이다. 모든 고차 논리는 '''ω차 논리'''(ω次論理, {{llang|en|ω-order logic}})의 부분 논리 체계로 생각할 수 있다.<ref name="Andrews">{{서적 인용
|성=Andrews
|이름=Peter B.
|제목=An Introduction to Mathematical Logic and Type Theory
|언어=en
|총서=Applied Logic Series
|출판사=Springer
|위치=Dordrecht
|날짜=2002
|isbn=978-90-481-6079-2
|doi=10.1007/978-94-015-9934-4
}}</ref>{{rp|Chapter 5, §50}}

== 정의 ==
=== 문법 ===
<math>d\in\{2,3,\dots,\omega\}</math>가 2 이상의 [[자연수]] 또는 가장 작은 무한 [[극한 순서수]] <math>\omega</math>라고 하자.

'''''d''차 논리'''(''d''次論理, {{llang|en|''d''th-order logic}})의 '''종류'''(種類, {{llang|en|sort}})와 이들의 '''차수'''(次數, {{llang|en|order}})는 다음과 같다. (편의상 연산의 종류를 다루는 것을 생략하자.)
* <math>\imath</math>는 0차 종류이다.
* 차수가 각각 <math>d_1,\dots,d_n</math>인 종류 <math>\sigma_1,\dots,\sigma_n</math>에 대하여, 만약 <math>\max\{d_1,\dots,d_n\}+1<d</math>라면, <math>(\sigma_1\cdots\sigma_n)</math>은 <math>\max\{d_1,\dots,d_n\}+1</math>차 종류이다.

''d''차 논리의 언어는 각 종류의 변수와 상수들로 구성된다. 종류가 <math>\imath</math>인 변수를 '''개체 변수'''(個體變數, {{llang|en|individual variable}})라고 하며, 종류가 <math>()</math>인 변수를 '''명제 변수'''(命題變數, {{llang|en|propositional variable}})라고 한다.

''d''차 논리의 '''[[논리식]]'''(論理式, {{llang|en|(well-formed) formula}})은 다음과 같다.
* 종류 <math>(\sigma_1\cdots\sigma_n)</math>의 변수 또는 상수 <math>t^{(\sigma_1\cdots\sigma_n)}</math> 및 종류가 각각 <math>\sigma_1,\dots,\sigma_n</math>인 변수 또는 상수 <math>u_1^{\sigma_1},\dots,u_n^{\sigma_n}</math>에 대하여, <math>t^{(\sigma_1\cdots\sigma_n)}(u_1^{\sigma_1},\dots,u_n^{\sigma_n})</math>은 논리식이다.
* <math>d-1</math>차 미만의 같은 종류 <math>\sigma</math>의 두 변수 또는 상수 <math>t^\sigma,u^\sigma</math>에 대하여, <math>t^\sigma=u^\sigma</math>는 논리식이다.
* 논리식 <math>\phi,\psi</math> 및 변수 <math>x^\sigma</math>에 대하여,
** <math>\lnot\phi</math>는 논리식이다.
** 만약 <math>\phi</math>의 속박 변수가 <math>\psi</math>에 등장하지 않으며, <math>\psi</math>의 속박 변수가 <math>\phi</math>에 등장하지 않는다면, <math>\phi\implies\psi</math>는 논리식이다.
** 만약 <math>x^\sigma</math>가 <math>\phi</math>의 자유 변수라면, <math>\forall x^\sigma\phi</math>는 논리식이다.
여기서 논리식 <math>\phi</math>와 그 속에 등장하는 변수 <math>x^\sigma</math>에 대하여, 만약 <math>\phi</math>가 <math>\forall x^\sigma</math>를 포함하지 않는다면, <math>x^\sigma</math>를 <math>\phi</math>의 '''[[자유 변수]]'''(自由變數, {{llang|en|free variable}})라고 하며, 그렇지 않다면 <math>x^\sigma</math>를 <math>\phi</math>의 '''[[속박 변수]]'''(束縛變數, {{llang|en|bound variable}})라고 한다.

=== 증명 이론 ===
다음과 같은 기호들을 사용하자.
* <math>\phi</math>, <math>\psi</math>, <math>\chi</math>는 임의의 논리식이다.
* 각 종류 <math>\sigma</math>에 대하여, <math>x^\sigma</math>, <math>y^\sigma</math>, <math>z^\sigma</math>, <math>y_i^\sigma</math>, <math>z_i^\sigma</math>는 종류 <math>\sigma</math>의 변수이다.
* 각 종류 <math>\sigma</math>에 대하여, <math>t^{\sigma}</math>는 종류 <math>\sigma</math>의 변수 또는 상수이다.

''d''차 논리의 [[추론 규칙]]들은 다음과 같다.
* ([[전건 긍정]]) <math>
\begin{matrix}
\phi\qquad\phi\implies\psi\\
\hline
\psi
\end{matrix}
</math>
* ([[일반화 (논리학)|일반화]]) <math>
\begin{matrix}
\phi\\
\hline
\forall x\phi
\end{matrix}</math>
** 여기서 <math>x</math>는 <math>\phi</math>의 자유 변수이어야 한다.

''d''차 논리의 [[공리 기본꼴]]들은 다음과 같다.
* <math>\phi\implies(\psi\implies\phi)</math>
* <math>(\phi\implies(\psi\implies\chi))\implies((\phi\implies\psi)\implies(\phi\implies\chi))</math>
* <math>(\lnot\phi\implies\lnot\psi)\implies(\psi\implies\phi)</math>
* <math>\forall x^\sigma\phi\implies\phi[t^\sigma/x^\sigma]</math>
** 여기서 <math>x^\sigma</math>는 <math>\phi</math>의 자유 변수이며, <math>\phi[t^\sigma/x^\sigma]</math>는 <math>\phi</math>에 등장하는 자유 변수 <math>x^\sigma</math>를 모두 <math>t^\sigma</math>로 대체하여 얻는 논리식이다. 만약 <math>t^\sigma</math>가 변수일 경우, <math>x^\sigma</math>는 <math>\phi</math>의 <math>\forall t^\sigma\cdots</math> 꼴의 부분 논리식 속에 등장하지 않아야 한다.
* <math>\forall x^\sigma(\phi\implies\psi)\implies(\phi\implies\forall x^\sigma\psi)</math>
** 여기서 <math>x^\sigma</math>는 <math>\phi</math>에 등장하지 않는 변수이며, <math>\psi</math>의 자유 변수이어야 한다.
* ([[분류 공리 기본꼴]]) <math>\exists x^{(\sigma_1\cdots\sigma_n)}\forall y_1^{\sigma_1}\cdots\forall y_n^{\sigma_n}(x^{(\sigma_1\cdots\sigma_n)}(y_1^{\sigma_1},\dots,y_n^{\sigma_n})\iff\phi)</math>
** 여기서 <math>x^{(\sigma_1\cdots\sigma_n)}</math>은 <math>\phi</math>의 자유 변수일 수 없다.
* <math>x^\sigma=x^\sigma</matH>
* <math>(x^\sigma=y^\sigma)\implies(z^{(\sigma)}(x^\sigma)\implies z^{(\sigma)}(y^\sigma))</math>
* ([[확장 공리]]) <math>\forall z_1^{\sigma_1}\cdots\forall z_n^{\sigma_n}(x^{(\sigma_1\cdots\sigma_n)}(z_1^{\sigma_1},\dots,z_n^{\sigma_n})\iff y^{(\sigma_1\cdots\sigma_n)}(z_1^{\sigma_1},\dots,z_n^{\sigma_n}))\implies(x^{(\sigma_1\cdots\sigma_n)}=y^{(\sigma_1\cdots\sigma_n)})</math>
물론 모든 공리는 ''d''차 논리의 유효한 논리식이어야 한다. 예를 들어, 확장 공리는 3차 논리에서부터 사용된다. (다른 공리들은 [[2차 논리]]에도 존재한다.)

== 같이 보기 ==
* [[1차 논리]]

== 각주 ==
{{각주}}

{{전거 통제}}

[[분류:수리논리학]]