1차 논리 (一次論理, 영어 : first-order logic )는 원소에만 한정 기호를 가할 수 있고, 술어에는 한정 기호를 가할 수 없는 술어 논리 이다.[ 1] 명제 논리 와 달리 변수에 대하여 한정 기호를 사용할 수 있으나, 2차 논리 와 달리 변수들의 집합에 대하여 한정 기호를 사용할 수 없다. 1차 논리의 경우, (2차 논리 와 달리) 괴델의 완전성 정리 · 콤팩트성 정리 · 뢰벤하임-스콜렘 정리 와 같은 중요한 성질들이 성립한다.
이외에 1차 술어 논리 , 1계 논리 등으로도 불린다. 간단히 술어 논리 (predicate logic)라 하면 1차 논리를 가리키는 경우가 많다.
1차 논리는 다음의 요소들로 이루어진다.
특정 문자열들의 집합을 논리식 의 집합이라고 한다. 논리식이 만족시켜야 하는 문법은 재귀적으로 정의된다.
특정 논리식 집합으로부터 다른 논리식을 추론 할 수 있다. 이에 대한 규칙은 힐베르트 체계 및 다른 여러 방식으로 명시될 수 있다.
1차 논리 언어의 의미론 이란 그 언어의 문장들에 대하여 참인지 여부를 일관적으로 부여하는 구조이다. 이는 보통 모형 으로 주어진다.
다음과 같은 데이터가 주어졌다고 하자. (여기서
N
{\displaystyle \mathbb {N} }
은 자연수 , 즉 음이 아닌 정수의 집합이다.)
집합
I
{\displaystyle I}
및 함수
m
:
I
→
N
{\displaystyle m\colon I\to \mathbb {N} }
,
i
↦
m
i
{\displaystyle i\mapsto m_{i}}
.
I
{\displaystyle I}
는 유한 집합이거나 무한 집합일 수 있다. 이를 연산 (演算, 영어 : operation )의 집합이라고 한다.
집합
J
{\displaystyle J}
및 함수
n
:
J
→
N
{\displaystyle n\colon J\to \mathbb {N} }
,
j
↦
n
j
{\displaystyle j\mapsto n_{j}}
.
J
{\displaystyle J}
는 유한 집합이거나 무한 집합일 수 있다. 이를 관계 (關係, 영어 : relation )의 집합이라고 한다.
그렇다면,
(
I
,
m
,
J
,
n
)
{\displaystyle (I,m,J,n)}
으로 정의되는 1차 논리 언어
L
I
,
J
⊆
Σ
∗
{\displaystyle {\mathcal {L}}_{I,J}\subseteq \Sigma ^{*}}
는 특정한 문자열들의 집합이다. 이 문자열을 구성하는 문자 집합
Σ
=
{
x
n
}
n
∈
N
⊔
{
∀
,
=
,
⟹
,
¬
}
⊔
{
f
i
}
i
∈
I
⊔
{
R
j
}
j
∈
J
{\displaystyle \Sigma =\{{\mathsf {x}}_{n}\}_{n\in \mathbb {N} }\sqcup \{\forall ,=,\implies ,\lnot \}\sqcup \{{\mathsf {f}}_{i}\}_{i\in I}\sqcup \{{\mathsf {R}}_{j}\}_{j\in J}}
은 구체적으로 다음과 같다.
가산 무한 개의 변수들
x
0
,
x
1
,
x
2
,
…
{\displaystyle {\mathsf {x}}_{0},{\mathsf {x}}_{1},{\mathsf {x}}_{2},\dots }
가산 무한 개의 변수들만으로 충분한 이유는 모든 논리식 의 길이가 유한하기 때문이다. 무한 논리 의 경우 더 많은 변수들을 추가할 수 있다.
명제 논리 의 연산
⟹
{\displaystyle \implies }
(함의 ) 및
¬
{\displaystyle \lnot }
(부정 ).
그 대신 다른 기호들을 사용할 수도 있다. 예를 들어, 논리합
∨
{\displaystyle \lor }
또는 논리곱
∧
{\displaystyle \land }
등이 있다.
등호
=
{\displaystyle =}
전칭 기호 (全稱記號, 영어 : universal quantifier )
∀
{\displaystyle \forall }
.
그 대신 존재 기호 (存在記號, 영어 : existential quantifier )
∃
{\displaystyle \exists }
를 사용할 수도 있다. 사실, 임의의 변수
x
{\displaystyle x}
에 대하여
∀
x
ϕ
⟺
¬
∃
x
¬
ϕ
{\displaystyle \forall x\phi \iff \lnot \exists x\lnot \phi }
이며
∃
x
ϕ
⟺
¬
∀
x
¬
ϕ
{\displaystyle \exists x\phi \iff \lnot \forall x\lnot \phi }
이므로, 이들은 서로 동치이다.
각
i
∈
I
{\displaystyle i\in I}
에 대하여, 기호
f
i
{\displaystyle {\mathsf {f}}_{i}}
. 이를
m
i
{\displaystyle m_{i}}
항 연산 이라고 하며,
m
i
{\displaystyle m_{i}}
를
f
i
{\displaystyle {\mathsf {f}}_{i}}
의 항수 (項數, 영어 : arity )라고 한다. 0항 연산을 상수 (영어 : constant )라고 한다.
각
j
∈
J
{\displaystyle j\in J}
에 대하여, 기호
R
j
{\displaystyle {\mathsf {R}}_{j}}
. 이를
n
j
{\displaystyle n_{j}}
항 관계 라고 하며,
n
j
{\displaystyle n_{j}}
를
R
j
{\displaystyle {\mathsf {R}}_{j}}
의 항수 (項數, 영어 : arity )라고 한다. 1항 관계를 술어 (영어 : predicate )라고 한다. (항수가 0인 관계는 고전 명제 논리 에서는 참 또는 거짓이 되므로 자명하다.)
이 밖에도, 괄호
(
)
{\displaystyle ()}
및 반점
,
{\displaystyle ,}
등은 엄밀히 말해 불필요하지만, 가독성을 돕기 위해 첨가한다. 예를 들어,
f
i
x
0
x
2
{\displaystyle {\mathsf {f}}_{i}{\mathsf {x}}_{0}{\mathsf {x}}_{2}}
대신
f
i
(
x
0
,
x
2
)
{\displaystyle {\mathsf {f}}_{i}({\mathsf {x}}_{0},{\mathsf {x}}_{2})}
로 쓴다.
이 기호들 가운데,
{
f
i
}
i
∈
I
{\displaystyle \{{\mathsf {f}}_{i}\}_{i\in I}}
및
{
R
j
}
j
∈
J
{\displaystyle \{{\mathsf {R}}_{j}\}_{j\in J}}
를 제외한 기호들을 논리 기호 (영어 : logical symbol )라고 한다.
1차 논리의 항 (項, 영어 : term )은 다음 문법을 따른다.
모든 변수는 항이다.
임의의
i
∈
I
{\displaystyle i\in I}
와
m
i
{\displaystyle m_{i}}
개의 항
t
1
,
t
2
,
…
,
t
m
i
{\displaystyle t_{1},t_{2},\dots ,t_{m_{i}}}
에 대하여,
f
i
(
t
1
,
t
2
,
…
,
t
m
i
)
{\displaystyle {\mathsf {f}}_{i}(t_{1},t_{2},\dots ,t_{m_{i}})}
은 항이다. (상수의 경우, 즉
m
i
=
0
{\displaystyle m_{i}=0}
일 때, 보통 괄호
f
i
(
)
{\displaystyle {\mathsf {f}}_{i}()}
를 생략하여
f
i
{\displaystyle {\mathsf {f}}_{i}}
로 쓴다.)
1차 논리의 논리식 (영어 : (well-formed) formula )은 다음 문법을 따르는, 위 기호들의 문자열이다.
임의의
j
∈
J
{\displaystyle j\in J}
와
n
j
{\displaystyle n_{j}}
개의 항
t
1
,
…
,
t
n
j
{\displaystyle t_{1},\dots ,t_{n_{j}}}
에 대하여,
R
j
(
t
1
,
…
,
t
n
j
)
{\displaystyle {\mathsf {R}}_{j}(t_{1},\dots ,t_{n_{j}})}
은 논리식이다.
두 항
t
1
{\displaystyle t_{1}}
,
t
2
{\displaystyle t_{2}}
에 대하여,
t
1
=
t
2
{\displaystyle t_{1}=t_{2}}
는 논리식이다.
논리식
ϕ
{\displaystyle \phi }
와
χ
{\displaystyle \chi }
에 대하여,
¬
ϕ
{\displaystyle \lnot \phi }
와
ϕ
⟹
χ
{\displaystyle \phi \implies \chi }
는 논리식이다.
논리식
ϕ
{\displaystyle \phi }
에 등장하는 변수
x
i
{\displaystyle x_{i}}
가 자유 변수라면,
∀
x
ϕ
{\displaystyle \forall x\phi }
는 논리식이다.
여기서 논리식
ϕ
{\displaystyle \phi }
및 그 속에 등장하는 변수
x
{\displaystyle x}
에 대하여, 만약
ϕ
{\displaystyle \phi }
가
∀
x
{\displaystyle \forall x}
를 포함하지 않는다면,
x
{\displaystyle x}
를
ϕ
{\displaystyle \phi }
의 자유 변수 (영어 : free variable )라고 하며, 그렇지 않다면
x
{\displaystyle x}
를
ϕ
{\displaystyle \phi }
의 종속 변수 (영어 : bound variable )라고 한다.
자유 변수를 갖지 않는 (즉, 그 속에 등장하는 모든 변수가 종속 변수인) 논리식을 문장 (文章, 영어 : sentence )이라고 한다.
1차 논리의 증명 이론 은 다양한 방식으로 공리화할 수 있다. 예를 들어 다비트 힐베르트 의 힐베르트 체계 (영어 : Hilbert system )나, 게르하르트 겐첸 의 시퀀트 계산 (영어 : sequent calculus )이나 자연 연역 (영어 : natural deduction ) 등을 사용할 수 있다.
1차 논리를 힐베르트 체계를 사용하여 공리화하면, 다음과 같다. 우선, 편의상 다음과 같은 기호만을 사용한다고 하자.
명제 논리 에서, 오직 함의
⟹
{\displaystyle \implies }
와 부정
¬
{\displaystyle \lnot }
만을 사용한다고 하자. (논리합 이나 논리곱 과 같은 다른 명제 논리 기호는 이 둘로 나타낼 수 있다.)
술어 논리 에서, 오직 전칭 기호
∀
{\displaystyle \forall }
만을 사용한다고 하자. (존재 기호
∃
{\displaystyle \exists }
는
∀
{\displaystyle \forall }
만으로 나타낼 수 있다.)
이 경우, 다음과 같은 공리 기본꼴(영어 : axiom schema )들을 정의한다. 이 공리 기본꼴들에서 사용된 기호들은 다음과 같다.
ϕ
{\displaystyle \phi }
,
χ
{\displaystyle \chi }
,
ψ
{\displaystyle \psi }
는 임의의 논리식을 뜻한다.
t
{\displaystyle t}
,
u
{\displaystyle u}
는 임의의 항을 뜻한다.
x
{\displaystyle x}
는 임의의 변수를 뜻한다.
즉, 공리 기본꼴에서 위의 기호들을 실제의 논리식·항·변수로 치환하면 공리들을 얻는다.
우선, 추론 규칙으로 전건 긍정의 형식
㈀
ϕ
⟹
χ
ϕ
χ
{\displaystyle {\begin{matrix}\phi \implies \chi \\\phi \\\hline \chi \end{matrix}}}
과 일반화
㈁
ϕ
∀
x
ϕ
{\displaystyle {\begin{matrix}\phi \\\hline \forall x\phi \end{matrix}}}
추론 규칙 ㈁에서,
x
{\displaystyle x}
는
ϕ
{\displaystyle \phi }
의 자유 변수이어야 한다.
가 있다. 이 밖에, 다음과 같은 명제 논리 의 공리 기본꼴들이 사용된다.
㈂
ϕ
⟹
(
χ
⟹
ϕ
)
{\displaystyle \phi \implies \left(\chi \implies \phi \right)}
㈃
(
ϕ
⟹
(
χ
⟹
ψ
)
)
⟹
(
(
ϕ
⟹
χ
)
⟹
(
ϕ
⟹
ψ
)
)
{\displaystyle \left(\phi \implies \left(\chi \implies \psi \right)\right)\implies \left(\left(\phi \implies \chi \right)\implies \left(\phi \implies \psi \right)\right)}
㈄
(
¬
ϕ
⟹
¬
χ
)
⟹
(
χ
⟹
ϕ
)
{\displaystyle \left(\lnot \phi \implies \lnot \chi \right)\implies \left(\chi \implies \phi \right)}
1차 술어 논리의 경우, 다음과 같은 추가 공리 기본꼴들이 사용된다.
㈅
∀
x
ϕ
⟹
ϕ
[
t
/
x
]
{\displaystyle \forall x\phi \implies \phi [t/x]}
㈆
∀
x
(
ϕ
⟹
χ
)
⟹
(
∀
x
ϕ
⟹
∀
x
χ
)
{\displaystyle \forall x\left(\phi \implies \chi \right)\implies \left(\forall x\phi \implies \forall x\chi \right)}
㈇
x
=
x
{\displaystyle x=x}
㈈
(
t
=
u
)
⟹
(
ϕ
[
t
/
x
]
⟹
ϕ
[
u
/
x
]
)
{\displaystyle \left(t=u\right)\implies \left(\phi [t/x]\implies \phi [u/x]\right)}
공리 기본꼴 ㈈에서,
x
{\displaystyle x}
는 논리식
ϕ
{\displaystyle \phi }
의 자유 변수이어야 한다.
위 공리 기본꼴들에서,
ϕ
[
t
/
x
]
{\displaystyle \phi [t/x]}
는 논리식
ϕ
{\displaystyle \phi }
에 등장하는 자유 변수
x
{\displaystyle x}
를 항
t
{\displaystyle t}
로 대체하여 얻는 논리식 을 뜻한다. 예를 들어, 체 의 언어에서
“
¬
(
x
=
2
)
∧
(
∀
x
x
=
y
)
)
∨
x
=
3
”
[
(
1
+
1
)
/
x
]
=
“
¬
(
(
1
+
1
)
=
2
)
∧
(
∀
x
x
=
y
)
)
∨
1
+
1
=
3
”
{\displaystyle {\text{“}}\lnot (x=2)\land \left(\forall xx=y)\right)\lor x=3{\text{”}}[(1+1)/x]={\text{“}}\lnot \left((1+1)=2\right)\land \left(\forall xx=y)\right)\lor 1+1=3{\text{”}}}
이다. 이때, 논리식 내부의 ‘
∀
x
x
=
y
{\displaystyle \forall xx=y}
’에서
x
{\displaystyle x}
가 치환되지 않는 이유는 이 부분에서는
x
{\displaystyle x}
가 종속 변수이기 때문이다.
1차 논리의 의미론은 보통 모형 으로 주어진다. 주어진 연산 집합
I
{\displaystyle I}
와 관계 집합
J
{\displaystyle J}
을 갖는 1차 논리 언어
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}}
가 주어졌다고 하자. 그렇다면, 이 언어의 모형 은 집합
X
{\displaystyle X}
및 각
n
{\displaystyle n}
항 연산
i
∈
I
{\displaystyle i\in I}
에 대하여
f
i
{\displaystyle {\mathsf {f}}_{i}}
의 해석
f
i
X
:
X
n
→
X
{\displaystyle {\mathsf {f}}_{i}^{X}\colon X^{n}\to X}
및 각
n
j
{\displaystyle n_{j}}
항 관계
R
j
{\displaystyle {\mathsf {R}}_{j}}
에 대하여 그 해석
R
j
X
∈
P
(
X
n
j
)
{\displaystyle {\mathsf {R}}_{j}^{X}\in {\mathcal {P}}(X^{n_{j}})}
으로 구성된다. 이를 통해,
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}}
의 문장
ϕ
{\displaystyle \phi }
와
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}}
의 모형
M
{\displaystyle M}
에 대하여,
ϕ
{\displaystyle \phi }
가
M
{\displaystyle M}
에서 참인지 또는 거짓인지 여부를 정의할 수 있다.
ϕ
{\displaystyle \phi }
가
M
{\displaystyle M}
에서 참이라는 것은
M
⊨
ϕ
{\displaystyle M\models \phi }
로 표기한다.
보다 일반적으로,
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}}
의 논리식
ϕ
{\displaystyle \phi }
가 자유 변수
x
1
,
…
,
x
k
{\displaystyle x_{1},\dots ,x_{k}}
를 갖는다고 하자. 그렇다면,
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}}
의 모형
M
{\displaystyle M}
및 그 속의
k
{\displaystyle k}
개의 원소
(
m
1
,
…
,
m
k
)
∈
M
k
{\displaystyle (m_{1},\dots ,m_{k})\in M^{k}}
가 주어졌을 때,
ϕ
{\displaystyle \phi }
가
M
{\displaystyle M}
에서
(
m
i
)
i
=
1
k
{\displaystyle (m_{i})_{i=1}^{k}}
에 대하여 참인지 또는 거짓인지 여부를 정의할 수 있다. 이는
M
⊨
ϕ
[
m
1
/
x
1
,
…
,
m
k
/
x
k
]
{\displaystyle M\models \phi [m_{1}/x_{1},\dots ,m_{k}/x_{k}]}
로 표기한다.
1차 논리의 경우 콤팩트성 정리 와 뢰벤하임-스콜렘 정리 가 성립한다.
비논리 기호를 포함하지 않는 1차 논리 문장들의 집합을
L
=
0
{\displaystyle {\mathcal {L}}_{=}^{0}}
라고 하자. 그 가운데, 모든 모형 에서 참인 문장들의 부분 집합
T
=
{
ϕ
∈
L
=
0
:
∀
M
∈
Model
(
L
=
)
:
M
⊨
ϕ
}
{\displaystyle {\mathcal {T}}=\{\phi \in {\mathcal {L}}_{=}^{0}\colon \forall M\in \operatorname {Model} ({\mathcal {L}}_{=})\colon M\models \phi \}}
을 생각하자. 또한,
L
=
0
{\displaystyle {\mathcal {L}}_{=}^{0}}
속에서, 위의 힐베르트 체계를 통해 증명할 수 있는 문장들의 집합을
T
′
=
{
ϕ
∈
L
=
0
:
⊢
ϕ
}
{\displaystyle {\mathcal {T}}'=\{\phi \in {\mathcal {L}}_{=}^{0}\colon \vdash \phi \}}
그렇다면, 다음이 성립한다.
1차 논리의 건전성 정리 에 따르면,
T
=
T
′
{\displaystyle {\mathcal {T}}={\mathcal {T}}'}
이다. 즉, 명제가 증명 가능한지 여부는 명제가 참인지 여부와 동치이다.
T
{\displaystyle {\mathcal {T}}}
는 재귀 집합 이다. (이는 레오폴트 뢰벤하임이 1915년에 증명하였다.)
보다 일반적으로, 임의의 가산 연산 집합
I
{\displaystyle I}
와 관계 집합
J
{\displaystyle J}
를 갖는 1차 논리 언어
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}}
속에서, 문장들의 집합을
L
I
,
J
0
⊆
L
I
,
J
{\displaystyle {\mathcal {L}}_{I,J}^{0}\subseteq {\mathcal {L}}_{I,J}}
라고 하자. 그 가운데, 모든 모형 에서 참인 문장들의 부분 집합
T
=
{
ϕ
∈
L
I
,
J
0
:
∀
M
∈
Model
(
L
I
,
J
)
:
M
⊨
ϕ
}
{\displaystyle {\mathcal {T}}=\{\phi \in {\mathcal {L}}_{I,J}^{0}\colon \forall M\in \operatorname {Model} ({\mathcal {L}}_{I,J})\colon M\models \phi \}}
을 생각하자.
괴델의 완전성 정리 에 따르면,
T
{\displaystyle {\mathcal {T}}}
는 재귀 열거 집합 이다.
만약
R
{\displaystyle {\mathcal {R}}}
에 (등호를 제외한) 2항 이상의 항수를 갖는 관계가 존재한다면,
T
{\displaystyle {\mathcal {T}}}
는 재귀 집합 이 아니다.
만약
I
=
∅
{\displaystyle I=\varnothing }
이며,
J
{\displaystyle J}
의 모든 관계가 술어(1항 관계) 또는 등호라면,
T
{\displaystyle {\mathcal {T}}}
는 재귀 집합 이다. 이러한 언어를 1항 1차 언어 (영어 : monadic first-order language )라고 한다.
린드스트룀 정리 (영어 : Lindström’s theorem )에 따르면, 1차 술어 논리는 (가산) 콤팩트성 정리 와 하향 뢰벤하임-스콜렘 정리 를 만족시키는 가장 강력한 논리 체계이다.[ 2]
체르멜로-프렝켈 집합론 의 언어는 하나의 2항 관계
∈
{\displaystyle \in }
만을 포함하며, 아무런 연산을 갖지 않는다. 집합론 에서 사용되는 대부분의 명제들은 이 언어로 나타낼 수 있다.
체 의 1차 논리 언어
I
=
{
+
,
⋅
,
−
,
0
,
1
}
{\displaystyle I=\{+,\cdot ,-,0,1\}}
m
+
=
m
⋅
=
2
{\displaystyle m_{+}=m_{\cdot }=2}
m
−
=
1
{\displaystyle m_{-}=1}
m
0
=
m
1
=
0
{\displaystyle m_{0}=m_{1}=0}
J
=
∅
{\displaystyle J=\varnothing }
는 두 개의 이항 연산 과 하나의 1항 연산 및 두 개의 상수(0항 연산)을 포함하며, 등호 밖의 관계를 갖지 않는다. 보통
f
+
(
a
,
b
)
{\displaystyle {\mathsf {f}}_{+}(a,b)}
는
a
+
b
{\displaystyle a+b}
와 같이 표기한다.
순서체 의 1차 논리 언어
I
=
{
+
,
⋅
,
−
,
0
,
1
}
{\displaystyle I=\{+,\cdot ,-,0,1\}}
m
+
=
m
⋅
=
2
{\displaystyle m_{+}=m_{\cdot }=2}
m
−
=
1
{\displaystyle m_{-}=1}
m
0
=
m
1
=
0
{\displaystyle m_{0}=m_{1}=0}
J
=
{
≤
}
{\displaystyle J=\{\leq \}}
n
≤
=
2
{\displaystyle n_{\leq }=2}
는 두 개의 이항 연산 과 하나의 1항 연산 및 두 개의 상수(0항 연산)을 포함하며, 하나의 2항 관계를 갖는다. 보통
R
≤
(
a
,
b
)
{\displaystyle {\mathsf {R}}_{\leq }(a,b)}
는
a
≤
b
{\displaystyle a\leq b}
와 같이 표기한다.
범주 의 1차 논리 언어는 다음과 같이, 하나의 3항 관계
C
(
−
,
−
,
−
)
{\displaystyle {\mathsf {C}}(-,-,-)}
(
C
(
x
,
y
,
z
)
{\displaystyle {\mathsf {C}}(x,y,z)}
는
x
∘
y
=
z
{\displaystyle x\circ y=z}
임을 뜻함)
와 두 개의 1항 연산
dom
(
−
)
{\displaystyle \operatorname {dom} (-)}
(사상 의 정의역 )
codom
(
−
)
{\displaystyle \operatorname {codom} (-)}
(사상 의 공역 )
으로 나타낼 수 있다. 변수들은 사상 을 나타내며, 대상들은 항등 사상으로 나타내어진다. 편의상 다음과 같은 술어를 정의하자.
O
b
j
(
x
)
⟺
dom
(
x
)
=
codom
(
x
)
=
x
{\displaystyle {\mathsf {Obj}}(x)\iff \operatorname {dom} (x)=\operatorname {codom} (x)=x}
이는
x
{\displaystyle x}
가 항등 사상(즉, 대상)임을 뜻한다. 그렇다면, 범주의 1차 논리 이론은 다음과 같은 공리들로 구성된다.
dom
(
x
)
=
x
⟺
codom
(
x
)
=
x
{\displaystyle \operatorname {dom} (x)=x\iff \operatorname {codom} (x)=x}
(항등 사상의 두 정의의 동치성)
O
b
j
(
dom
x
)
{\displaystyle {\mathsf {Obj}}(\operatorname {dom} x)}
(사상의 정의역은 대상)
O
b
j
(
codom
x
)
{\displaystyle {\mathsf {Obj}}(\operatorname {codom} x)}
(사상의 공역은 대상)
C
(
x
,
y
,
z
)
⟹
dom
x
=
codom
y
{\displaystyle {\mathsf {C}}(x,y,z)\implies \operatorname {dom} x=\operatorname {codom} y}
(사상 합성의 존재의 필요 조건 )
C
(
x
,
y
,
z
)
⟹
dom
y
=
dom
z
{\displaystyle {\mathsf {C}}(x,y,z)\implies \operatorname {dom} y=\operatorname {dom} z}
(합성 사상의 정의역)
C
(
x
,
y
,
z
)
⟹
codom
x
=
codom
z
{\displaystyle {\mathsf {C}}(x,y,z)\implies \operatorname {codom} x=\operatorname {codom} z}
(합성 사상의 공역)
C
(
x
,
y
,
a
)
∧
C
(
a
,
z
,
c
)
∧
C
(
y
,
z
,
b
)
∧
C
(
x
,
b
,
d
)
⟹
c
=
d
{\displaystyle {\mathsf {C}}(x,y,a)\land {\mathsf {C}}(a,z,c)\land {\mathsf {C}}(y,z,b)\land {\mathsf {C}}(x,b,d)\implies c=d}
(사상 합성의 결합 법칙 )
O
b
j
(
x
)
∧
C
(
x
,
y
,
z
)
⟹
y
=
z
{\displaystyle {\mathsf {Obj}}(x)\land {\mathsf {C}}(x,y,z)\implies y=z}
(항등 사상과의 합성)
O
b
j
(
y
)
∧
C
(
x
,
y
,
z
)
⟹
x
=
z
{\displaystyle {\mathsf {Obj}}(y)\land {\mathsf {C}}(x,y,z)\implies x=z}
(항등 사상과의 합성)
이 이론의 모형 의 개념은 작은 범주 의 개념과 동치이다.
↑ Hodges, Wilfrid (2001년 8월). 〈Classical logic I: first order logic〉. Goble, Lou. 《The Blackwell Guide to Philosophical Logic》 (영어). Blackwell. ISBN 978-0-631-20693-4 . Zbl 1003.03010 .
↑ Lindström, Per (1969년 4월). “On extensions of elementary logic”. 《Theoria》 (영어) 35 (1): 1–11. doi :10.1111/j.1755-2567.1969.tb00356.x . ISSN 0040-5825 .
↑ Frege, Gottlob (1879). 《Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens》 (독일어). 할레 : Verlag von Louis Nebert.
↑ 가 나 Putnam, Hilary (1982). “Peirce the logician”. 《Historia Mathematica》 (영어) 9 (3): 290–301. doi :10.1016/0315-0860(82)90123-9 . ISSN 0315-0860 .
↑ 가 나 다 라 Moore, Gregory H. (1988). 〈The emergence of first-order logic〉 (PDF) . Aspray, William; Kitcher, Philip. 《History and philosophy of modern mathematics》. Minnesota Studies in the Philosophy of Science (영어) 11 . University of Minnesota Press. 95–135쪽. JSTOR 10.5749/j.cttttp0k.7 .
↑ Peirce, Charles Sanders (1885년 1월). “On the algebra of logic: a contribution to the philosophy of notation”. 《American Journal of Mathematics》 (영어) 7 (2): 180–202. doi :10.2307/2369451 . ISSN 0002-9327 . JFM 17.0044.02 . JSTOR 2369451 .
↑ Skolem, Thoralf (1923). 〈Einige Bemerkungen zur axiomatischen Begründung der Mengenlehre〉. 《Matematikerkongressen i Helsingfors den 4–7 Juli 1922, Den femte skandinaviska matematikerkongressen, Redogörelse》 (독일어). 헬싱키 : Akademiska Bokhandeln. 217–232쪽. JFM 49.0138.02 .
↑ Eklund, Matti (1996년 12월). “On how logic became first-order” (PDF) . 《Nordic Journal of Philosophical Logic》 (영어) 1 (2): 147–167. Zbl 0885.03006 .
↑ 가 나 Ferreiros, Jose (2001년 12월). “The road to modern logic — an interpretation” (PDF) . 《The Bulletin of Symbolic Logic》 (영어) 7 (4): 441–484. doi :10.2307/2687794 . ISSN 1079-8986 . JSTOR 2687794 . Zbl 1005.03003 . 2015년 3월 26일에 원본 문서 (PDF) 에서 보존된 문서. 2016년 7월 29일에 확인함 .