산술의 무모순성을 요구하다
힐베르트가 제시한 둘째 문제는 산술의 공리를 사용해서 모순이 생기지 않음을 증명하는 과제였습니다.
THE PROOFS HUMANKIND PURSUED · 10
수학의 공리와 규칙을 올바르게 사용해도 서로 모순되는 결론이 나올 수 있을까요? 힐베르트는 모든 증명의 안전성을 밝힐 방법을 찾았고, 괴델과 이후의 연구는 그 목표의 조건과 한계를 보여 주었습니다.
어떤 이론의 모든 적법한 증명이 모순을 만들지 않는다는 사실을 어떻게 확인할까?
동아리 규칙의 작은 예에서 출발해, 산술과 수학 전체의 무모순성을 확인하려는 힐베르트의 역사적 질문을 살펴봅니다.
한 동아리에서 수료증을 발급하는 규칙을 만들었다고 생각해 봅시다. 규칙에는 이렇게 적혀 있습니다. “연습을 끝낸 학생은 수료증을 받는다.” 그리고 “가람은 연습을 끝냈다”는 기록이 있습니다. 우리는 가람에게 수료증을 주어야 한다고 판단할 수 있습니다. 같은 규칙과 같은 기록을 사용하여 “가람에게 수료증을 주어야 한다”와 “가람에게 수료증을 주면 안 된다”를 모두 정당하게 증명할 수 있다면, 그 규칙 체계에 무슨 문제가 생긴 걸까요?
먼저 두 상황을 구분해야 합니다. 기록이 잘못되었다는 사실과 논리적으로 모순을 끌어낼 수 있다는 사실은 다릅니다. 담당자가 가람의 출석을 잘못 기록했다면 출석 사실을 고치면 됩니다. 반면 주어진 전제와 허용된 추론 규칙만으로 어떤 주장과 그 주장의 부정을 모두 도출할 수 있다면, 체계 안에서 충돌이 생깁니다. 수학에서 “체계가 무모순적이다”라고 말할 때 검사하는 것은 이 두 번째 문제입니다.
명제를 P라고 적으면 부정은 ¬P입니다. 무모순성은 P와 ¬P를 동시에 증명하는 일이 불가능하다는 성질입니다. 고전 논리의 일반적인 형식 체계에서는 이런 모순이 한 번 나오면 폭발 원리에 따라 전혀 관계없어 보이는 주장까지 도출할 수 있습니다. 예를 들어 모순으로부터 “오늘 동아리 문이 열려 있다”라는 문장도, “오늘 동아리 문이 닫혀 있다”라는 문장도 형식적으로 얻을 수 있습니다. 이 경우에는 무엇이 실제로 참인지 가려내려는 증명의 구별력이 무너집니다.
그래서 힐베르트의 질문은 단순한 걱정이 아니었습니다. 처음 정한 공리와 추론 규칙을 빠짐없이 준수했을 때, 아무리 긴 증명을 쓰더라도 모순에 이를 수 없음을 보일 방법이 있을까? 이것이 그의 계획을 이해하는 출발점입니다.
힐베르트는 독일 쾨니히스베르크에서 태어나, 괴팅겐에서 오랫동안 연구하고 가르쳤습니다. 기하학과 불변식 이론, 적분방정식, 물리학에도 중요한 발자취를 남겼습니다. 1899년에는 『기하학의 기초』를 출간하며 기하학을 어떤 공리들에서 출발하는 명확한 체계로 정리하려 했습니다. 기하학의 그림을 보며 직관으로 받아들이던 사실을, 어떤 가정과 추론으로 얻었는지 따져 보자는 태도였습니다.
이듬해인 1900년, 파리의 국제수학자대회에서 힐베르트는 수학의 앞날에 중요한 문제들을 제시했습니다. 널리 알려진 23개의 힐베르트 문제 가운데 둘째 문제는 산술의 공리들이 서로 모순되지 않는다는 사실을 증명하는 과제였습니다. 지금 교과서에서 흔히 쓰는 페아노 산술(Peano Arithmetic, 자연수의 덧셈과 곱셈을 다루는 형식 이론)은 나중에 정확한 비교 대상으로 자주 등장하지만, 힐베르트가 1900년에 생각했던 공리화와 오늘날의 1차 페아노 산술을 아무 차이 없는 체계로 다루면 역사적 변화가 지워집니다. 둘째 문제의 핵심은 산술의 토대를 이루는 공리들의 무모순성을 확보하는 일입니다.
힐베르트가 기하학에서 보인 한 가지 방법을 떠올려 봅시다. 기하학의 점과 직선을 실수 좌표의 관계로 해석해, 기하학의 공리가 실수에 관한 성질을 통해 충족된다는 것을 보일 수 있습니다. 그 해석이 잘 작동한다면 기하학의 무모순성을 실수 이론의 무모순성에 기대어 보일 길이 열립니다. 하지만 여기서 다시 질문이 생깁니다. “실수 이론은 왜 무모순적인가?” 한 이론을 다른 이론에 기대어 정당화하면 그 다음 이론의 근거를 확인해야 합니다. 힐베르트는 이 의존의 고리를 더 근본적으로 정리하고 싶었습니다.
1900년의 문제 제시와 1920년대의 구체적인 계획은 이렇게 연결됩니다. 문제의 씨앗은 1900년에 분명해졌고, 형식화와 유한한 방법에 의한 무모순성 증명이라는 독자적인 연구 계획은 1920년대 초에 뚜렷한 형태를 갖추었습니다. 두 시점을 나누어 보아야 힐베르트의 목표가 성장한 과정을 이해할 수 있습니다.
수학책에는 숫자, 그림, 말로 쓴 정의, 이미 증명한 정리가 한꺼번에 등장합니다. 이런 글을 읽을 때 우리는 숨은 상식과 관습에 의존하기도 합니다. 그런데 컴퓨터에게 수학적인 증명을 검사하라고 시킨다면 “이쯤은 당연하다”라는 설명으로는 부족합니다. 어떤 기호가 허용되는지, 어떤 식이 문장인지, 어디에서 어떤 결론을 얻을 수 있는지까지 명시해야 합니다.
힐베르트가 추진한 형식화는 바로 이 부분을 밝히는 일입니다. 예를 들어 “P이면 Q이다”를 P → Q라고 적고, P와 P → Q가 주어졌을 때 Q를 적을 수 있다는 규칙을 정할 수 있습니다. 이 규칙의 이름은 전건 긍정 또는 모더스 포넌스(modus ponens, 전건 긍정)입니다. 원래 문장의 뜻을 이해하면 더 쉽게 받아들이겠지만, 형식화된 증명에서는 앞줄과 뒷줄의 기호 배열이 규칙에 맞는지 확인하면 됩니다.
그렇게 하면 수학의 증명 자체가 연구 대상이 됩니다. 숫자를 더하는 수학과, “숫자에 관한 이런 증명 방식이 안전한가?”를 따지는 수학을 구별할 수 있습니다. 뒤의 연구를 메타수학(metamathematics, 수학의 언어와 증명을 연구하는 이론)이라고 부릅니다. 메타수학은 우리가 규칙대로 적은 증명들을 바깥에서 관찰하는 일입니다. 다만 바깥에서 관찰한다는 말만으로 신뢰가 저절로 생기지는 않습니다. 메타수학이 사용하는 방법 역시 무엇을 전제로 하는지 밝혀야 합니다.
힐베르트가 제시한 둘째 문제는 산술의 공리를 사용해서 모순이 생기지 않음을 증명하는 과제였습니다.
유한한 기호 조작을 근거로 삼아 무한을 다루는 수학의 형식적 증명을 정당화하려는 계획이 뚜렷해졌습니다.
증명 가능한 식과 모순의 뜻을 먼저 확인하고, 힐베르트의 방법·괴델의 한계·겐첸 이후의 길을 분리해 읽습니다. 다섯 묶음은 이야기의 길잡이이며, 각 묶음의 추론을 생략하지 않습니다.
세 개의 기호 명제 p, q, r을 사용하는 아주 작은 장난감 체계를 만들어 보겠습니다. p는 “가람은 연습을 마쳤다”, q는 “가람은 수료증을 받는다”, r은 “가람은 수료 명단에 오른다”라는 뜻으로 생각할 수 있습니다. 이 뜻은 예시를 이해하도록 돕는 역할을 하고, 실제 검사에서는 세 기호의 참·거짓만 사용합니다.
출발점으로 다음 세 식을 허용합니다.
① p
② p → q
③ q → r
추론 규칙은 한 가지만 사용합니다. 이미 확보한 A와 A → B가 있으면 B를 새 줄에 써도 됩니다. 허용된 출발 식과 이 규칙을 유한 번 적용하여 얻은 식들을 증명 가능한 식이라고 부르겠습니다. 우리가 만든 체계는 아직 산술도, 수학 전체도 아닙니다. 의도적으로 작게 만든 예시입니다.
이제 ①과 ②에서 q가 나오고, q와 ③에서 r이 나옵니다. 그래서 체계에서는 p, q, r을 차례로 증명할 수 있습니다. 다음으로 모순이 나오지 않는지 확인해 보겠습니다. 가능한 증명을 몇 개만 손으로 써 보고 “지금까지 모순이 없네”라고 말하면 부족합니다. 증명은 한 줄도 될 수 있고 천 줄도 될 수 있으므로, 우리가 만든 규칙으로 나올 수 있는 모든 길이의 증명을 함께 생각해야 합니다.
여기에는 작은 비결이 있습니다. p, q, r을 전부 참으로 정해 보세요. 그러면 세 출발 식이 모두 참이 됩니다. p는 참입니다. p → q 역시 앞과 뒤가 모두 참이므로 참입니다. q → r도 참입니다. 우리가 허용한 추론 규칙은 참인 A와 참인 A → B에서 참인 B를 얻으므로, 참인 식들에서 거짓인 식을 새로 만들지 않습니다.
첫 줄의 출발 식은 모두 참이고, 참인 줄에서 다음 줄로 갈 때마다 참을 보존하므로, 규칙을 열 번 적용하든 백만 번 적용하든 증명된 식은 모두 참입니다. 그런데 같은 참·거짓 배정에서 어떤 식 P와 그 부정 ¬P가 둘 다 참일 수는 없습니다. 따라서 우리의 작은 체계로는 P와 ¬P를 동시에 증명할 수 없습니다. 이것이 무모순성을 한꺼번에 보이는 논증입니다.
이 논증의 핵심을 놓치지 마세요. “가능한 증명을 모두 실제로 출력했다”는 주장이 아닙니다. 시작의 안전성과 각 단계에서 안전성이 보존된다는 사실을 합쳐, 길이에 관계없이 모든 증명에 같은 결론을 적용한 것입니다. 물론 체계의 모든 공리와 모든 추론 규칙을 빠짐없이 확인했다는 조건이 필요합니다. 작은 예시이기 때문에 우리가 규칙 전체를 손에 잡히게 열거할 수 있었습니다.
작은 체계에서는 p, q, r에 참을 배정하는 일이 쉬웠습니다. 하지만 자연수와 덧셈, 곱셈을 다루고, 실수의 성질이나 무한 집합까지 사용하는 큰 이론은 다릅니다. 우리가 하는 계산과 설명이 수많은 정의와 규칙에 얽혀 있습니다. 특히 “무한히 많은 자연수 모두에 대해 …”라는 주장은 표에 있는 몇 개의 숫자를 검사하는 것으로 끝나지 않습니다.
어떤 이론 T에서 참이라고 인정하는 출발 문장들을 공리라고 하고, 문장에서 새 문장을 만드는 허용된 방법들을 추론 규칙이라고 하겠습니다. 무모순성을 표시할 때는 보통 Con(T)라는 기호를 씁니다. 여기서 Con은 콘시스턴시(consistency, 무모순성)의 줄임말입니다. T는 지금 검사할 이론의 이름입니다. Con(T)는 T의 공리와 규칙을 이용해서 지정된 모순을 증명하는 유한한 증명은 존재하지 않는다는 뜻으로 이해하면 됩니다.
산술을 충분히 표현하는 표준적인 형식 이론에서는 0 = 1을 모순의 대표 식으로 사용할 수 있습니다. 자연수 체계는 0과 1이 다르다는 사실을 다루므로, 0 = 1의 증명이 존재한다면 이론에서 모순이 생기기 때문입니다. 다만 0 = 1을 아무 체계에서나 모순의 표식으로 삼아도 되는 것은 아닙니다. 이 식이 체계 안에서 부정될 수 있고 표준적인 고전 논리 규칙을 갖춘 상황을 전제합니다.
형식적으로는 다음처럼 씁니다.
Con(T) ≡ ¬∃n Proof_T(n, ⌜0 = 1⌝)
기호를 한 부분씩 읽어 봅시다. Proof_T(n, ⌜0 = 1⌝)는 자연수 n이 “T의 공리와 규칙으로 0 = 1을 증명했다”는 기록을 일정한 부호화 방법으로 나타내는 숫자이며, 그 부호가 실제로 맞는 증명인지 검사하는 관계를 뜻합니다. ∃n은 그런 번호 n이 하나라도 존재한다는 뜻입니다. 맨 앞의 ¬는 그런 번호가 존재하지 않는다는 뜻입니다. 이 식은 “우리가 아직 모순을 발견하지 못했다”는 말보다 강합니다. 아무리 긴 증명을 찾더라도 모순을 끝줄로 갖는 적법한 증명은 존재하지 않는다고 말하기 때문입니다.
그렇다면 우리가 작은 체계에서 한 것처럼, 큰 이론에도 모든 공리를 참으로 만드는 해석을 찾아서 해결하면 어떨까요? 이 방법은 어떤 이론에서는 실제로 유용합니다. 그러나 자연수 전체를 그대로 사용하거나 더 강한 수학을 동원해 큰 이론의 모델을 만들면, 그 모델이 존재한다고 믿는 근거가 문제의 핵심으로 돌아옵니다. 증명하려는 이론보다 더 강하거나 비슷하게 논쟁적인 가정에 기대고 있지는 않은가? 힐베르트는 바로 그 점을 피하는 무모순성 증명의 근거를 요구했습니다.
1920년대 초 힐베르트는 자신이 구상한 토대 연구를 분명히 설명하기 시작했습니다. 중요한 문헌으로 1922년의 강연 『수학의 새 기초』와 1926년 논문 『무한에 대하여』가 있습니다. 그는 기호를 쓰고 지우고, 구체적으로 주어진 유한한 배열을 비교하고, 정확한 규칙에 따라 계산하는 방법에 특별한 확실성이 있다고 여겼습니다. 이를 유한주의(finitism, 유한한 기호 조작에 토대를 두는 관점)라고 부릅니다.
예를 들어 종이에 ⅠⅠⅠ라는 획 세 개를 적었다고 합시다. 바로 옆에 ⅠⅠ라는 획 두 개를 이어 붙이면 다섯 개가 됩니다. 우리가 실제로 적은 유한한 획을 세고 비교하는 데에는 “무한히 많은 숫자가 이미 완성된 하나의 물건으로 주어졌다”는 가정을 끌어들일 필요가 없습니다. 힐베르트는 이런 구체적인 기호 조작에서 출발해, 수학 전체의 형식적 증명이 모순에 빠지지 않는다는 근거를 세우려 했습니다.
여기서 중요한 미묘함이 있습니다. 힐베르트가 요구한 방법을 단순히 “숫자 하나씩 몇 개만 확인하기”로 이해하면 그의 계획이 지나치게 작아집니다. 유한한 기호에 대해 일반적인 규칙이 성립함을 설명하는 추론도 핵심입니다. 다만 정확히 어디까지를 유한주의의 정당한 추론으로 인정할 것인지는 이후 연구자들 사이에서 논쟁이 이어졌습니다. 따라서 유한주의와 오늘날 특정 형식 체계 한 개가 완전히 같은 것이라고 선언하기는 어렵습니다.
그가 이처럼 엄격한 기초 방법을 강조한 이유도 살펴봐야 합니다. 당시에는 집합론의 역설과 무한을 둘러싼 철학적 논쟁이 활발했습니다. 힐베르트는 미적분학과 무한에 관한 고전 수학의 강력한 성과를 보존하고 싶었습니다. 무한을 마음껏 다루는 수학이 무모순적이라는 사실을, 더 확실하다고 여기는 유한한 방법으로 뒷받침한다. 이것이 그의 계획에 담긴 두 목표 사이의 관계입니다.
예를 들어 어느 수학자가 “모든 실수 중 어떤 조건을 만족하는 수가 존재한다”는 것을 증명한다고 합시다. 그런 실수를 손으로 정확하게 적어 내기는 어려울 수 있습니다. 그래도 존재를 주장하는 증명은 다른 문제들을 해결하는 강력한 도구가 될 수 있습니다. 힐베르트는 이런 고전적인 증명과 무한한 대상을 활용하는 이론을 이상적 요소를 포함한 수학으로 다루었습니다.
반면 우리가 종이에 적어 확인할 수 있는 유한한 숫자의 관계는 보다 직접적인 성격을 갖습니다. 힐베르트의 구상에서는 후자의 확실성을 바탕으로 전자의 사용을 정당화하려 했습니다. 이때 “이상적”이라는 말을 “거짓”이나 “쓸모없는 상상”이라는 뜻으로 읽으면 흐름을 놓칩니다. 복소수를 도입해 실수 문제를 해결하는 것처럼, 기호와 이상적 대상을 다루는 확장된 체계는 수학을 한층 풍부하게 만들 수 있습니다. 힐베르트는 그 확장이 기초적인 숫자의 명백한 사실과 충돌하지 않음을 보이고 싶었습니다.
현대 증명론에서는 이 생각의 한 부분을 보존성(conservativity, 강한 이론이 기초 언어의 새로운 결론을 더 만들어 내지 않음)으로 자세히 연구합니다. 가령 T라는 기초 이론과 그것보다 많은 추론 도구를 가진 S라는 이론이 있다고 합시다. 관심을 정한 문장 종류에 관하여 S에서 증명할 수 있는 모든 문장이 이미 T에서도 증명된다면, 그 문장 종류에 대해 S는 T 위에서 보존적이라고 합니다. 여기에서 ‘모든 수학에 대해 언제나 보존적이다’라고 확대하면 잘못입니다. 비교하는 이론과 문장의 범위를 명확히 적어야 합니다.
따라서 힐베르트의 큰 꿈에는 무모순성 확인과 확장된 수학의 사용을 기초적인 방법에 비추어 정당화하는 목표가 함께 놓여 있었습니다. 둘은 연결되지만 같은 내용은 아닙니다. 하나의 무모순성 증명만으로 모든 보존성 문제가 저절로 해결되는 것은 아닙니다.
이제 연구 방법을 조금 더 정확하게 살펴봅시다. 형식적인 증명은 한 줄 한 줄 유한한 기호로 적혀 있습니다. 각 기호와 문장, 증명의 줄을 약속한 방식으로 숫자에 대응시킬 수 있습니다. 이를 부호화라고 합니다. 예를 들어 ‘p’에는 1, ‘→’에는 2, ‘q’에는 3 같은 임시 번호를 붙일 수 있습니다. 물론 실제 연구에서는 서로 다른 기호 배열과 증명에 서로 다른 번호가 매겨지도록 더 정교한 약속을 씁니다.
이렇게 번호를 붙이면 메타수학의 문제를 자연수에 관한 질문으로 바꾸어 쓸 수 있습니다. “n이라는 번호가 가리키는 문자열이 공리에서 시작해 올바른 규칙으로 이어지는 증명인가?”를 판정하는 절차를 설계할 수 있습니다. 공리의 집합이 효과적으로 확인 가능하도록 제시된 체계라면, 우리는 후보 증명의 각 줄이 적법한지 검토할 길을 마련할 수 있습니다. 다만 공리가 단순히 무한히 열거 가능하기만 한 일반 체계에서는 ‘주어진 줄이 공리인가?’라는 검사가 곧바로 단순한 결정 절차가 되지 않을 수 있습니다. 여기서는 공리를 효과적으로 검사할 수 있는 표준적인 형식화를 예로 생각하겠습니다.
적법한 증명인지 검사하는 일이 가능하다는 사실과, 모든 가능한 증명을 검사하여 모순이 없음을 끝내 확인하는 일은 다릅니다. 앞의 일은 주어진 유한한 증명 한 개를 다룹니다. 뒤의 일은 가능한 모든 유한한 길이의 증명을 한꺼번에 고려합니다. 이 구분이 힐베르트 계획의 기술적인 무게를 보여 줍니다.
힐베르트의 연구는 혼자서만 진행된 일이 아닙니다. 파울 베르나이스(Paul Bernays), 빌헬름 아커만(Wilhelm Ackermann), 존 폰 노이만(John von Neumann) 등 여러 연구자가 공리 체계와 무모순성 증명 방법을 연구했습니다. 그 가운데 중요한 기술이 엡실론 계산(ε-calculus, 선택 기호를 이용하는 논리 계산)과 엡실론 치환법(ε-substitution method, 선택 기호에 주어진 값을 단계적으로 고치는 방법)입니다.
먼저 선택 기호를 아주 간단히 살펴봅시다. 조건 A(x)를 만족하는 대상이 있다면, εx A(x)를 그 조건을 만족하는 대상 하나를 고르는 기호처럼 사용할 수 있습니다. 이를 “조건 A를 만족하는 대상 중 하나를 나타내는 선택항”이라고 읽으면 됩니다. 그 조건을 만족하는 대상이 실제로 존재하지 않는 상황까지 포괄하려면 형식적 규칙을 더 세밀히 정해야 합니다. 여기에서는 존재하는 경우의 작동 원리만 설명하겠습니다.
우리가 어떤 계산에 ε항을 임시 숫자로 넣었는데 조건과 맞지 않는 결과가 생겼다면, 다른 값을 넣어 잘못된 부분을 바로잡아 볼 수 있습니다. 이때 무한을 사용하는 복잡한 증명에서 나온 선택항들을 유한한 절차로 고쳐, 결국 문제가 없는 형태로 돌려놓는다면 무모순성을 보일 수 있을 것처럼 보입니다.
하지만 몇 번 고치면 잘 되는 예가 있다는 것과 어떤 적법한 증명이 들어와도 이 교정 과정이 반드시 끝난다는 것은 전혀 다른 주장입니다. 힐베르트의 계획에서 가장 어려운 기술적 문제 가운데 하나는 바로 이 종료 보증이었습니다. 아커만은 1924년에 복잡한 체계에 대한 무모순성 증명을 시도했지만, 그 주장은 이후 검토에서 문제가 드러났습니다. 폰 노이만도 더 제한된 체계에 대한 성과를 제시했습니다. 이 사실을 “1920년대에 산술과 해석의 무모순성이 완전히 증명되었다”라고 요약하면 연구의 성공 범위를 부풀리게 됩니다.
1931년 쿠르트 괴델의 불완전성 정리가 발표되었습니다. 앞선 제09회에서 다룬 1차 논리의 완전성 정리는 모든 해석에서 따라오는 결론을 형식적 증명으로 얻을 수 있다는 성과입니다. 이번에 등장하는 제2불완전성 정리는 일정한 산술 이론이 자기 자신의 무모순성을 증명할 수 있는가라는 전혀 다른 질문에 관한 결과입니다.
어떤 이론 T가 자연수의 기본적인 산술을 충분히 표현할 수 있고, 공리들을 효과적으로 나열할 수 있으며, 표준적인 증명 개념에 필요한 조건을 만족한다고 합시다. 이런 종류의 무모순적인 T는 자기 자신의 무모순성을 표현한 표준적인 식 Con(T)를 T 내부에서 증명할 수 없습니다. 간략히 T ⊬ Con(T)라고 적습니다. 여기서 ⊬는 “해당 이론의 공리와 규칙으로 그 식을 증명할 수 없다”는 뜻입니다.
말의 순서가 중요합니다. 이론 T가 실제로 무모순적이라는 가정이 들어가야 합니다. T가 충분한 산술을 표현한다는 조건도 필요합니다. 공리들이 효과적으로 주어진 형식 이론이어야 하고, 무모순성을 표현한 식이 표준적인 증명 관계에 맞게 구성되어 있어야 합니다. 그러므로 이 정리를 “어떤 사소한 규칙도 스스로 점검할 수 없다”라고 확대하면 곤란합니다. 우리가 만든 p·q·r 예시 같은 아주 작은 체계는 괴델 정리의 적용 조건을 갖추지 않았습니다.
또한 “자기 이론 안에서는 증명할 수 없다”는 말과 “어떠한 방법으로도 무모순성을 증명할 수 없다”는 말은 다릅니다. 뒤의 주장은 괴델의 정리가 말하는 내용이 아닙니다. 오히려 더 강한 이론, 서로 다른 정당화 방법, 새로운 증명 방법으로 특정 이론의 무모순성을 살필 수 있습니다. 다만 그렇게 했을 때는 증명을 수행한 다른 방법의 타당성을 어떤 근거로 받아들일 것인가라는 새 질문이 남습니다.
우리가 만든 작은 체계를 떠올려 보면 답에 다가갈 수 있습니다. 그 체계 안에서는 p나 q를 증명했지만, 그 체계가 사용하는 규칙 전체를 조사하고 “모든 증명은 안전하다”라는 결론을 내리는 일은 바깥에서 수행했습니다. 구체적으로 세 공리가 특정한 참·거짓 배정에서 참이라는 사실과 추론 규칙이 참을 보존한다는 사실을 이용했습니다. 작은 체계 안에 자기 자신의 모든 증명에 대한 장치를 따로 넣지 않았습니다.
반면 충분히 강한 산술 이론 T는 숫자를 이용해 자기 자신의 증명 기록을 부호화할 수 있습니다. “이 숫자는 T의 증명이다”라는 성질을 이론 안에서 다루고, 그 안에서 “모순을 증명하는 번호가 없다”라는 주장도 만들 수 있습니다. 단순히 바깥에서만 말하던 검사를 수학의 내부 문제로 바꾸는 일이 가능해지는 것입니다.
괴델의 기술은 이 자기지시 능력과 증명 가능성 사이에 깊은 제약이 있음을 보여 주었습니다. 이론이 충분히 강하고 무모순적이라면, 그 안에서 자신의 무모순성을 표준적인 방식으로 증명했다는 결론까지 만들 수 없습니다. 1931년 당시 힐베르트가 꿈꾸던 전체 수학의 무모순성을 약한 유한적 수학만으로, 그리고 그 정당화를 의심할 여지를 최소화하면서 증명한다는 원래의 구상이 거센 도전에 직면했습니다.
그러나 여기에도 학술적인 주의가 필요합니다. 힐베르트가 말한 모든 유한적 추론이 정확히 어느 형식 체계와 일치하는지는 간단한 정의 하나로 확정되는 문제가 아닙니다. 따라서 제2불완전성 정리에서 힐베르트의 철학적 계획 전체가 어느 범위까지 불가능해졌는지 평가할 때에는 이 해석 문제를 함께 밝혀야 합니다. 일반적인 평가는 원래 계획이 큰 제약을 받았다는 것이지만, 정리 한 줄로 이후의 모든 기초 연구를 무의미하게 만드는 설명은 정확하지 않습니다.
그렇습니다. 괴델의 정리가 등장한 뒤에도 증명론의 연구는 활발하게 이어졌습니다. 특히 게르하르트 겐첸(Gerhard Gentzen)은 1936년 자연수의 산술 이론에 대한 무모순성 증명을 발표했습니다. 다만 그 증명은 힐베르트가 바라던 단순한 형태의 유한주의만으로 닫힌 최종 해답이라기보다, 추가적인 정당화 원리를 이용해 산술의 무모순성을 뒷받침한 연구로 이해해야 합니다.
겐첸은 증명의 복잡한 구조에 순서수를 부여하고, 증명 변환을 하면 그 순서수가 일정한 방식으로 내려가도록 논증했습니다. 여기서 사용한 중요한 경계는 엡실론 영(ε₀, 첫 무한 순서수 ω에서 지수 올림을 반복해 얻는 수열의 극한인 순서수)입니다. 순서수는 단순한 자연수 하나가 아니라 잘 정렬된 순서의 형식을 다루는 수학적 대상입니다. ε₀와 그 아래의 순서수들이 어떤 식으로 구성되는지 충분히 공부하기 전에는, 이를 큰 정수 한 개쯤으로 이해하면 안 됩니다.
이 방법의 직관은 어떤 문제 있는 증명에서 더 단순한 증명으로 계속 바꿔 간다고 가정할 때, 그 변환이 끝나지 않고 영원히 이어질 수 있는지를 따지는 데 있습니다. 순서수에 관한 초한 귀납법을 사용하면 특정한 하강 과정이 끝없이 계속될 수 없다는 근거를 마련할 수 있습니다. 이를 통해 산술에 모순 증명이 존재한다는 가정에서 불가능한 결론에 이르는 방향을 연구할 수 있습니다.
겐첸의 성과는 “괴델이 틀렸고 힐베르트가 완전히 옳았다”는 이야기가 아닙니다. 증명을 수행하는 바깥의 방법이 원래 산술 이론보다 어떤 점에서 더 강한지, 어디까지 받아들일지를 분명하게 보여 주었다는 점에 의미가 있습니다. 제16회에서 겐첸의 컷 제거와 증명 변환을 다룰 때 이 관계를 다시 살펴볼 수 있습니다.
공리와 추론 규칙이 정해진 이론 T에서는 모순을 마지막 줄로 갖는 적법한 증명이 존재하지 않는다는 주장입니다. 힐베르트는 이 보증을 더 확실한 유한적 근거로 세우려 했습니다. 괴델의 정리는 특정한 강한 이론이 자기 내부에서 이 보증을 증명하는 길에 제약이 있음을 보여 줍니다.
무모순성, 완전성, 결정 가능성을 각각 다른 문제로 놓고, 직접 풀어 볼 수 있는 작은 논증까지 이어 갑니다.
우리가 실제로 사용하는 수학의 무모순성을 둘러싼 문제는 “안전하다”와 “불안하다”라는 두 구호로 끝나지 않습니다. 먼저 논리 체계가 정해져야 합니다. 어떤 공리와 추론 규칙을 사용하며, 어떤 종류의 표현을 허용하는지부터 명확히 해야 합니다. 다음으로 검사하려는 성질을 구분해야 합니다. 특정한 정리가 체계 안에서 증명되는지, 어떤 문장과 그 부정이 동시에 증명되는지, 모든 진리가 표현되는지, 특정 계산이 반드시 멈추는지는 각기 다른 문제입니다.
또한 어떤 근거를 사용한 증명인지를 밝혀야 합니다. 작은 체계에 대해 손으로 만든 참·거짓 모형이 있을 수 있고, 더 강한 체계에서 만든 일관성 증명이 있을 수도 있습니다. 서로 다른 접근은 모두 가치가 있지만 같은 종류의 보증을 제공하는 것은 아닙니다. 신뢰의 근거를 명시하는 일 자체가 수학적인 성취입니다.
현대의 자동 증명 검증에도 힐베르트의 문제의식이 살아 있습니다. 컴퓨터가 정리의 증명을 생성하거나 검사하려면, 사람이 사용한 규칙과 전제들이 코드와 데이터에 어떻게 표현되어 있는지 엄격하게 따져야 합니다. 다만 컴퓨터가 많은 증명을 검토했다는 사실만으로 그 기초 체계의 무모순성이 수학적으로 증명되었다고 말할 수는 없습니다. 기계의 계산 오류 가능성과 형식 이론의 논리적 무모순성도 다른 층위의 문제입니다.
힐베르트는 수학의 자유로운 탐구를 지키기 위해 규칙의 안전성을 확인하려 했습니다. 괴델은 그 과정에서 자기 자신의 체계를 다루는 방법이 갖는 한계를 밝혔습니다. 이후의 연구자들은 어떤 체계가 어떤 체계를 정당화할 수 있는지, 어느 정도의 증명 원리가 필요한지를 더 자세히 알아냈습니다. 수학은 모든 질문에 대한 보증서 한 장을 얻지는 못했지만, 우리가 무엇을 알고 무엇을 전제로 하는지 더 정확히 말하는 언어를 갖게 되었습니다.
다음 두 식을 출발점으로 삼고 전건 긍정만 허용한다고 합시다.
① p
② p → q
질문: 세 번째 줄에 q를 적을 수 있나요? 또 p를 참, q를 참으로 해석하면 이 체계에서 ¬q가 증명될 수 있나요? 두 질문에 서로 다른 이유를 적어 보세요.
해설: 첫째, ①과 ②에 전건 긍정 규칙을 적용하면 q를 얻을 수 있습니다. 둘째, 선택한 해석에서 두 출발 식이 모두 참이고 전건 긍정은 참을 보존합니다. 그래서 이 체계에서 증명 가능한 식은 모두 그 해석에서 참입니다. ¬q는 그 해석에서 거짓이므로 이 체계에서 증명될 수 없습니다. “q를 도출하는 구체적인 증명”과 “¬q라는 증명이 존재하지 않음을 보이는 일반적인 논증”의 역할이 다릅니다.
어떤 연구자가 산술의 무모순성을 검사하려고 길이가 1줄부터 1만 줄까지인 증명을 가능한 범위에서 살펴보았고, 모순을 발견하지 못했습니다.
질문: 이제 “이 산술 이론은 무모순적이다”라고 정리로 선언해도 될까요? 선언할 수 없다면 무엇이 더 필요할까요?
해설: 그 결과는 검사한 범위 안에서 문제가 드러나지 않았다는 유용한 기록입니다. 그러나 1만 줄보다 긴 증명이 존재할 가능성까지 제거하지는 못합니다. 무모순성 정리를 얻으려면 모든 유한한 길이의 적법한 증명에 대해 모순으로 끝날 수 없다는 일반적인 이유가 필요합니다. 더 나아가 그 이유를 설명하는 데 사용한 수학적 원리와 대상 이론의 관계도 밝혀야 합니다. 이것이 힐베르트가 단순한 사례 검사 대신 이론적인 무모순성 증명을 찾았던 까닭입니다.
무모순성은 같은 체계에서 어떤 식과 그 부정을 둘 다 증명하는 일이 없다는 성질입니다. 완전성은 어떤 뜻의 완전성인지에 따라 달라집니다. 제09회에서 본 1차 논리의 완전성은 모든 모형에서 성립하는 추론을 형식적인 증명으로도 나타낼 수 있다는 뜻이었습니다. 어떤 특정 산술 이론의 완전성은 그 이론의 문장마다 그 문장 또는 부정을 증명할 수 있다는 다른 성질입니다. 결정 가능성은 주어진 문제의 답을 항상 유한한 시간 안에 정확하게 판정하는 절차가 존재한다는 성질입니다.
힐베르트의 무모순성 계획을 이해하려면 첫 번째 성질을 중심에 놓으면서, 다른 두 성질과의 관계도 혼동하지 않아야 합니다. 우리는 작은 체계에서 참을 보존하는 규칙을 이용해 무모순성을 확인했습니다. 힐베르트는 그 방식의 신뢰도를 수학 전체로 확장하고 싶었습니다. 괴델은 특정한 조건을 만족하는 강한 이론이 자기 자신의 무모순성을 내부적으로 증명하는 길에 제약이 있음을 밝혔습니다. 겐첸은 다른 원리를 동원해 더 깊은 분석을 이어 갔습니다.
따라서 이 이야기의 마지막 질문은 “수학은 실패했을까?”가 아닙니다. 어떤 이론에 대해, 어떤 종류의 증명을, 어떤 방법으로, 어떤 전제 위에서 얻었는가? 이 네 가지를 분명히 하는 습관이야말로 힐베르트의 계획이 오늘날에도 남긴 가장 실질적인 유산입니다.
다비트 힐베르트(David Hilbert, 1862~1943)는 프로이센의 쾨니히스베르크에서 태어났으며 괴팅겐 대학에서 연구와 교육을 이어 간 수학자입니다. 1899년 『기하학의 기초』, 1900년 수학 문제들, 1922년 수학의 기초에 관한 강연, 1926년 「무한에 대하여」 등을 통해 공리화와 무모순성 문제를 발전시켰습니다. 쿠르트 괴델(Kurt Gödel, 1906~1978)은 1931년 불완전성 정리를 통해 원래 계획의 실현 가능성에 중요한 제약을 제시했습니다. 게르하르트 겐첸(Gerhard Gentzen, 1909~1945)은 1936년 새로운 방식의 산술 무모순성 증명을 발표했습니다.
원전의 실제 확인 범위와 현대 해설을 구분했습니다. 글 속 동아리와 p·q·r 예시는 내용을 설명하기 위한 자체 제작 사례입니다.
원전 확인 범위: 「힐베르트의 계획」 전문 해설과 관련 현대 연구 소개를 확인하고 역사적 사실을 교차 대조했습니다. 힐베르트 1922·1926년 독일어 원고, 아커만 1924년 논문 및 겐첸 1936년 원문 전문을 직접 대조한 것으로 표기하지 않습니다. 원전의 긴 문장이나 실존 대화를 직접 인용·재현하지 않고, 역사적 내용은 자체 한국어 해설로 작성했습니다.