본문 바로가기
Topos Uranos

요약

이 수업은 명제 논리의 언어를 다루는, 강좌의 첫 단원을 연다. 단원의 네 수업과 그것들을 잇는 실마리를 제시하는데, 그 실마리는 타당성과 참의 구별에서 한국어로 된 논증의 형식화에까지 이른다. 또 언어에서 연역, 의미론, 메타이론으로 나아가는 강좌 전체의 길 위에 단원을 자리매김하고, 왜 구문론이 나머지 셋에 앞서야 하는지 설명한다. 원과 원판이라는 두 기호만으로, 그리고 단 하나의 형성 규칙으로 이루어진 언어를 고른 까닭을 밝히고, 전제로 하는 얼마 안 되는 것, 곧 주의 깊게 읽기와 초등 산술을 분명히 한다. 단원이 해결하는 문제, 곧 모든 표현이 단 하나의 읽기만 갖도록 쓰고 그것을 무한히 많은 논리식에 대해 증명하는 문제를 정식화하며, 끝으로 단원을 공부하는 방법을 조언한다.

학습 목표

  1. 단원 내용의 순서를 서술하고, 각 수업이 다음 수업에 무엇을 보태는지 설명한다.
  2. 강좌의 경로(언어, 연역, 의미론, 메타이론) 안에 단원을 자리매김하고, 왜 구문론을 나머지 세 부분보다 먼저 공부하는지 설명한다.
  3. 연결사를 인자들 사이에 두고 괄호를 쓰지 않는 표기가 왜 중의적이며, 원과 원판의 언어는 왜 그렇지 않은지를 예를 들어 설명한다.
  4. 단원이 전제로 하는 얼마 안 되는 것을 확인하고, 입문 자기 평가를 출발점으로 삼아 단원의 공부를 계획한다.

입문 평가

단원을 공부하기 전에 출발점을 재어 보는 것이 좋다. 이 평가는 자기 평가이다. 점수를 매기지 않으며, 공부의 방향을 잡는 것만이 목적이다. 열한 문항은 차례로 단원의 네 수업을 다룬다. 첫째 수업에 세 문항, 둘째 수업에 세 문항, 셋째 수업에 두 문항, 넷째 수업에 세 문항이다. 논리학을 공부해 본 적이 없는 사람은 모두 맞히리라 기대하지 않아도 되며, 그래도 상관없다. 모든 답은 맞든 틀리든 요점을 설명하고, 그것을 다루는 수업의 이름을 알려 준다. 같은 기능은 마지막 종합 수업에서 다시 잰다. 이것은 선수 과목이 없는 강좌의 첫 단원이므로, 앞 단원에 관한 문항은 없다.

입문 평가

단원을 시작하기 전에 출발점을 확인해 보세요. 짧은 자기 평가입니다. 점수가 매겨지지 않으며 결과는 브라우저에만 저장됩니다.

  1. 문제 1어떤 논증이 타당하고, 그 결론이 거짓이다. 그 전제들에 대해 무엇을 말할 수 있는가?

  2. 문제 2문장 “‘로마’는 두 글자이다”는 무엇에 대해 말하며, 참인가?

  3. 문제 3수의 목록 44, 66, 77에 대해 “목록의 모든 수가 소수가 아니다”라고 주장한다. 이 문장에 대해 무엇을 말할 수 있는가?

  4. 문제 4길이가 44인 서로 다른 기호열은 두 기호 ∘\sigO, ∙\sigI만으로 몇 개나 쓸 수 있는가?

  5. 문제 5u=∘∙u = \sigO\sigI이고 w=∙w = \sigI일 때, 연접 uw\cadena{uw}, 곧 ww를 uu 뒤에 쓴 것은 어떤 기호열인가?

  6. 문제 6이 강좌의 언어에서 변항은 기호열 ∘∙\sigO\sigI, ∘∘∙\sigO\sigO\sigI, ∘∘∘∙\sigO\sigO\sigO\sigI 등이며, 단 하나의 규칙은 φ\varphi와 ψ\psi가 논리식이면 ∙φψ\sigI\varphi\psi도 논리식이라고 말한다. 다음 기호열 가운데 논리식은 어느 것인가?

  7. 문제 7모든 자연수 kk에 대해 3k3^{k}이 짝수이면 3k+13^{k + 1}도 짝수라는 것을 증명했다고 하자. 이로부터 무엇을 결론지을 수 있는가?

  8. 문제 8원과 원판의 언어의 모든 논리식이 어떤 성질을 가진다는 것을 증명하려면 무엇을 증명하면 충분한가?

  9. 문제 9사전 pp: “비가 온다”, qq: “경기가 취소된다”로 둘 때, “비가 오는 경우에만 경기가 취소된다”는 어떻게 형식화되는가?

  10. 문제 10사전 pp: “비가 온다”, qq: “춥다”로 둘 때, 구문 “비도 오지 않고 춥지도 않다”를 문자 그대로 따르는 논리식은 어느 것인가?

  11. 문제 11이 강좌의 함의 (p→q)(p \rightarrow q), 곧 실질 조건문은 어떤 경우에 거짓인가?

단원의 내용

이 단원은 무엇보다도 강좌의 첫째 목표, 곧 대상 언어와 메타언어를 구별하고 형성 규칙으로 기호열이 논리식인지 판정하는 데 이바지한다. 둘째 목표, 곧 자연 언어의 진술과 논증을 형식화하는 데에도 이바지하며, 넷째 목표, 곧 메타정리를 귀납법으로 증명하는 것을 준비하는데, 이 목표는 강좌의 마지막 단원까지 이어진다. 단원이 지향하는 것은, 이를 마친 사람이 논리학이 무엇을 연구하는지 알고, 완전히 엄밀하게 구성된 형식 언어를 갖추며, 그 모든 논리식의 성질을 증명할 줄 알고, 한국어의 진술과 논증을 그 언어로 옮길 수 있게 되는 것이다. 이때 번역이 무엇을 보존하고 무엇을 잃는지도 알게 된다. 단원의 네 수업은 각 수업이 앞의 수업들에 기대는 하나의 사슬을 이룬다.

  1. 수리논리학이란 무엇인가. 이 학문의 대상을 정한다. 그것은 개별 진술의 참이 아니라 타당성, 곧 전제의 참이 결론으로 넘어감을 보장하는 전제와 결론 사이의 관계이다. 타당성을 참과 구별하고, 중의적이며 자기 자신에 대해 말할 수 있는 자연 언어가 왜 타당성을 연구하기에 충분하지 않은지 보이며, 대상 언어와 메타언어의 구별을 세운다. 거짓말쟁이 역설, 베리 역설, 이발사 역설, 러셀 역설을 가정을 명시하여 분석하고, 강좌의 지도로 끝맺는다.
  2. 명제 논리의 언어. 집합과 기호열에 관해 꼭 필요한 것을 가르치고, 두 기호로 쓸 수 있는 기호열을 세며, 기본 언어를 구성한다. 원과 원판으로 쓴 무한히 많은 변항, 단 하나의 형성 규칙, 그리고 닫힘 조항이며, 이 조항에서 모든 논리식의 성질을 증명하는 원리가 도출된다. 기호열이 논리식인지 판정하는 절차를 주고, 기본 언어 위에 앞으로 사용할 메타언어를 구성한다. 메타변항, 괄호로 쓴 부정논리합, 그리고 나머지 연결사의 공식 약어이다.
  3. 자연수와 논리식에 관한 귀납법. 자연수에 관한 귀납법을 단순한 형태와 강한 형태로 가르치고, 이를 논리식으로 옮긴다. 이것으로 무게 보조정리를 증명하고, 그로부터 앞 수업이 진술해 둔 유일 판독성 정리를 증명한다. 곧 모든 복합 논리식은 단 한 가지 방식으로만 분해된다. 끝으로 유일 판독성은 논리식에 관한 재귀적 정의(길이, 부분식, 깊이)와 한 부분식에 다른 논리식을 대입하는 것을 정당화한다.
  4. 자연어의 형식화. 한국어와 형식 언어 사이에 다리를 놓는다. 형식화의 사전, 기본 연결사의 읽기에서 이끌어 낸 각 연결사의 읽기, “하지만”, “~인 경우에만”, “~지 않는 한”의 미묘한 점, 연결사의 작용역, 실질 조건문, 그리고 명제 논리가 표현할 수 없는 것이다. 끝으로 완전한 논증을 전제 집합과 결론으로 형식화하며, 다음 단원들은 이를 연역과 의미론에 부친다.

단원은 종합과 도전 과제 수업으로 끝난다. 이 수업은 이룬 것을 연역의 사슬로 모으고, 마무리 평가에서 입문 평가의 기능을 되풀이하며, 여러 수업을 엮는 도전 과제를 낸다.

강좌 안에서 단원의 자리

이 강좌는 논리학의 가장 단순한 언어에 대해 논리 이론이 걷는 길 전체를 걸으며, 이를 네 부분으로 나누어 한다. 그것이 강좌의 네 내용 단원이다. 첫째 단원, 곧 이 단원은 언어를 정한다. 둘째인 연역은 논리식 φ\varphi가 공리와 추론 규칙을 통해 논리식의 집합 Γ\Gamma에서 얻어진다는 것이 무슨 뜻인지 정의하며, 이를 Γ⊢φ\Gamma \vdash \varphi로 쓰게 된다. 이것은 타당성의 구문론적인 면으로, 기호의 의미에 주의하지 않고 기호를 다룬다. 셋째인 의미론은 각 진리값 할당 아래에서 각 논리식에 진리값을 부여하며, φ\varphi가 Γ\Gamma의 의미론적 귀결이라는 것이 무슨 뜻인지 정의하고, 이를 Γ⊨φ\Gamma \models \varphi로 쓰게 된다. 이것은 타당성의 의미론적인 면이다. 넷째인 메타이론은 두 면이 일치함을 증명한다. 건전성은 연역 가능한 것은 모두 귀결이라고 말하고, 완전성은 모든 귀결이 연역 가능하다고 말한다.

그렇다면 구문론은 줄여도 되는 머리말이 아니라 나머지 세 부분의 조건이다. 연역은 논리식의 열이며, 어떤 열이 연역인지 판정하려면 어떤 기호열이 논리식이고 그것이 어떻게 분해되는지를 망설임 없이 알아야 한다. 진리값 할당은 재귀에 의해 변항에서 모든 논리식으로 확장되는데, 재귀가 각 논리식에 하나의 값을 주는 것은 각 논리식이 단 한 가지 방식으로만 읽힐 때뿐이다. 메타이론의 정리는 논리식의 복잡도나 연역의 길이에 관한 귀납법으로 증명된다. 이로부터 단원의 순서가 따라 나온다. 먼저, 무엇을 연구하려 하며 왜 형식 언어가 필요한가. 다음으로, 언어 그 자체. 그다음, 그 모든 논리식에 대해 무언가를 증명하는 도구이며, 이것으로 유일 판독성이 증명된다. 끝으로, 한국어 논증으로 가는 다리이며, 그것이 앞의 모든 것이 존재하는 이유이다.

왜 원과 원판의 언어인가

이 강좌의 언어는 원 ∘\sigO, 원판 ∙\sigI의 두 기호만으로 된 알파벳과 단 하나의 형성 규칙을 가진다. φ\varphi와 ψ\psi가 논리식이면 ∙φψ\sigI\varphi\psi도 논리식이다. nn번째 변항은 원 nn개 뒤에 원판 하나가 오는 기호열 vn=∘n∙v_{n} = \sigO^{n}\sigI이다. 얼핏 보면 이 선택은 이상하다. 이렇게 쓴 논리식은 읽기 어렵기 때문이다. 그러나 이 선택에는 분명한 이유가 네 가지 있다.

첫째, 두 기호만 있으면 유한한 알파벳을 벗어나지 않고 무한히 많은 변항을 쓸 수 있으므로, 모든 논리식은 글자 그대로 두 원소로 된 집합의 기호들로 이루어진 유한한 기호열이며, 언어에 관한 물음은 세고 비교할 수 있는 기호열에 관한 물음이 된다. 둘째, 규칙이 하나뿐이므로 귀납법에 의한 증명마다 경우가 하나만 남는다. 변항과 ∙φψ\sigI\varphi\psi에 대해 증명된 것은 연결사마다 경우를 나누지 않고도 모든 논리식에 대해 증명된 것이다. 셋째, 규칙은 연결사를 두 인자 앞에 두는데, 이는 얀 우카시에비치가 1920년대에 제안한 표기와 같으며, 그래서 괄호가 필요 없다. 유일 판독성은 각 변항에 무게 +1+1을, 각 연결 원판에 무게 −1-1을 부여하는 한 쪽짜리 논증으로 증명된다. 넷째, 단 하나의 연결사인 부정논리합, 곧 “φ\varphi도 ψ\psi도 아니다”는 다른 모든 연결사를 표현하기에 충분하다. 이는 찰스 샌더스 퍼스가 1880년 무렵에 알아차렸고 헨리 셰퍼가 1913년에 발표했으며, 의미론 단원에서 증명된다. 따라서 언어의 경제성은 명제 논리가 말할 수 있는 것을 하나도 희생하지 않는다.

그런데 이 경제성의 대가는 읽기 쉬움이며, 단원은 이를 메타언어에서 치른다. 원과 원판의 기호열을 날마다 쓰는 사람은 없고, 쓰는 것은 그 이름, 곧 (φ↓ψ)(\varphi \downarrow \psi), ¬φ\neg\varphi, (φ→ψ)(\varphi \rightarrow \psi)이다. 이 이름들은 한 번만 정의되며, 언제든 그것이 지시하는 기호열까지 펼칠 수 있다. 따라서 강좌는 두 수준에서 동시에 작업한다. 증명의 대상이 되는 최소한의 기본 언어와, 쓰기 위한 편리한 표기이다. 그리고 첫째 수업이 도입하는 대상 언어와 메타언어의 구별이 바로 둘을 혼동하지 않게 해 준다.

전제로 하는 지식

단원은 거의 아무것도 없는 데서 시작한다. 논리학을 공부했다는 것도, 집합론을 안다는 것도, 정리를 증명해 본 적이 있다는 것도 전제하지 않는다. 집합에 관해 쓰는 것은 둘째 수업이 가르치고, 귀납법에 관해 쓰는 것은 셋째 수업이 가르친다. 전제하는 것은 두 가지뿐이다. 첫째는 주의 깊게 읽기이다. 형식 언어에서는 기호 하나를 더하거나 빠뜨리면 기호열이 바뀌며, 정의에서 낱말의 순서는 낱말 자체만큼 중요하다. 둘째는 자연수의 초등 산술이다. 이 강좌에서 자연수는 1,2,3,…1, 2, 3, \ldots이며, 더하고 곱하기, 22의 거듭제곱 계산하기, 짝수와 홀수 구별하기, 소수 알아보기를 할 수 있으면 된다.

귀납법에 관해 도움이 더 필요한 사람은 페아노 공리 수업과 합과 귀납법 수업을 참고할 수 있다. 둘 다 대수학과 기하학 I 강좌의 수업이다. 그러나 꼭 필요하지는 않다. 이 단원의 셋째 수업이 귀납법을 그 진술부터 가르치기 때문이다.

단원이 해결하는 문제

논리학은 타당성을 연구하며, 타당성은 논증의 형식에 달려 있다. 그러나 형식에 대해 엄밀하게 말하려면 모든 표현이 단 하나의 형식만 가져야 하는데, 자연 언어는 이를 보장하지 않는다. “이 곱하기 삼 더하기 사”는 묶는 방식에 따라 1010도 되고 1414도 된다. 이로써 두 문제가 생기며, 그것이 단원의 문제이다. 첫째 문제는 모든 표현이 단 한 가지 방식으로만 읽히는 언어를 구성하는 것이다. 둘째 문제는 그것을 증명하는 것이다. 논리식은 무한히 많으며, 경우마다 하나씩 확인하는 방법으로는 아무리 오래 계속해도 모든 논리식이 단 한 가지 방식으로만 읽힌다는 것을 확립할 수 없다. 다음 예는 하나의 표현 속에서 두 문제를 보여 준다.

예시하나의 표현, 두 기호열

연결사를 인자들 사이에 두고 괄호 없이 쓴 표현 v1↓v2↓v3v_{1} \downarrow v_{2} \downarrow v_{3}은 두 연결사 가운데 어느 것이 주 연결사인지 보여 주지 않는다. 반면 원과 원판의 언어에서는 묶는 방식마다 다른 기호열이 되며, 기호열 자체가 어떻게 묶이는지 말해 준다.

증명

  1. ((v1↓v2)↓v3)=∙∙v1v2v3((v_{1} \downarrow v_{2}) \downarrow v_{3}) = \resaltar{\sigI\sigI} v_{1} v_{2} v_{3}

    첫째 읽기: 첫째 연결사가 v1v_{1}과 v2v_{2}를 잇고, 둘째 연결사가 주 연결사이다. 기본 언어에서는 두 원판이 앞에 온다.

  2. (v1↓(v2↓v3))=∙v1∙v2v3(v_{1} \downarrow (v_{2} \downarrow v_{3})) = \sigI v_{1} \resaltar{\sigI} v_{2} v_{3}

    둘째 읽기: 둘째 연결사가 v2v_{2}와 v3v_{3}을 잇고, 첫째 연결사가 주 연결사이다. 둘째 원판은 v1v_{1}과 v2v_{2} 사이에 온다.

  3. ∙∙∘∙∘∘∙∘∘∘∙≠∙∘∙∙∘∘∙∘∘∘∙\sigI\resaltar{\sigI}\sigO\sigI\sigO\sigO\sigI\sigO\sigO\sigO\sigI \neq \sigI\resaltar{\sigO}\sigI\sigI\sigO\sigO\sigI\sigO\sigO\sigO\sigI

    원과 원판으로 쓰면, 두 기호열은 둘째 기호에서 벌써 다르다. 서로 다른 논리식이다.

  4. ∙  ∙  v1  v2  v3:−1,0,+1\sigI \; \resaltar{\sigI \; v_{1} \; v_{2}} \; v_{3}: \quad -1, \quad 0, \quad +1

    첫째 기호열을 읽으려면 세기만 하면 된다. 맨 앞 원판 뒤에서 각 연결 원판은 11을 빼고 각 변항은 11을 더하며, 합이 처음으로 +1+1에 이르는 곳에서 첫째 성분이 끝난다.

  5. ∙ (∙v1v2) v3\sigI \, \resaltar{(\sigI v_{1} v_{2})} \, \resaltar{v_{3}}

    따라서 첫째 성분은 ∙v1v2\sigI v_{1} v_{2}이고 둘째 성분은 v3v_{3}이다. 이 기호열은 첫째 읽기대로 읽히며, 다른 방식으로는 읽히지 않는다. 이 세기가 이 논리식만이 아니라 모든 논리식에서 통한다는 것이 유일 판독성 정리이며, 셋째 수업이 이를 귀납법으로 증명한다.

따라서 두 문제에 대한 단원의 답은 두 부분으로 이루어진다. 첫째 문제에 대해서는, 단 하나의 규칙이 연결사를 앞에 두어 괄호가 필요 없는 언어와, 모든 약어가 단 하나의 기호열을 지시하는 메타언어이다. 둘째 문제에 대해서는, 증명의 원리, 곧 논리식의 복잡도에 관한 귀납법이다. 이것은 유한 번의 확인(변항과 규칙)에서 모든 논리식으로 나아가는데, 자연수에 관한 귀납법이 11과, kk에서 k+1k + 1로의 단계에서 모든 수로 나아가는 것과 같다. 이 두 부분으로 논증의 형식은 정밀한 대상이 되며, 그 타당성에 대한 물음을 다음 단원들에서 엄밀하게 제기할 수 있다.

단원을 공부하는 법

먼저 이 입문 평가부터 시작하고, 틀린 문항을 적어 두는 것이 좋다. 그것이 오래 머물러야 할 수업을 가리킨다. 네 수업은 차례대로 공부해야 한다. 각 수업이 앞 수업들이 확립한 것을 쓰기 때문이다. 둘째와 셋째 수업의 공부에는 종이와 연필이 필요하다. 원과 원판의 기호열은 화면에서 읽기 어려우므로, 옮겨 적고, 단어(각 변항과 따로 떨어진 각 원판)로 나누고, 단어마다 무게를 적어 두는 것이 좋다. 유일 판독성의 세기가 습관이 될 때까지 그렇게 한다. 증명은 단계별 재생기로 게시되며, 앞으로 나아가기 전에 각 단계의 근거를 댈 수 있어야 한다. 첫째와 넷째 수업에서는 주의 깊게 읽는 것이 일이다. 한국어 문장을 만날 때마다 그것이 정확히 무엇을 주장하는지, 어떤 읽기를 허용하는지, 어떤 논리식이 그것을 나타내는지 스스로 묻는다. 끝으로, 각 연습 문제의 힌트와 정답은 진지하게 시도해 본 뒤에만 연다.

어디로 이어지는가

단원을 마치면 언어는 정해지며, 다음 단원들은 그것을 다시 논의하지 않고 그 위에 세워진다. 연역 단원은 공리와 두 추론 규칙으로 된 체계를 정의한다. 두 규칙은 modus ponens(전건 긍정식)과, 이중 부정을 증명한 뒤에 더하는 이중 부정 대체이며, 이 체계의 연역은 논리식의 열이다. 그 공리는 이 단원이 정의하는 공식 약어로 쓰이며, 그 연역 정리는 여기서 배우는 도구인 연역의 길이에 관한 귀납법으로 증명된다. 그 첫 수업은 형식 연역 체계에 관한 수업이다. 의미론 단원은 변항에 진리값을 부여하고 그것을 재귀에 의해 모든 논리식으로 확장하는데, 이는 유일 판독성 덕분에만 가능하다. 또 넷째 수업이 쓰는 연결사의 비형식적 읽기를 진리표로 정당화하며, 함수적 완전성에 관한 수업에서 부정논리합이 어떤 연결사든 표현하기에 충분함을 증명한다. 끝으로 메타이론 단원은 건전성과 완전성을 귀납법으로 증명하며, 이 단원이 형식화를 가르치는 논증들은 마침내 연역으로든 의미론으로든 가리지 않고 판정할 수 있게 된다.

이 강좌 밖에서, 형식 언어의 구문론은 모든 프로그래밍 언어의 구문론이다. C++ 프로그래밍 I의 컴파일러는 먼저 프로그램이 올바르게 구성되었는지 판정하고 그것을 단 한 가지 방식으로 분해하는 일부터 시작한다. 타당성과 참의 구별은 삼단논법의 형식을 연구하는 아리스토텔레스 논리학의 출발점이기도 하다. 그리고 셋째 수업의 귀납법은 대수학과 기하학 I에서 수의 성질을 증명하는 것과 같은 귀납법이다. 이 모든 분야에서, 규정과 계약을 작성할 때와 마찬가지로, 교훈은 같다. 무엇을 주장하는지 정확히 말하려면 모든 표현이 단 하나의 읽기만 가지는 언어가 필요하다.