- 논리는 참으로 받아들이는 원자 명제에서 출발해
and,or,implies같은 연산자로 더 큰 명제를 만들며, 범주론과 마찬가지로 합성이 핵심임 - 고전 논리는 명제를 참/거짓 Boolean 값으로, 논리 연산자를 Boolean 함수로 해석하고 진리표로 부정·논리곱·논리합·함의·동치를 다룸
- 직관주의 논리의 BHK 해석은 명제를 증명이 있는 대상으로 보고,
A ∧ B는 증명 쌍,A → B는A의 증명을B의 증명으로 바꾸는 함수로 해석함 - 일부 범주에서는 객체가 명제, 사상이 증명에 대응하며, 순서에서는
A ≤ B가A → B를 뜻하는 preorder 또는 partial order로 나타남 - 직관주의 논리는 순서론적으로 Heyting algebra, 일반 범주론적으로 bicartesian closed category에 대응하며, 논리곱·논리합·참·거짓·함의가 각각 meet/join, terminal/initial, exponential object에 대응함
명제에서 시작하는 논리
- 논리는 관찰과 무관하게 자기 자신과 일관되는 형식적 규칙을 다루며, 어떤 것을 알 때 다른 것이 참임을 결론 내리거나 증명하는 체계임
- 수학 이론은 논리에 추가 정의를 더한 것으로 볼 수 있음
- 집합론은 표준 논리 공리에 집합 소속 관계라는 원시 개념을 더해 정의될 수 있음
- 논리를 시작하려면 참 또는 거짓으로 받아들이는 초기 명제 집합이 필요함
- 이는 전제, 원자 명제, primary proposition이라고 불림
- 두 개 이상의 명제는
and,or,implies/entails같은 논리 연산자로 하나의 합성 명제가 됨∧는and∨는or→는follows또는 함의를 뜻함
- 합성 명제도 원자 명제처럼 다시 다른 명제와 합성될 수 있음
Modus ponens와 항진명제
- Modus ponens는
A가 참이고A → B가 참이면B도 참이라는 오래된 논리 패턴임- 형식은
(A ∧ (A ⇒ B)) → B - “Socrates가 인간이고, 인간이면 죽는다면, Socrates는 죽는다” 같은 예로 표현됨
- 형식은
- 논리는 단일 연산만이 아니라 여러 논리 연산의 조합과 관계를 다룸
and와implies의 관계는 modus ponens에서 드러남and와or의 분배 법칙도 주요 관심 대상임
- 항진명제는 구성 명제들의 참·거짓 값과 관계없이 항상 참인 명제임
- Modus ponens는
A와B가 참이든 거짓이든 전체 공식이 항상 참임 - 항상 거짓인 명제는 모순이라고 불림
- 항진명제에
not을 붙이면 모순이 되고, 모순에not을 붙이면 항진명제가 됨
- Modus ponens는
- 값에 따라 참 또는 거짓이 달라지는 명제는 contingent statement로 불리며, 논리의 주요 관심에서 벗어남
- 가장 단순한 항진명제는 각 명제가 자기 자신을 함의한다는 동일률임
공리 스키마와 논리 체계
- 항진명제는 공리 스키마와 추론 규칙의 기반이 됨
- 공리 스키마는 자리표시자를 포함한 공식이며, 자리표시자를 명제로 대체해 구체적인 명제를 만들 수 있음
- Modus ponens에서 색상이나 구체 명제를 지우면 일반 구조가 남음
- 그 구조에 원자 명제나 합성 명제를 끼워 넣어 특정 modus ponens 명제를 만들 수 있음
- 추론 규칙은 공리 스키마와 거의 같은 방식으로 쓰일 수 있고, 공리 스키마도 추론 규칙처럼 적용될 수 있음
- 모든 항진명제는 공리 스키마로 사용할 수 있음
- 논리 체계 또는 형식 체계는 공리 스키마와 추론 규칙의 모음이며, 이를 적용해 가능한 모든 명제를 생성함
- 예시로 다섯 개 공리 스키마와 modus ponens 추론 규칙으로 구성된 체계가 제시됨
- 이런 논리 체계가 완전하다는 사실은 Gödel의 완전성 정리와 연결됨
고전 논리의 진리 함수 해석
- 고전 논리는 명제가 참 또는 거짓 중 하나라는 이분법에 기반함
- 고전 해석에서 명제와 연산자는 다음처럼 정의됨
- 명제는 Boolean 값처럼 참 또는 거짓인 것
- 논리 연산자는 하나 이상의 Boolean 값을 받아 Boolean 값을 반환하는 함수
- 부정
¬p는 단항 연산이며, 참을 거짓으로, 거짓을 참으로 바꿈- 같은 내용을 진리표로 표현할 수 있음
- 이중 부정 제거는 부정을 두 번 적용하면 시작한 값으로 돌아온다는 방식으로 증명됨
and는 두 Boolean 값을 받아 둘 다 참일 때만 참을 반환함p ∧ q → pp ∧ q → q
or는 두 Boolean 값 중 하나라도 참이면 참을 반환함p → p ∨ qq → p ∨ q
implies또는 material condition은p → q로 쓰이며,p가 참이고q가 거짓일 때만 거짓임- 고전 논리에서
p → q는¬p ∨ q가 참인 경우와 같음
- 고전 논리에서
if and only if또는iff는 두 명제가 같은 값을 가질 때 참임P ↔ Q는P → Q ∧ Q → P와 동치임
- 진리표뿐 아니라 공리와 추론 규칙으로도
p → q와¬p ∨ q의 동치를 증명할 수 있음- 완전한 동치 증명에는 양방향 증명이 모두 필요함
직관주의 논리와 BHK 해석
- 직관주의 논리는 증명을 보편적 진리의 발견이 아니라 구성으로 봄
- 이 관점에서는 모든 명제가 반드시 참 또는 거짓이라는 이분법을 사용할 수 없음
- 어떤 명제는 거짓이라서가 아니라 주어진 논리 체계의 범위 밖에 있어 증명되지 않을 수 있음
- 쌍둥이 소수 추측이 이런 예로 자주 제시됨
- Brouwer–Heyting–Kolmogorov(BHK) 해석에서는 명제보다 증명이 중심에 놓임
- 명제는 증명을 가진 것
- 논리 연산자는 다른 증명들로부터 증명을 만드는 구성
A ∧ B의 증명은A의 증명과B의 증명으로 이루어진 쌍, 즉 product임A → B는A의 증명을B의 증명으로 변환하는 함수가 존재한다는 뜻임A → B의 증명 집합은A에서B로 가는 함수들의 집합, 즉 hom-set으로 표현됨- 이 집합이 비어 있으면
A의 증명을B의 증명으로 바꿀 방법이 없음
- BHK 해석에는 별도의 iff 연산이 없지만 화살표가 있음
A에서B로,B에서A로 가는 함수가 있을 때 두 명제는 동치처럼 다뤄짐- 집합 관점에서는 두 명제의 증명 집합이 동형인 상황임
- 부정은 단순히 증명이 없다는 뜻이 아니라,
A가 참이라고 가정하면 모순에 도달함을 보여야 함⊥는 증명이 없는 공식의 증명, 즉 False 또는 bottom value 역할을 함- BHK에서
¬A는A → ⊥로 읽힘 - 집합론에서는
⊥가 공집합으로 표현됨
논리를 범주로 보기
- BHK 해석은 논리를 범주론으로 해석하기 위한 고수준 관점을 제공함
- 일부 범주는 논리 체계처럼 볼 수 있음
- 객체는 명제
- 사상은 증명
- 모든 범주가 논리 체계가 되는 것은 아니며, 유효한 논리 명제에 대응하는 객체가 있고 유효하지 않은 명제에 대응하는 객체가 없도록 하는 조건이 필요함
- 그런 조건을 만족하는 범주는 bicartesian closed category라고 불림
- 단순한 경우로 순서(order)를 먼저 보면, 논리 체계와 원자 명제 집합은 범주를 이룸
A에서B로 가는 방법이 하나뿐이거나 차이를 무시하면 preorder가 됨- 서로 따라 나오는 명제들을 동치로 보면 partial order가 됨
A ≤ B는A → B를 뜻함
- Hasse diagram에서는
A가B아래에 있을 때A → B가 성립함
논리 연산의 순서론적 대응
- 논리의
and와or는 BHK 해석에서 product와 sum으로 나타나며, 순서론에서는 meet와 join에 대응함 - 논리 체계가 되려면 임의의 두 명제를
and또는or로 결합할 수 있어야 하므로, 순서는 모든 원소에 대해 meet와 join을 가져야 함- 이런 순서는 lattice라고 불림
and와or사이의 중요한 법칙은 분배성임- 모든
A,B,C에 대해A ∧ (B ∨ C) ≅ (A ∧ B) ∨ (A ∧ C)가 성립하면 distributive lattice임
- 모든
- 직관주의 논리를 표현하려면 lattice에
True와False에 대응하는 원소도 있어야 함False는⊥로 쓰이며, False의 증명이 있으면 어떤 명제든 증명될 수 있다는 폭발 원리와 연결됨True는⊤로 쓰이며, 모든 명제로부터 따라 나오지만 그 자체에서 유의미한 내용은 나오지 않음
- 순서에서
True와False는 각각 greatest object와 least object임- 범주론 용어로는 terminal object와 initial object에 대응함
- least와 greatest를 가진 lattice는 bounded lattice임
함의 객체와 지수 객체
- 논리 체계를 표현하는 lattice에는 각
A,B쌍마다A가B를 함의한다는 명제를 나타내는 함의 객체가 필요함 - 이 객체는 modus ponens 구조로 정의됨
A ∧ (A ⇒ B) → B가 성립해야 함
- 단순히 이 조건만으로는 충분하지 않음
A ⇒ B ∧ C나A ⇒ B ∧ C ∧ D같은 다른 객체도 같은 자리에 들어갈 수 있음- 실제
A ⇒ B는A ∧ X → B를 만족하는X들 중 가장 큰 객체임
- 순서론에서는
A ⇒ B를 exponential element 또는 relative pseudo-complement라고 부름A ∧ X ≤ B를 만족하는 가장 큰X임
- 논리적으로는
A ∧ X → B를 만족하는 가장 사소한 명제X가 함의 명제A ⇒ B임 - 범주론적으로는 exponential object 또는 internal homomorphism object로 정의됨
A × X → B라는 사상이 있어야 함- 같은 성질을 가진 다른 후보 객체에서 실제 지수 객체로 가는 유일한 사상이 존재해야 함
- 이 함의 객체 정의는 직관주의 논리에 맞음
- 고전 논리에서는 배중률 때문에
A ⇒ B가¬A ∨ B로 단순화됨
- 고전 논리에서는 배중률 때문에
- meet, join, 함의 객체처럼
A ⇒ B도 유일한 동형까지 정의됨
Heyting algebra와 bicartesian closed category
- 직관주의 논리는
True,False,and,or,implies로 구성됨 - 이를 순서로 표현하면 Heyting algebra가 됨
- join과 meet를 가짐
- greatest와 least 객체를 가짐
- 함의 객체를 가짐
- 직관주의 논리 체계는 Heyting algebra로 볼 수 있음
and와or는 meet와 joinTrue와False는 greatest와 least 객체implies는 exponential object
- 같은 정의를 일반 범주에 맞게 바꾸면 bicartesian closed category가 됨
- product와 coproduct를 가짐
- initial과 terminal object를 가짐
- exponential object를 가짐
- 직관주의 논리 체계는 bicartesian closed category로도 볼 수 있음
and와or는 product와 coproductTrue와False는 terminal과 initial objectimplies는 exponential object
- 고전 논리를 따르는 lattice는 bounded, distributive에 더해 complemented여야 함
- 각 명제
A에 대해 고유한¬A가 있어A ∨ ¬A = 1,A ∧ ¬A = 0을 만족함 - 이런 lattice는 Boolean algebra라고 불림
- 각 명제
범주적 논리로 보는 간단한 증명
A ∨ ⊤ ≅ ⊤는 join의 정의에서 바로 따라옴- join은 두 객체보다 크거나 같은 최소 상계임
⊤보다 크거나 같은 객체는⊤자신뿐이므로, 임의의A와⊤의 join은⊤임- 논리적으로는 “임의의
A또는 True는 True”라는 항진명제임
A → B가 있으면A ∨ B = B임- 두 객체 중 하나가 다른 하나보다 위에 있으면, join은 더 위에 있는 객체임
- 이는
A ∨ ⊤ = ⊤의 일반화로 볼 수 있음 - 모든 객체
A에 대해 항상A → ⊤가 성립하기 때문임
- 동일률은 함의 객체로도 증명됨
A ⇒ A는A ∧ X → A를 만족하는 가장 큰X임- 이 조건은 모든
X에 대해 성립하므로 가장 큰 객체⊤가 됨 - 따라서
A → A는 항상 참임
A가 모든 모델에서B를 함의하는 semantic consequenceA ⊨ B라면A ⇒ B도⊤에 대응함A자체가 이미B를 함의하므로A ∧ X → B가 모든X에 대해 성립함- 이는 deduction theorem으로도 불림
Free Heyting algebra로 논리 만들기
- 논리를 수행하려면 먼저 문제 영역에 따라 사용할 원자 명제를 고름
- 선택한 논리의 종류가 직관주의 논리라면 모든
A,B에 대해A ∧ B,A ∨ B같은 합성 명제를 그래프로 그려야 함 - 합성 명제들의 합성도 다시 포함해야 하므로 전체 목록은 무한해짐
- 어떤 명제가 다른 명제를 함의하는지는 출발 명제에서 나가는 화살표의 경로를 따라가며 확인함
- 논리 수행은 이미 아는 것에서 증명하고 싶은 것까지 가는 경로를 찾거나, 이미 가진 증명을 조작해 증명을 구성하는 과정임
- 직관주의 논리에서는 일반적으로 어떤 사실이 공리로부터 도달 불가능하다는 것, 즉 증명될 수 없다는 것을 증명하기 어려움