# 생각은 어떻게 자신을 바라보는가

고등학생을 위한 괴델 · 에셔 · 바흐 개념 에세이

# 생각을 바라보는 작은 창

어떤 음악은 다 끝난 다음에도 머릿속에서 계속된다. 처음 들었을 때는 흩어져 있던 소리들이 두 번째 들을 때 서로의 이름을 부른다. 앞에서 지나간 짧은 가락이 뒤에서 다른 목소리로 돌아오고, 우리는 그제야 처음의 소리가 무엇을 준비하고 있었는지 알아차린다. 시간은 앞으로 흐르는데 이해는 뒤로도 움직인다.

그림을 볼 때도 비슷한 일이 일어난다. 눈앞에는 평평한 종이가 있다. 그런데 우리는 종이에 그어진 선을 따라 계단을 오르고, 건물 안으로 들어가고, 저 멀리 보이는 창밖을 바라본다. 잉크와 종이는 제자리에 있지만 보는 사람의 마음은 안과 밖, 위와 아래를 만들어 낸다. 그러다 어떤 그림 앞에서는 그 구분이 갑자기 어긋난다. 방금까지 올라가고 있다고 믿었던 계단이 출발한 자리로 되돌아온다.

수학에도 이런 순간이 있다. 숫자를 계산하던 기호가 어느새 그 계산을 설명하기 시작한다. 규칙을 사용하는 일이 규칙 자체를 살펴보는 일로 바뀐다. 우리가 믿고 따르던 절차가 자기 자신을 대상으로 삼자, 그전에는 보이지 않던 한계가 드러난다. 이상한 것은 그 한계가 부주의나 실수 때문에 생기는 것이 아니라 규칙을 끝까지 정확하게 적용할 때 나타난다는 점이다.

이 책은 그 세 경험 사이에 놓인 길을 걷는다. 괴델의 논리, 에셔의 그림, 바흐의 음악은 서로 다른 일을 한다. 수학의 증명은 그림의 설득력과 같지 않고, 음악의 아름다움은 논리적 참과 같지 않다. 그러나 서로 다른 분야를 오가면서 우리는 한 가지 능력을 연습할 수 있다. 눈앞의 사물을 보는 동시에, 그것을 이해하기 위해 자신이 사용하는 틀도 보는 능력이다.

학교에서는 대개 틀 안에서 문제를 푼다. 주어진 식을 계산하고, 정해진 문법을 적용하고, 정답을 찾는다. 그것은 꼭 필요한 배움이다. 다만 가끔은 한 걸음 물러서도 좋다. 이 규칙을 규칙이라고 부르는 이유는 무엇일까. 같은 모양이 다른 곳에서도 같은 뜻일까. 어떤 대답을 얻지 못했다는 사실과 그런 대답을 얻는 방법 자체가 없다는 사실은 얼마나 다를까.

이 책에서 어려운 말은 문을 잠그는 자물쇠가 아니라 문손잡이가 되려고 한다. 자기참조는 자신에 관해 말하는 일이다. 재귀는 비슷한 일을 더 작은 자리에서 다시 수행하는 방식이다. 형식 체계는 무엇을 출발점으로 삼고 어떤 이동을 허용할지 명확히 정한 규칙의 세계다. 처음에는 이렇게 만나면 된다. 뜻의 가장자리를 정확히 다듬는 일은 걷는 동안 이어질 것이다.

대신 쉬운 설명을 위해 사실을 바꾸지는 않겠다. 괴델의 정리는 모든 진리가 상대적이라는 선언이 아니다. 에셔의 그림은 현실의 중력을 없애지 않는다. 바흐의 음악을 수학으로 설명할 수 있다는 사실이 음악을 숫자로 환원해 버리는 것도 아니다. 닮은 구조를 발견하는 일과 서로 같은 것이라고 결론 내리는 일 사이에는 거리가 있다. 우리는 그 거리를 자주 돌아볼 것이다.

이 글은 더글러스 호프스태터의 『괴델, 에셔, 바흐』를 번역하거나 장별로 줄인 책이 아니다. 그 책으로 향하는 관심을 출발점으로 삼되, 논리와 예술과 마음이라는 넓은 주제를 새로운 설명과 생활 속 장면으로 엮은 독립적인 교양서다. 원전의 대화, 퍼즐, 이야기 전개를 재현하지 않는다. 독자는 다른 책을 미리 읽지 않아도 여기에서 여정을 시작할 수 있다.

꼭 기억해야 하는 공식 목록도, 장 끝의 시험도 없다. 이해가 잠깐 멈추면 문장 하나를 마음에 남겨 두고 다음으로 넘어가도 된다. 앞의 이야기가 뒤에서 다시 들릴 때 비로소 뜻이 생기는 경우가 있다. 음악에서 늦게 들어온 목소리가 먼저 울린 소리를 새롭게 들려주는 것처럼 말이다.

책의 마지막에서 우리가 얻게 될 것은 마음을 완전히 설명하는 하나의 열쇠가 아닐 것이다. 대신 어떤 설명이 어디까지 나아갔는지, 어느 순간 비유가 증명인 척하기 시작하는지, 무엇을 더 물어야 하는지를 알아보는 눈을 얻을 수 있다. 그 눈은 대단한 수학자에게만 필요한 것이 아니다. 화면 속 문장을 믿을 때, 친구의 마음을 짐작할 때, 어제의 자신을 돌아볼 때에도 조용히 쓰인다.

그러니 지금은 이 한 가지 장면으로 시작하자. 책을 읽는 당신이 있다. 그 모습을 상상하는 당신도 있다. 두 사람은 별개의 사람이 아니지만, 둘 사이에는 작은 틈이 생긴다. 생각이 자신을 바라보기 시작하는 틈이다. 이 책은 그 틈으로 빛을 들여보내려 한다.

# 같은 것을 알아보는 일

친구의 이름을 연필로 쓰고, 굵은 사인펜으로 다시 쓴 다음, 휴대전화 화면에 입력해 보자. 세 글씨는 겉모습이 다르다. 연필 자국에는 종이의 결이 비치고 사인펜의 획은 두꺼우며 화면의 글자는 작은 빛의 점으로 이루어진다. 그런데도 우리는 세 경우에 같은 이름이 있다고 말한다. 물질적으로는 다른 사건들을 하나로 묶는 무슨 일이 마음속에서 일어난 것이다.

같음을 알아보는 능력은 너무 자연스러워서 쉽게 보이지 않는다. 하지만 모든 차이를 무시하는 능력은 아니다. 친구 이름의 글자 하나를 바꾸면 더는 같은 이름이 아니다. 어떤 차이는 중요하지 않고 어떤 차이는 결정적이다. 읽는 사람은 획의 굵기를 지나쳐 가면서 자음과 모음의 관계는 붙잡는다. 이해는 모든 것을 복사하는 일이 아니라 남길 차이와 지울 차이를 선택하는 일이기도 하다.

지하철 노선도도 그렇다. 노선도의 선은 실제 철로처럼 구불구불하지 않다. 역 사이의 거리도 실제 거리와 맞지 않는다. 그럼에도 환승할 역을 찾는 데 도움이 된다. 이때 보존해야 할 것은 도시의 모든 생김새가 아니라 어느 역이 어느 역과 연결되는가 하는 관계다. 관광객이 노선도를 보고 걸어서 몇 분이 걸릴지 예상한다면 곤란할 수 있다. 잘 작동하는 표현에도 자기 일이 있다.

수학에서 구조라는 말은 이런 관계에 주목하게 한다. 의자 여섯 개를 원형으로 놓은 모습과 여섯 친구가 손을 잡고 원을 만든 모습은 재료가 전혀 다르다. 그래도 각각의 자리가 양옆의 두 자리와 이어진다는 점에서는 같은 연결 모양을 가진다. 어느 의자가 빨간색인지는 그 비교에 필요하지 않다. 빨간 의자를 지정석으로 사용하는 순간에는 색도 구조의 일부가 될 수 있다.

따라서 구조는 사물 속에 영원히 고정되어 있는 한 가지 무늬만을 뜻하지 않는다. 어떤 관계를 살피는지 먼저 말해야 한다. 숫자 6과 주사위 면의 점 여섯 개는 수량을 나타내는 방식에서 연결된다. 하지만 숫자 6을 거꾸로 돌리는 일과 점 여섯 개의 배열을 거꾸로 돌리는 일은 다른 결과를 낳는다. 한 면에서 성립한 닮음이 모든 행동에 보존되는 것은 아니다.

여기서부터 학문 사이의 여행이 시작된다. 음악의 선율과 기하학의 선이 닮았다고 말하려면 무엇이 무엇에 대응하는지 살펴봐야 한다. 음의 높이가 세로 위치에 대응하는가. 시간의 흐름이 가로 방향에 대응하는가. 그런 대응은 도움이 되지만, 그림의 선을 동시에 보는 경험과 음악을 차례로 듣는 경험의 차이까지 없애 주지는 않는다.

우리는 낯선 것을 익숙한 것에 기대어 배운다. 전류를 물의 흐름에 비유하면 처음에는 이해가 쉬워진다. 그러나 전기 회로를 물통처럼만 생각하면 잘못된 결론에 이를 수도 있다. 좋은 비유는 닮은 부분을 밝혀 주면서 닮지 않은 부분도 숨기지 않는다. 비유는 두 세계를 잇는 다리이지 두 세계를 하나로 눌러 붙이는 접착제가 아니다.

친구의 얼굴을 알아보는 일로 돌아오자. 머리 모양이 달라지고 안경을 벗어도 우리는 같은 사람을 알아본다. 사진에서는 움직임이 없어도, 전화에서는 얼굴이 없어도 알아볼 수 있다. 같은 사람이라는 판단은 여러 감각에서 얻은 단서를 한데 엮는다. 어떤 단서가 결정적이었는지 말로 정확히 풀기는 어렵지만, 판단은 어느 정도 안정적으로 작동한다.

그 안정성이 완벽한 것은 아니다. 멀리서 다른 사람을 친구로 착각하기도 한다. 닮은 무늬를 찾는 능력이 강력할수록 우연한 닮음에 속을 가능성도 생긴다. 구름에서 동물의 얼굴을 발견한다고 구름 속에 동물이 들어 있는 것은 아니다. 무엇을 보았는지 말할 때 대상의 성질과 관찰자의 해석을 함께 생각해야 하는 까닭이다.

이 책에서 되풀이되는 물음도 여기서 모습을 드러낸다. 기호의 물질적 모습과 그 기호를 읽을 때 생기는 의미는 어떻게 연결될까. 연결은 객관적인 규칙만으로 이루어질까, 익숙함과 맥락도 필요할까. 다른 재료 속에서 같은 관계를 발견할 수 있다면 마음의 작용도 신경세포가 아닌 재료에서 나타날 수 있을까. 아직 답하지 않아도 된다. 질문이 생기는 자리를 알아보는 것만으로 충분하다.

같은 것을 알아본다는 것은 복잡한 세계를 단순하게 만드는 동시에 그 안에서 길을 잃지 않는 일이다. 모든 것을 다르게 본다면 우리는 아무것도 배우지 못한다. 모든 것을 같게 본다면 역시 아무것도 배우지 못한다. 배움은 그 두 극단 사이에서, 새로 만난 사물에 어떤 이름을 붙일지 조심스럽게 정하는 과정이다.

# 뜻을 모르는 우편배달부

우편배달부가 편지의 내용을 모두 이해해야 편지를 배달할 수 있는 것은 아니다. 봉투에 적힌 주소를 읽고 분류 규칙을 따르면 된다. 안에 축하 인사가 들어 있든, 아주 어려운 물리학 논문이 들어 있든, 목적지까지 옮기는 절차는 대체로 같다. 내용에 대한 이해와 표지에 따른 처리는 서로 다른 종류의 일이다.

기호를 다루는 기계에 관해 생각할 때 이 구분은 유용하다. 계산기는 화면에 나타난 숫자를 보고 용돈이 모자란 사람의 걱정을 느끼지 않는다. 입력된 수를 정해진 방식으로 처리하고 결과를 표시한다. 그렇다고 결과가 우리에게 아무 의미도 없는 것은 아니다. 계산기가 내놓은 3,000이라는 값은 누군가에게 오늘 점심을 살 수 있는 금액일 수 있다.

기호를 배열하고 바꾸는 규칙을 구문이라고 부를 수 있다. 그 기호가 무엇을 가리키고 어떤 상황에서 참이 되는지를 살피는 쪽은 의미다. 이 둘을 구별하면 생각이 조금 더 선명해진다. 한국어 문장처럼 잘 구성되었다고 해서 그 문장이 반드시 사실인 것은 아니다. 반대로 뜻이 어느 정도 전해진다고 해서 문법적으로 완전한 문장인 것도 아니다.

예를 들어 ‘빨간 의자는 창가에 있다’는 문장을 보자. 문장의 짜임새는 책상 위에서 검사할 수 있다. 정말 빨간 의자가 창가에 있는지는 방을 보아야 한다. 문법과 세계가 서로 다른 몫을 담당한다. 수학에서는 이 관계를 더 엄격하게 나누어 생각한다. 허용된 기호로 잘 만들어진 식인지, 어떤 해석에서 성립하는지는 별개의 질문이 된다.

그렇다면 규칙대로 기호를 바꾸는 일은 의미와 아무 상관이 없을까. 꼭 그렇지는 않다. 덧셈을 수행하는 절차가 유용한 것은 그 절차가 수량의 관계를 잘 보존하기 때문이다. 사과 두 개와 세 개를 합치면 다섯 개가 되고, 기호 2와 3을 덧셈 규칙으로 처리해도 5가 나온다. 기호 세계의 변화가 우리가 관심을 둔 세계의 관계와 맞물린다.

중요한 것은 그 연결이 저절로 보장되는 것이 아니라는 점이다. 어떤 컴퓨터 프로그램이 숫자를 두 배로 만드는 규칙을 적용한다고 하자. 그것을 세금 계산에 쓰려면 두 배라는 규칙이 그 상황에 맞는지 따져야 한다. 프로그램이 정확히 실행되었다는 사실과 적절한 일을 했다는 사실은 다르다. 정교한 기계도 잘못 정한 목표를 아주 충실하게 수행할 수 있다.

학교의 출석부를 떠올리면 더 분명해진다. 출석은 1, 결석은 0으로 기록했다고 하자. 기계는 1을 세어 출석 횟수를 구할 수 있다. 그러나 숫자 1 자체가 출석의 성질을 타고난 것은 아니다. 우리가 그렇게 정했다. 다른 반에서 1을 결석으로 쓰면 같은 숫자열이 반대의 이야기를 할 수 있다. 해석 규칙은 기호의 바깥에서 제공되기도 한다.

그렇다고 의미가 완전히 제멋대로라는 결론도 성급하다. 출석부의 목적, 학교의 관행, 학생이 실제로 교실에 있었는지 같은 사실들이 해석을 제약한다. 아무 해석이나 같은 정도로 적절하지는 않다. 기호가 자유롭게 재료를 바꿀 수 있다는 사실과 그 기호를 아무렇게나 읽어도 된다는 주장은 다르다.

우편배달부의 비유 역시 여기서 멈출 자리가 있다. 배달부 한 사람은 편지 내용을 몰라도 되지만 편지를 쓰고 읽는 사회 전체에서 의미가 사라진 것은 아니다. 한 부품이 이해하지 않는다는 사실만으로 전체 시스템도 이해하지 못한다고 바로 결론 내릴 수 없다. 자동차의 바퀴 하나가 방향을 결정하지 않는다고 자동차 전체가 방향을 바꾸지 못하는 것은 아닌 것처럼 말이다.

이것은 기계가 이해한다고 증명한 것도 아니다. 부분과 전체를 구별해야 한다는 지적이다. 마음에 관한 논쟁에서는 눈에 잘 띄는 한 부분에 모든 성질을 요구하기 쉽다. 신경세포 하나는 문장을 읽지 못한다. 그래도 사람은 문장을 읽는다. 그렇다면 어떤 연결과 작용이 모여야 새로운 능력이 나타나는지를 살펴봐야 한다.

기호와 의미 사이의 간격은 결함만이 아니다. 그 간격 덕분에 한 계산 절차를 사과, 거리, 시간, 돈에 두루 사용할 수 있다. 기계는 구체적인 사정을 모른 채 관계를 보존하고, 우리는 그 관계를 상황에 연결한다. 같은 도구가 여러 세계를 오가는 힘은 무엇을 지우고 무엇을 남겼는지에 달려 있다.

# 규칙으로 지은 작은 도시

아무것도 없는 종이에 점 하나를 찍었다고 하자. 이 도시에서는 이미 찍힌 점 옆에 새 점 두 개를 더하는 행동만 허용한다. 점을 지우거나 하나만 추가하는 행동은 금지한다. 처음에는 한 점, 다음에는 세 점, 그다음에는 다섯 점이 된다. 아주 단순한 약속만으로도 가능한 풍경과 불가능한 풍경이 갈라진다.

여기서 출발점은 점 하나이고, 이동 규칙은 두 점 더하기다. 도달한 모든 풍경은 출발점과 규칙에서 나온다. 이런 생각을 추상화하면 형식 체계에 가까워진다. 어떤 기호를 사용하는지, 어떤 기호열이 적법한지, 무엇을 처음부터 받아들이는지, 무엇으로부터 무엇을 이끌어 낼 수 있는지 정한다. 말의 뜻을 잠시 옆에 두고도 움직임을 검사할 수 있는 세계다.

출발점으로 받아들이는 문장들을 공리라고 한다. 공리는 일상어에서 말하는 ‘누구나 직관적으로 인정하는 진리’와 꼭 같지 않다. 어떤 이론을 구성하기 위해 우선 받아들인 문장이라는 역할이 중요하다. 기하학에서 다른 공리를 택하면 다른 공간을 연구할 수 있다. 공리는 탐구를 시작하는 조건이지 언제나 마지막 설명은 아니다.

공리에서 허용된 추론으로 얻은 문장은 정리다. 정리를 얻는 과정은 증명이다. 증명을 도시의 이동 기록에 비유하면, 어느 출발점에서 어떤 규칙을 몇 차례 사용했는지가 차례로 적힌 여행 일지다. 결론만 맞아 보인다고 증명이 되는 것은 아니다. 중간 이동도 허용되어야 한다. 담을 넘어 목적지에 들어간 뒤 길을 따라왔다고 말할 수는 없다.

점의 도시에서는 짝수 개의 점에 도달할 수 없다. 시작한 수는 홀수이고 두 개를 더해도 홀수이기 때문이다. 열 번, 백 번 직접 시도할 필요가 없다. 어떤 이동을 하더라도 유지되는 성질을 찾았기 때문이다. 이런 성질을 불변량이라고 한다. 불변량을 발견하면 끝없는 경우들을 한꺼번에 다룰 수 있다.

이 설명에는 이미 층위의 차이가 숨어 있다. 도시 안에서는 점을 추가한다. 도시 바깥에서는 ‘모든 이동은 홀짝을 유지한다’고 말한다. 안에서 하는 행동과 그 행동 전체를 설명하는 말은 다르다. 형식 체계와 그 체계를 연구하는 메타이론의 구분이 여기서 싹튼다. 메타라는 말이 거창하게 들려도 우선 ‘그것에 관해 한 단계 물러서서’라고 읽으면 된다.

학교 규칙을 따르는 학생과 그 규칙이 공평한지 논의하는 학생도 서로 다른 층위에서 말한다. 한 사람이 두 일을 번갈아 할 수 있다. 다만 규칙 안에서 합법적이라는 판단과 규칙 자체가 정당하다는 판단은 혼동하면 안 된다. 수학에서도 정해진 체계 안에서 증명된다는 것과 그 체계의 해석이 적절하다는 것은 구별된다.

이 작은 도시를 수학 전체로 착각하지는 말자. 점 두 개를 더하는 세계에는 할 수 있는 말이 거의 없다. 자연수의 덧셈과 곱셈, 기호열의 번호, 증명 과정까지 표현하는 체계는 훨씬 풍부하다. 어떤 단순한 체계가 완벽히 정리된다고 해서 모든 체계가 그렇다는 결론은 나오지 않는다. 반대로 강력한 체계의 한계가 작은 점 놀이에 그대로 적용되는 것도 아니다.

형식화의 장점은 이견이 생기는 자리를 드러낸다는 데 있다. 두 사람이 결론에 동의하지 않으면 공리가 다른지, 추론이 잘못되었는지, 기호의 해석이 다른지 살펴볼 수 있다. ‘나는 그냥 그렇게 느낀다’는 말을 넘어 무엇을 받아들이면 무엇이 따라오는지 공개한다. 증명은 혼자 확신을 얻는 방법이면서 타인에게 검사를 허용하는 방법이다.

그 공개성 때문에 기계적 검사라는 생각도 자연스럽게 등장한다. 한 줄이 앞의 줄들에서 합법적으로 나오는지만 확인한다면, 정해진 절차를 따르는 장치가 검사할 수 있지 않을까. 그러나 검사할 수 있다는 사실에서 증명을 언제나 찾아낼 수 있다는 결론으로 바로 건너가면 안 된다. 완성된 지도에서 경로를 확인하는 일과 지도도 없이 목적지까지 가는 길을 찾는 일은 다르다.

도시는 이제 점 놀이보다 커졌다. 공리, 추론, 증명, 해석이라는 구역이 생겼다. 아직 그 어디에도 신비한 것은 없다. 오히려 무엇을 할 수 있는지 또박또박 적었기 때문에 앞으로 뜻밖의 일이 일어날 준비가 되었다. 한계를 정확히 발견하려면 먼저 능력을 정확히 말해야 한다.

# 참이라는 말의 두 주소

‘교실의 모든 창문이 닫혀 있다’는 문장이 참인지 알아보려면 창문을 살펴보면 된다. 한편 누군가 ‘모든 창문이 닫혀 있다면 비가 교실 안으로 들이치지 않는다’는 조건을 알려 주었다고 하자. 우리는 그 조건과 첫 문장에서 새로운 결론을 이끌어 낼 수 있다. 관찰로 확인하는 일과 전제에서 추론하는 일이 한 장면 안에 함께 있다.

수학에서는 참과 증명을 더 분명히 구별한다. 어떤 문장이 주어진 해석에서 성립하는가를 묻는 것은 의미에 관한 질문이다. 어떤 공리에서 정해진 규칙으로 그 문장을 얻을 수 있는가를 묻는 것은 증명에 관한 질문이다. 둘이 잘 연결되기를 바라지만, 애초에 같은 정의를 가진 말은 아니다.

자연수라고 하면 우리는 0, 1, 2, 3으로 끝없이 이어지는 익숙한 수들을 떠올린다. 이 익숙한 자연수의 세계를 표준 자연수 구조라고 부른다. 어떤 산술 문장이 그 세계에서 참이라는 말과 특정 공리 체계에서 증명된다는 말은 주소가 다르다. 전자는 해석된 수의 세계를, 후자는 정해진 출발점과 추론 규칙을 가리킨다.

이 차이를 ‘현실은 참이고 말은 거짓일 수 있다’ 정도로 바꾸면 충분하지 않다. 수학의 모델은 물리적 현실과 같은 말이 아니기 때문이다. 모델은 기호가 무엇을 가리키고 연산이 어떻게 작동하는지 정한 구조다. 같은 기호 체계가 여러 모델에서 해석될 수 있다. 기호의 문법을 공유한다고 모든 문장의 참과 거짓까지 공유하는 것은 아니다.

건전하다는 말은 증명으로 얻은 것이 관련 해석에서 참이라는 뜻으로 사용된다. 잘 만든 다리를 건너면 약속한 곳에 도착한다는 보장이다. 완전하다는 말은 어떤 맥락에서는 관련된 모든 참을 증명이 포착한다는 뜻으로 쓰인다. 하지만 정확히 무엇의 완전성인지에 따라 의미가 달라진다. 이름이 같다는 이유로 같은 주장을 떠올리면 뒤에서 혼란이 생긴다.

논리학의 완전성 정리에서 중요한 문구는 ‘공리를 만족하는 모든 모델에서’다. 모든 모델에서 성립하는 귀결은 형식적으로 증명할 수 있다는 이야기다. 반면 산술 이론의 불완전성에서는 어떤 문장도 그 부정도 그 이론에서 증명되지 않는다는 현상이 등장한다. 표준 자연수에서 참인 것과 공리를 만족하는 모든 모델에서 참인 것은 같은 범위가 아니다.

지금 이 차이가 멀게 느껴져도 괜찮다. 약속이 적힌 종이와 그 약속에 맞게 꾸밀 수 있는 여러 방을 상상하면 도움이 된다. 종이에 ‘의자가 적어도 하나 있다’고만 적었다면 의자 한 개의 방도, 두 개의 방도 조건을 만족한다. 모든 가능한 방에 의자가 두 개 있는 것은 아니다. 조건에 맞는 방의 범위와 우리가 특별히 마음에 둔 방은 다를 수 있다.

이 비유에서는 방이 유한하고 눈에 보이지만 산술의 모델은 훨씬 섬세하다. 그래도 ‘모든 허용된 해석’과 ‘하나의 의도한 해석’을 구분하는 출발점은 된다. 수학자는 직관적으로 분명해 보이는 대상을 공리로 정확히 붙잡으려 한다. 그 붙잡기가 어디까지 성공하는지를 묻는 것이 기초론의 중요한 일이다.

무모순성은 또 다른 말이다. 보통의 고전 논리에서 한 문장과 그 부정을 모두 증명할 수 없다는 성질이다. 무모순하다고 해서 그 체계가 우리가 의도한 세계에서 오직 참만을 말한다는 뜻은 아니다. 서로 충돌하지 않는 이야기가 반드시 실제 상황과 맞는 것은 아닌 것처럼, 무모순성과 건전성은 구별해야 한다.

다만 일상적 비유에 너무 기대어 수학의 성질을 심리적인 것으로 바꾸면 안 된다. 여기서 ‘충돌’은 기분이 불편하다는 뜻이 아니라 특정한 형식의 문장과 부정이 함께 증명된다는 뜻이다. 정확한 정의는 비유가 흐릿하게 만든 곳을 다시 선명하게 한다. 쉬운 설명과 엄밀한 설명은 경쟁 관계라기보다 서로의 부족한 부분을 채우는 관계다.

앞으로 ‘참이지만 증명되지 않는다’는 말을 만나면 뒤에 조용히 두 질문을 붙여 보자. 어느 해석에서 참인가. 어느 체계에서 증명되지 않는가. 이 두 주소를 잊지 않는 것만으로도 괴델의 정리에 붙은 많은 과장된 이야기를 지나칠 수 있다. 수학의 놀라움은 범위를 흐릴 때보다 범위를 정확히 지킬 때 더 또렷해진다.

# 짧은 규칙, 긴 세계

종이 위에 한 줄의 무늬를 그린 뒤, 같은 무늬를 조금 작게 하여 그 안에 넣는다고 생각해 보자. 그 작은 무늬 안에도 다시 더 작은 무늬를 넣는다. 설명은 짧지만 손으로 그릴 결과는 끝없이 길어질 수 있다. 규칙의 길이와 그 규칙이 만들어 내는 세계의 크기가 같지 않다는 사실이 여기서 드러난다.

휴대전화의 사진 파일은 큰 화면의 수많은 점을 담는다. 어떤 사진은 반복이 많아서 짧게 표현할 수 있고, 어떤 사진은 작은 변화가 많아서 그렇게 하기 어렵다. 반복을 알아보면 일일이 적는 대신 ‘이 무늬를 여기까지 되풀이하라’고 말할 수 있다. 압축은 대상을 없애는 마술이 아니라 규칙을 이용해 다시 복원할 길을 남기는 일이다.

그렇다고 짧은 설명을 가진 모든 대상이 단순하게 느껴지는 것은 아니다. 자연수에서 출발해 정해진 연산을 반복하는 절차는 몇 줄로 적을 수 있어도 그 장기적 행동을 알아내기는 어려울 수 있다. 시작 방법을 안다고 끝을 아는 것은 아니다. 규칙을 이해했다는 느낌은 종종 결과를 모두 이해했다는 착각으로 이어진다.

재귀라는 말은 비슷한 일을 자기 안에서 다시 수행하는 구조를 가리킨다. 폴더 안에 폴더가 있고 그 안에 또 폴더가 있을 때, 파일을 찾는 일은 각 폴더에서 같은 방식으로 이어질 수 있다. 현재 폴더의 파일을 보고 하위 폴더마다 같은 찾기를 수행한다. ‘폴더를 찾는 방법’이라는 설명 안에 다시 ‘폴더를 찾는 방법’이 들어간다.

이 구조가 유용하려면 끝나는 지점도 중요하다. 더 작은 폴더가 없는 곳에서는 파일을 확인하고 돌아온다. 끝 조건이 없는 재귀는 언제나 아름다운 무한을 만드는 것이 아니라 프로그램을 끝없이 실행시키거나 자원을 소모하게 할 수 있다. 자기 자신을 부른다는 사실보다 어떤 입력으로 다시 부르고 어디에서 멈추는지가 실제 작동을 결정한다.

반복과 재귀는 닮았지만 같은 말은 아니다. 같은 동작을 차례로 백 번 수행하는 반복도 있고, 더 작은 문제를 풀어 현재 문제의 답을 구성하는 재귀도 있다. 많은 경우 둘을 서로 바꿔 구현할 수 있다. 재귀의 특별함은 신비한 계산 능력에 있기보다 문제의 구조를 표현하는 방식에 있다.

서랍에 넣은 상자를 다시 열었더니 작은 상자가 나온다는 장면을 떠올려도 좋다. 상자가 반드시 더 작아진다는 조건이 있으면 언젠가 마지막 상자에 도달하리라고 예상할 수 있다. 하지만 컴퓨터의 문제에서는 ‘더 작다’는 말 자체를 정밀하게 정해야 한다. 글자 수가 줄어드는지, 자연수 값이 내려가는지, 아직 처리하지 않은 항목이 줄어드는지에 따라 논증이 달라진다.

계산의 끝을 보장할 때 자연수는 유용하다. 5에서 출발하여 매번 1씩 줄고 음수로 내려가지 않는다면 계속 줄어들 수는 없다. 그러나 매번 실수를 조금씩 줄인다는 조건만으로는 충분하지 않다. 1, 1/2, 1/4, 1/8처럼 끝없이 이어질 수 있기 때문이다. 비슷하게 들리는 설명 속에 서로 다른 구조가 들어 있다.

한편 재귀적인 그림은 실제 종이나 화면에서 무한히 세밀할 수 없다. 잉크의 해상도와 화면의 픽셀에는 한계가 있다. 우리가 보는 것은 유한한 단계의 표현이고, 그 너머의 무한 과정은 규칙으로 생각한다. 눈으로 본 결과와 개념으로 정의한 대상이 다른 범위에 있다는 점을 기억해야 한다.

짧은 규칙이 긴 세계를 만든다는 사실은 창작에도 힘을 준다. 작곡가는 몇 개의 음으로 이루어진 동기를 바꾸고 겹치며 긴 음악을 전개한다. 작가는 인물의 작은 습관을 여러 상황에서 되돌려 보여 주며 성격을 드러낸다. 되풀이되는 것은 같지만 돌아오는 자리가 달라져 뜻이 달라진다. 반복은 차이를 지우기만 하는 것이 아니라 차이를 알아볼 배경을 마련한다.

이제 우리는 처음보다 조금 더 복잡한 눈을 갖게 되었다. 무늬를 볼 때 재료뿐 아니라 관계를 보고, 기호를 볼 때 처리 규칙과 해석을 구별하며, 규칙을 볼 때 그 규칙이 만든 결과와 결과에 대한 우리의 이해를 나눈다. 다음에는 이 눈을 그림 앞으로 가져갈 것이다. 거기서는 종이의 평평함과 우리가 믿는 공간이 조용히 어긋난다.


# 종이는 평평한데 계단은 올라간다

공책에 정육면체를 그리는 일은 어렵지 않다. 정사각형 두 개를 조금 어긋나게 그린 뒤 대응하는 꼭짓점을 연결하면 된다. 종이에는 선분들이 있을 뿐인데 우리는 그 안에서 앞면과 뒷면을 본다. 어느 면을 앞이라고 생각하느냐에 따라 입체의 방향이 뒤집혀 보이기도 한다. 선은 움직이지 않았는데 공간이 바뀐다.

보는 일은 눈에 들어온 빛을 수동적으로 복사하는 일이 아니다. 우리는 끊어진 선 뒤에 물체가 계속 있다고 추정하고, 가까운 물체가 먼 물체를 가렸다고 판단하고, 작게 보이는 것을 멀리 있는 것으로 읽는다. 일상에서는 이런 추정이 매우 잘 맞는다. 방 안의 모든 물건을 매번 새롭게 증명하지 않고도 걸어 다닐 수 있는 까닭이다.

그림은 그 추정에 말을 건다. 실제로 깊이가 없는 표면에 깊이의 단서를 놓는다. 그림자가 있으면 떠 있는 것처럼 보이고, 평행한 선이 멀리서 모이면 길이 이어지는 것처럼 보인다. 이것은 보는 사람을 단순히 속이는 장난만이 아니다. 우리가 공간을 이해하는 방식을 재료로 삼는 표현이다.

에셔의 작품 앞에서는 그 재료가 한층 낯설어진다. 한 부분을 바라볼 때 자연스러웠던 공간이 다른 부분과 이어지면 같은 규칙으로 설명되지 않는다. 여기서 중요한 것은 잘못 그린 그림과 의도적으로 구성한 불가능한 공간의 차이다. 잘못된 그림은 대개 우연히 어색하다. 치밀한 불가능 도형은 바로 가까운 부분들이 그럴듯하기 때문에 전체의 어긋남이 강하게 느껴진다.

에셔의 1953년 작품 「상대성」에는 서로 다른 방향으로 살아가는 인물들이 함께 나타난다. 같은 계단도 인물에 따라 다르게 사용되는 듯 보인다. 에셔 미술관은 이 작품을 여러 관점과 시선을 한 화면에 결합한 연작의 일부로 설명한다. 작품의 구체적인 생김새는 공식 소장처에서 직접 보는 편이 좋다. 여기서는 그림을 복제하는 대신, 그림 앞에서 생기는 생각을 따라가려 한다.

한 인물 가까이에 눈을 고정하면 그 인물의 발밑이 바닥처럼 느껴진다. 시선을 다른 인물로 옮기면 조금 전 벽처럼 보였던 면이 새로운 바닥의 역할을 한다. 보는 사람은 한 장면 안에서 자기 기준을 갈아 끼운다. 우리가 ‘위’라고 부르는 것이 화면 전체에서 단 하나의 뜻만 가진다고 가정했을 때 혼란이 생긴다.

현실에서도 위아래는 설명의 기준을 필요로 한다. 지구 반대편에 사는 사람의 머리가 우주 전체에서 절대적으로 아래를 향한다고 말하지 않는다. 그러나 이 사실을 에셔의 그림과 곧바로 같다고 해서는 안 된다. 지구의 중력장과 곡면이라는 실제 설명이 있는 상황과, 평면에 여러 시각적 단서를 결합한 작품은 서로 다른 일을 한다. 닮음은 기준의 역할에 있다.

우리는 그림을 보면서 대상을 해석하고, 동시에 해석에 쓰던 습관을 알아차린다. 평소에는 눈에 띄지 않던 약속이 어긋남을 통해 보인다. 문법에 잘 맞는 문장을 읽을 때 문법을 생각하지 않다가 이상한 문장을 만났을 때 어순을 의식하게 되는 것과 비슷하다. 오류나 낯섦은 때때로 숨은 규칙을 비추는 조명이 된다.

에셔의 그림에서 논리학으로 곧장 도약하고 싶은 유혹이 생길 수 있다. 그러나 그림은 괴델의 정리를 증명하지 않는다. 시각적 불가능성과 형식 체계의 불완전성은 별개의 개념이다. 그림에서 가져올 수 있는 것은 한 부분의 자연스러움이 전체의 가능성을 보장하지 않는다는 주의, 그리고 자신이 사용하는 관점을 알아차리는 경험이다.

그 경험만으로도 충분히 풍부하다. 우리는 사진, 지도, 도표, 화면 속 공간을 매일 읽는다. 무엇이 주어졌고 무엇을 내가 채워 넣었는지 구별하는 습관은 그림 밖에서도 쓸모가 있다. 그림자가 깊이를 암시하는 것처럼, 숫자의 정교함이 자료의 확실성을 암시할 수도 있다. 암시는 근거를 대신하지 않지만, 사람의 판단에 강하게 작용한다.

정육면체 그림으로 돌아가면 이제 처음과 조금 다르게 보일 것이다. 선분 몇 개가 상자로 보이는 것은 하찮은 착시가 아니다. 제한된 정보에서 안정적인 세계를 구성하는 마음의 성취다. 그 성취가 어디에서 흔들리는지 살펴볼 때, 우리는 보는 사람 자신을 조금 더 알게 된다.

# 한 걸음씩은 맞는데 한 바퀴는 틀리다

작은 마을에 네 장소가 있다고 상상하자. 우체국에서 학교로 가면 한 층 올라가고, 학교에서 도서관으로 가도 한 층 올라간다. 도서관에서 빵집으로 다시 한 층 올라간 뒤, 빵집에서 우체국으로 돌아올 때도 한 층 올라간다고 한다. 각각의 안내는 간단하다. 하지만 네 안내를 모두 받아들이면 우체국이 자기 자신보다 네 층 높아야 한다.

여기에는 감상의 문제가 없다. 모든 장소에 하나의 높이를 일관되게 부여할 수 있다고 가정하면, 한 바퀴를 돌아 출발점으로 돌아왔을 때 전체 높이 변화는 0이어야 한다. 각 구간의 증가량을 더했더니 4가 된다면 조건들이 함께 성립할 수 없다. 부분별로 이해하기 쉬운 말들이 전체적으로 충돌한 것이다.

불가능한 계단 그림의 매력도 이 간격과 닿아 있다. 가까운 계단 몇 개는 높아지는 것처럼 읽힌다. 시선은 그럴듯한 구간들을 따라 자연스럽게 이동한다. 그러다 출발점으로 돌아오는 순간 전체에 하나의 높이 체계를 부여하려던 시도가 무너진다. 그림을 보는 즐거움에는 ‘어디에서 내 해석이 바뀌었을까’를 추적하는 일이 섞인다.

부분과 전체의 차이는 그림보다 훨씬 넓은 곳에 있다. 친구 네 명이 각각 다음 친구보다 나이가 많다고 말할 수는 없다. 한 쌍씩 떼어 놓으면 관계를 그릴 수 있지만 고리 전체에는 모순이 생긴다. 반대로 가위바위보에서는 가위가 보를, 보가 바위를, 바위가 가위를 이겨도 모순이 아니다. 이긴다는 관계는 나이가 많다는 관계와 다른 성질을 갖기 때문이다.

바로 이 차이가 중요하다. 고리 모양이라는 이유만으로 모든 순환을 역설이라고 부를 수 없다. 관계가 무엇인지, 어떤 법칙을 지켜야 하는지 알아야 한다. 높이가 크다는 관계에는 연쇄적인 비교 성질이 있다. 경기에서 이겼다는 관계는 세 선수가 서로 한 번씩 이기는 상황을 허용한다. 눈에 보이는 화살표의 모양만으로는 판단이 끝나지 않는다.

온라인에서 이유가 빙빙 도는 주장도 만날 수 있다. 어느 소문이 맞다는 근거로 글 하나를 제시했는데, 그 글이 다시 처음 소문을 근거로 삼는다. 출처가 둘인 것처럼 보이지만 독립적인 확인은 하나도 없을 수 있다. 그렇다고 모든 상호 인용이 무가치한 것은 아니다. 서로 다른 관찰과 측정이 들어 있는지, 같은 말을 전달만 하고 있는지 살펴봐야 한다.

수학에서는 국소적이라는 말로 가까운 부분에 관한 성질을, 전역적이라는 말로 전체에 관한 성질을 가리키곤 한다. 이 용어를 몰라도 차이는 익숙하다. 길의 각 구간은 걸을 만하지만 전체 길이는 하루에 걷기 어려울 수 있다. 문장 하나하나는 사실인데 배치와 생략 때문에 글 전체가 오해를 낳을 수 있다. 부분의 검사는 전체의 검사를 대신하지 못한다.

그렇다고 전체를 알아보기 전에는 어떤 부분도 믿을 수 없다는 뜻은 아니다. 부분에서 얻은 정보는 여전히 필요하다. 다만 그 정보를 이어 붙일 때 보존되는 조건이 있는지 확인해야 한다. 퍼즐 조각의 모양이 하나씩 그럴듯한 것과 그 조각들이 한 그림으로 맞춰지는 것은 다른 단계의 성공이다.

우리의 사고는 보통 가까운 곳부터 진행한다. 눈앞의 한 걸음을 검토하고 다음으로 넘어간다. 이 방식은 효율적이지만 어느 순간에는 전체의 장부를 맞춰 보는 일이 필요하다. 계단에서 높이 변화를 합치는 것처럼, 논증에서 전제와 결론이 서로를 몰래 떠받치고 있지 않은지 돌아보는 것이다.

여기서 에셔가 건네는 것은 ‘세상은 비논리적이다’라는 선언보다 섬세한 경험이다. 우리는 모순을 알아보기 위해 오히려 논리적 일관성에 기대고 있다. 모든 높이를 동시에 맞출 수 없다는 것을 알기 때문에 그림의 특이함을 느낀다. 규칙이 전혀 없다면 불가능한 그림도 특별히 불가능하게 보이지 않을 것이다.

한 바퀴를 도는 시선은 결국 그림의 바깥으로 나온다. 눈은 표면을 따라갔지만 생각은 표면에 깔린 약속을 살폈다. 다음에 자기참조를 만나면 이 장면이 떠오를 수 있다. 다만 그때도 먼저 물어야 한다. 돌아온 것은 무엇이며, 돌아오는 동안 어떤 성질이 보존되었는가.

# 무늬가 자리를 바꾸어도

욕실의 타일을 보고 아름답다고 느끼지 않을 수는 있어도, 타일에서 수학을 찾기는 어렵지 않다. 하나의 모양이 빈틈과 겹침 없이 평면을 채운다. 시선을 조금 옮기면 비슷한 풍경이 반복된다. 타일 한 장의 재료나 색과 별개로 배치의 규칙이 존재한다. 그 규칙을 따라 움직여도 전체 모습의 어떤 성질은 유지된다.

대칭은 단순히 좌우가 같은 얼굴만을 뜻하지 않는다. 어떤 변환을 가해도 대상의 관련 구조가 유지되는 경우를 넓게 생각할 수 있다. 한 칸 옆으로 미는 평행이동, 중심을 기준으로 돌리는 회전, 거울에 비추는 반사가 대표적이다. 각각은 무늬를 움직이는 서로 다른 방법이다.

정사각형을 중심에서 90도 돌리면 바깥 윤곽은 같아 보인다. 그러나 한 꼭짓점에 빨간 점을 찍었다면 그 표시까지 보존되지는 않는다. 어느 성질을 포함하여 대칭을 말하는지에 따라 답이 달라진다. 첫 장에서 같은 이름을 알아볼 때 어떤 차이는 남기고 어떤 차이는 지웠던 일이 여기서 다시 나타난다.

에셔의 평면 분할에 관한 관심을 떠올리면, 단순한 도형의 반복이 생물의 형상과 결합할 때 생기는 힘을 이해할 수 있다. 하나의 가장자리는 이웃한 형상의 가장자리이기도 하다. 한쪽을 바꾸면 다른 쪽의 공간도 바뀐다. 대상 하나를 독립적으로 예쁘게 그리는 일과 전체가 맞물리도록 설계하는 일은 다른 제약을 가진다.

빈 공간도 작품의 일부가 된다. 검은 모양을 먼저 보면 흰 부분은 배경으로 물러나고, 흰 모양에 주목하면 검은 부분이 둘레가 된다. 종이 위의 경계는 그대로인데 무엇이 주인공인지가 바뀐다. 우리는 윤곽을 보는 동시에 윤곽의 어느 쪽에 사물의 자격을 줄지도 정한다.

이것을 삶에 적용하면 무엇이든 관점에 따라 달라진다는 상투적인 말에 그치기 쉽다. 더 구체적인 교훈은 공유된 경계를 보라는 것이다. 어떤 공간을 넓히면 이웃 공간이 줄어든다. 하나의 선택은 다른 선택의 가능 범위를 바꾼다. 도형이든 시간표든 같은 자원을 함께 쓸 때 독립적으로 최선인 결정들이 함께 들어맞지 않을 수 있다.

대칭을 찾는 일에는 예측의 즐거움이 있다. 다음 무늬가 어디에서 나타날지 짐작하고 그 짐작이 맞는 것을 확인한다. 그러나 모든 것이 똑같이 반복되면 곧 눈이 떠날 수도 있다. 조금씩 달라지는 반복은 기대를 만들고 갱신한다. 규칙을 알아차렸다고 생각하는 순간 새로운 변형이 나타나면 우리는 다시 자세히 본다.

음악에서도 반복과 변형의 균형은 중요하다. 한 선율이 그대로 되풀이되는 것과 높이를 바꾸어 돌아오는 것은 다르다. 무늬를 옮겨도 관계가 남아 있으면 알아볼 수 있다. 다만 귀는 눈처럼 여러 위치를 동시에 비교하지 못한다. 음악의 대칭은 기억 속의 이전 소리와 현재 소리 사이에서 구성된다.

도형의 변환을 두 번 수행하면 어떤 일이 생기는지도 생각할 수 있다. 정사각형을 90도 돌리고 다시 90도 돌리면 180도 돌린 것과 같다. 네 번 돌리면 원래 방향으로 돌아온다. 변환 자체들이 서로 결합하는 규칙을 갖는다. 수학자는 대상뿐 아니라 대상을 바꾸는 방법들의 세계도 연구한다.

이 단계에서 전문 용어를 모두 외울 필요는 없다. 한 가지 생각만 품고 가면 된다. 우리는 완성된 무늬를 바라볼 수도 있고, 그 무늬가 어떤 변화들을 견디는지 바라볼 수도 있다. 후자의 눈은 대상을 한 장의 사진이 아니라 가능한 움직임의 묶음으로 보게 한다.

자신에 대해서도 우리는 비슷하게 생각한다. 옷이 바뀌고 장소가 바뀌고 시간이 흘러도 어떤 특징이 이어지기 때문에 같은 사람이라고 느낀다. 물론 사람의 정체성은 정사각형의 회전 대칭보다 훨씬 복잡하다. 그렇지만 무엇이 변하고 무엇이 유지되는가라는 질문은 두 경우 모두 유용하다. 닮음은 결론을 주기보다 좋은 질문의 방향을 제공한다.

# 지도가 자기 자리를 표시할 때

큰 건물의 안내 지도에는 흔히 ‘현재 위치’라는 점이 있다. 지도는 건물을 나타내고, 점은 건물 안에서 지도를 보고 있는 사람의 자리를 나타낸다. 손바닥만 한 표면이 자기가 놓인 공간의 일부를 설명한다. 이 작은 장치는 실용적이지만 생각해 보면 흥미롭다. 세계 안에 있는 물건이 세계를 표현하고, 그 표현 안에 자기 위치를 넣는다.

그렇다고 안내 지도가 건물을 완벽하게 복사하는 것은 아니다. 벽의 작은 흠집이나 사람의 표정은 생략한다. 지도 자체에 붙은 먼지까지 모두 표시하려고 한다면 목적을 잃을 것이다. 좋은 지도는 충분히 많이 아는 지도이지 아무것도 빠뜨리지 않은 지도가 아니다. 표현의 성공을 완전한 복제와 혼동하면 쓸모 있는 단순화를 이해하기 어렵다.

지도 안의 작은 현재 위치 표시에 다시 지도 그림을 넣고 그 안에 또 지도를 넣을 수는 있다. 하지만 길을 찾기 위해 그런 무한한 포함이 필요한 것은 아니다. 표시 하나와 해석 규칙이면 충분하다. 자기참조는 반드시 끝없이 작은 복제들의 나열로 구현될 필요가 없다. 대상이 자기 자신을 가리킬 수 있도록 연결이 만들어지면 된다.

책 속의 ‘이 책’이라는 표현도 같은 일을 한다. 책 전체를 그 문장 안에 다시 인쇄하지 않아도 독자는 대상을 알아듣는다. 주소, 이름, 번호 같은 간접적인 지시가 반복을 대신한다. 이 점은 나중에 수학의 자기참조에서 중요해진다. 한 문장이 자신에 관해 말하려면 자기 몸 전체를 문장 안에 집어넣어야 할 것 같지만, 번호를 통해 연결할 수 있다.

지도와 땅을 구별하는 일은 일상적인 판단에서도 유용하다. 친구에 관한 우리의 기억은 친구 자체가 아니다. 한 번의 행동을 보고 만든 설명이 그 사람의 모든 상황을 대표하지는 않는다. 그렇다고 기억과 설명 없이 관계를 맺을 수 있는 것도 아니다. 우리는 늘 불완전한 지도를 사용하며, 경험을 통해 지도를 수정한다.

자기 자신에 관한 지도는 더 까다롭다. ‘나는 낯선 사람 앞에서 말을 잘 못한다’는 믿음이 있으면 발표를 피하게 되고, 발표 경험이 줄어들면 믿음을 바꿀 기회도 줄어든다. 지도는 관찰의 결과인 동시에 행동의 원인이 된다. 표현이 대상에 영향을 주고, 바뀐 대상이 다시 표현을 바꾸는 고리가 생긴다.

이런 되먹임이 있다고 해서 반드시 오류가 생기는 것은 아니다. ‘나는 연습하면 조금 나아진다’는 믿음도 행동과 경험을 바꿀 수 있다. 중요한 것은 고리가 있다는 사실 하나가 아니라 그 고리 안에 어떤 정보가 들어오고 어떻게 수정되는지다. 자기참조를 위험이나 신비의 동의어로 쓰면 실제 구조를 놓친다.

현대의 화면에는 작은 지도가 많다. 배터리 잔량 표시는 기기의 상태에 관한 표현이고, 읽기 진행률은 지금 하고 있는 독서에 관한 표현이다. 표시가 실제 상태와 잘 맞으려면 측정과 갱신이 필요하다. 퍼센트가 정교하게 보인다고 그 값이 모든 의미의 진행을 담는 것은 아니다. 마지막 페이지까지 스크롤했다고 내용을 이해한 것은 아니기 때문이다.

이 차이는 자기 모델을 생각하는 데 좋은 출발점이 된다. 시스템이 자신의 어떤 상태를 내부적으로 표현할 수는 있다. 그 표현을 이용해 행동도 바꿀 수 있다. 그러나 그런 기능이 있다는 사실만으로 인간과 같은 의식이 있다고 결론 내릴 수는 없다. 자기 상태를 보고하는 능력과 그 상태를 주관적으로 경험하는 문제는 따로 살펴야 한다.

지도는 작아서 유용하고, 생략해서 유용하며, 필요할 때 수정할 수 있어서 유용하다. 생각도 그런 면을 가진다. 다만 생각은 자신이 지도를 사용한다는 사실을 잊을 수 있다. 눈앞의 설명이 대상 전체라고 믿기 시작할 때 작은 점이 거대한 땅을 대신한다.

에셔의 공간을 거쳐 오며 우리는 표현이 대상과 다르다는 사실, 부분의 그럴듯함이 전체를 보장하지 않는다는 사실, 자기 자신을 가리키는 일이 완전한 복제를 필요로 하지 않는다는 사실을 만났다. 이제 그림을 잠시 덮고 소리를 들어 보자. 시간 속에서는 같은 문제가 기억과 기대라는 다른 옷을 입고 나타난다.

# 선율은 음표 사이에 산다

익숙한 노래를 원래보다 조금 높은 음에서 시작해도 친구는 대개 무슨 노래인지 알아듣는다. 모든 음의 절대적인 높이는 달라졌는데 선율의 정체는 남아 있다. 음 하나하나보다 음들 사이의 움직임이 중요하기 때문이다. 한 음에서 다음 음으로 얼마나 올라가고 내려가는지, 얼마나 오래 머무르는지가 길의 윤곽을 만든다.

세 음으로 이루어진 짧은 가락을 상상해 보자. 첫 음에서 올라갔다가 조금 내려온다. 같은 움직임을 다른 높이에서 연주하면 빛깔은 달라지지만 친숙함이 남는다. 이것을 음악에서는 이조와 연결하여 생각할 수 있다. 도형을 옆으로 옮겨도 모양을 알아보는 일과 닮았다. 다만 음역이 바뀌면 악기의 음색과 연주 느낌도 달라질 수 있으므로 경험 전체가 보존되는 것은 아니다.

리듬 역시 관계를 만든다. 짧게, 짧게, 길게라는 시간의 패턴은 서로 다른 높이의 소리로도 알아볼 수 있다. 손뼉으로 노래의 리듬을 치면 선율의 상당 부분이 사라져도 어떤 노래인지 짐작하기도 한다. 음악의 정체는 하나의 성분에만 들어 있지 않다. 여러 단서가 서로를 돕는다.

한 음을 거꾸로 읽는다는 말은 뜻이 불분명하지만 음들의 순서를 거꾸로 하는 것은 명확하다. 가락이 도, 미, 레였다면 레, 미, 도로 순서를 바꿀 수 있다. 음의 진행 방향을 뒤집는 변형도 생각할 수 있다. 올라간 만큼 내려가도록 바꾸는 것이다. 다만 실제 음악에서는 음계와 조성에 맞추는 방식에 따라 음정 처리도 달라질 수 있다. 그림의 거울 반사처럼 단 하나의 단순한 조작으로 모든 음악적 상황을 설명해서는 안 된다.

바흐의 음악을 향한 한 가지 입구는 이런 관계를 듣는 데 있다. 짧은 주제가 돌아오고, 다른 성부로 옮겨 가며, 주변의 소리와 새로운 관계를 맺는다. 음악을 들으며 매번 변형의 이름을 맞힐 필요는 없다. 낯선 골목에서 전에 본 창문을 발견하는 것처럼 ‘이 소리를 어디선가 만났다’는 느낌으로 시작해도 된다.

귀는 현재의 소리만으로 선율을 듣지 않는다. 앞의 음을 어느 정도 붙잡고 있어야 다음 음이 올라갔는지 내려갔는지 알 수 있다. 선율은 공기 중의 진동만으로 설명할 수 있는 대상인 동시에, 기억 속에서 이어지는 관계이기도 하다. 한 순간씩 완전히 잊는 청자는 긴 선율의 돌아옴을 알아보지 못할 것이다.

그렇다고 음악이 오직 듣는 사람의 마음이 만들어 낸 것이라는 뜻은 아니다. 악보의 구조, 연주의 시간 관계, 실제 음향이 경험을 제약한다. 서로 다른 사람이 같은 부분에서 주제를 알아볼 수 있는 이유가 있다. 다만 그 구조가 경험으로 나타나는 데에는 듣는 사람의 기억과 익숙함도 참여한다.

노래를 여러 번 들으면 전에 들리지 않던 소리가 들리는 경험은 흔하다. 첫 번째에는 가장 큰 가락만 따라갔는데 다음에는 낮은 음의 움직임이 눈에 띈다. 실제 녹음이 바뀐 것이 아니라 주의를 배분하는 방식이 달라진 것이다. 한 작품은 한 번의 청취에서 모두 사용되고 소진되는 물건이 아니다.

이런 경험을 수학적 이해와 나란히 놓을 수 있다. 증명을 처음 읽을 때는 문장 하나씩 따라가는 데 바쁘다. 다시 읽으면 앞의 가정이 뒤의 어느 지점에 쓰이는지 보인다. 같은 글이지만 관계의 지도가 달라졌다. 음악을 들으며 뒤늦게 주제의 역할을 알아차리는 일과 닮은 면이 있다. 물론 수학의 올바름은 음악처럼 취향만으로 정해지지 않는다.

음악을 숫자로 설명하는 데 거부감을 느낄 수도 있다. 그러나 관계를 말한다고 아름다움이 사라지는 것은 아니다. 꽃의 구조를 안다고 색을 볼 수 없게 되지는 않는다. 반대로 숫자와 규칙만 알면 작품을 다 이해했다는 태도도 좁다. 구조를 알아차리는 일은 경험의 한 층을 더하는 것이지 다른 층을 폐기하는 일이 아니다.

음표는 악보 위에 따로 놓이지만 선율은 그 사이에 산다. 숫자 사이의 관계에서 계산의 뜻이 생기고, 선들 사이의 관계에서 공간이 생겼듯이, 음악에서도 하나의 요소를 떼어 보는 눈과 이어 듣는 귀가 함께 필요하다. 다음 장에서는 한 가락을 따라가던 귀가 두 목소리를 동시에 만나게 된다.


# 두 목소리가 만드는 세 번째 것

한 사람이 짧은 가락을 부르기 시작한다. 잠시 뒤 다른 사람이 같은 가락을 처음부터 부른다. 첫 사람은 이미 다음 부분으로 나아갔으므로 두 사람은 서로 다른 음을 동시에 낸다. 각자는 같은 길을 걷지만 출발 시각이 다르다. 그 차이에서 혼자 부를 때는 없던 울림이 생긴다.

돌림노래에 익숙하다면 카논으로 들어가는 문턱을 이미 밟아 본 셈이다. 카논에서는 한 성부가 다른 성부를 정해진 규칙에 따라 모방한다. 단순히 같은 가락을 늦게 시작할 수도 있고, 다른 높이나 변형된 형태로 따라갈 수도 있다. 모든 카논이 똑같은 장치는 아니지만 한 목소리와 다른 목소리의 관계를 규칙으로 정한다는 점이 중심에 있다.

여기에는 두 방향의 듣기가 필요하다. 한 성부를 따라가면 시간 속의 선율이 들린다. 같은 순간에 여러 성부가 내는 음을 들으면 수직적인 만남이 들린다. 작곡가는 두 방향을 함께 고려해야 한다. 각각의 길이 자연스럽게 이어지는 동시에 길들이 만나는 자리도 음악적으로 작동해야 한다.

대위법이라는 말은 독립적인 선율들이 함께 진행하는 관계를 다루는 전통과 연결된다. 이것을 ‘각자 마음대로 연주해도 되는 음악’이라고 생각하면 정반대가 된다. 함께 울릴수록 서로의 움직임이 제약을 만든다. 자유는 관계가 없는 상태가 아니라 관계 안에서 여러 선택을 만들어 내는 능력으로 나타나기도 한다.

두 목소리가 만드는 세 번째 것은 새로운 성부를 몰래 하나 더 녹음했다는 뜻이 아니다. 성부들 사이의 관계가 만들어 내는 전체적 인상을 말한다. 높은 소리와 낮은 소리를 따로 들을 때의 경험을 단순히 옆에 놓는 것과 함께 들을 때의 경험은 다르다. 각 부분의 성질뿐 아니라 동시에 놓이는 방식이 중요하다.

에셔의 타일에서도 하나의 가장자리가 이웃의 가장자리였던 것을 떠올릴 수 있다. 음악에서도 한 음은 자기 선율의 앞뒤와 관계하면서 같은 순간의 다른 음들과 관계한다. 국소적인 선택은 여러 맥락에 참여한다. 한 방향에서만 잘 맞는 것을 골라 놓으면 다른 방향에서 곤란해질 수 있다.

이런 구조를 들으려면 전문적인 악보 읽기부터 시작할 필요는 없다. 한 번은 가장 잘 들리는 성부를 따라가고, 다른 한 번은 낮은 소리를 따라가도 된다. 집중하는 길을 바꾸면 전체의 인상이 달라진다. 몇 번을 들어도 모든 것을 분리해 듣지 못할 수 있지만, 두 번째 길이 존재한다는 사실만 알아차려도 음악이 넓어진다.

바흐의 음악에서는 이러한 다성적 사고를 만날 수 있다. 다만 바흐의 모든 작품을 한 규칙의 사례로 줄여서는 안 된다. 장르와 편성, 표현의 목적이 서로 다르다. 카논이나 푸가라는 이름은 작품으로 들어가는 입구이지 작품 전체를 대신하는 요약표가 아니다.

우리는 종종 이해를 하나의 목소리에 집중하는 일로 생각한다. 글을 읽을 때도 가장 중요한 주장 하나를 찾는다. 그런데 복잡한 대상에서는 서로 다른 수준의 설명을 함께 유지해야 할 때가 있다. 뇌의 물리적 활동과 사람의 심리적 이유를 함께 살피는 일이 그러하다. 두 설명이 서로 관련된다고 해서 같은 문장으로 바뀌어야 하는 것은 아니다.

음악이 그런 설명의 철학을 증명하는 것은 물론 아니다. 여기서 얻는 것은 여러 관계를 동시에 듣는 감각이다. 하나의 성부를 지우지 않으면서 다른 성부를 들을 수 있다는 경험, 전체가 부분을 억압하기만 하는 것이 아니라 부분의 의미를 바꿀 수 있다는 경험이다.

가락 하나가 끝나도 다른 가락은 계속된다. 한 사람의 끝이 모두의 끝은 아니다. 우리는 차례로 들어온 목소리들이 어떻게 다시 만나는지 기다린다. 그 기다림 속에서 시간은 단순한 음들의 줄이 아니라 약속과 기억이 얽힌 공간이 된다.

# 돌아온 가락은 같은 가락일까

오래된 사진을 다시 보면 사진 속 장면보다 그 사진을 처음 보던 때가 떠오르기도 한다. 물건은 그대로인데 그 사이에 생긴 경험이 읽는 방식을 바꾼다. 음악의 주제가 돌아올 때도 비슷한 일이 일어난다. 같은 음들이 다시 들려도 그 앞에 무엇을 들었는지에 따라 다른 무게를 가진다.

푸가는 주제가 여러 성부에 나타나고 그것을 바탕으로 음악이 전개되는 대위적 작곡 방식이다. 이것을 ‘한 곡 전체가 처음 주제를 정확히 복사한다’고 이해하면 잘못이다. 주제가 제시되는 부분도 있고, 그 재료를 이어 가며 다른 곳으로 움직이는 부분도 있다. 실제 작품의 진행은 다양하다. 규칙의 이름을 안다고 다음 순간을 전부 예측할 수는 없다.

주제가 다른 성부에서 시작하면 우리는 연속성과 변화를 동시에 듣는다. 먼저 들은 모양이 돌아왔다는 점에서는 연속이고, 음역과 주변의 움직임이 달라졌다는 점에서는 변화다. 같은 손님이 다른 방에 들어오면 그 방의 분위기와 새로운 관계를 맺는 것과 같다. 손님을 알아보는 것과 그 장면을 이해하는 것은 함께 진행된다.

반복이 전혀 없는 음악에서는 기억의 발판을 찾기 어려울 수 있다. 반대로 모든 것이 같은 방식으로만 돌아오면 새롭게 들을 것이 줄어든다. 작품마다 균형은 다르지만 익숙함과 낯섦이 함께 작용한다. 새로운 것을 들으려면 무엇이 새로워졌는지 알아볼 배경이 필요하다.

우리가 책에서 쓰는 표현도 문맥에 따라 달라진다. 처음 장에서 ‘구조’는 글씨와 지도에서 관계를 남기는 일이었다. 지금은 시간 속에서 주제를 알아보게 하는 관계로 다시 나타난다. 말의 핵심은 이어지지만 연결되는 장면이 넓어졌다. 좋은 설명은 같은 정의를 거듭 인쇄하는 대신 독자가 그 정의를 사용할 수 있는 자리를 늘린다.

음악의 전개를 논리적 증명과 비교할 때는 조심해야 한다. 증명에서 결론은 전제와 추론 규칙에 의해 보장되어야 한다. 음악의 다음 음은 앞의 음에서 논리적으로 필연적으로 나오지 않는다. 작곡가에게는 선택이 있고 청자에게는 기대가 있다. 기대를 만족시키는 것과 필연성을 입증하는 것은 다른 성취다.

이 차이를 지키면 오히려 비교가 좋아진다. 증명과 음악 모두 앞부분이 뒷부분을 준비할 수 있지만 준비의 방식은 다르다. 수학에서는 어떤 가정이 필요한 조건으로 작동하고, 음악에서는 어떤 모양이 기억과 기대를 형성한다. 둘을 같은 것으로 부르지 않아도 전개를 이해하는 데 관계의 기억이 중요하다는 공통점을 볼 수 있다.

바흐의 『음악의 헌정』과 같은 작품군을 접할 때에도 한 번에 모든 구조를 파악해야 한다는 압박을 내려놓아도 된다. 작품에 관한 역사적 정보는 듣는 경험을 풍부하게 할 수 있지만 감상의 통행증은 아니다. 짧은 부분에서 선율이 다른 목소리로 옮겨 가는 순간을 발견하는 것부터 시작할 수 있다. 이 책에 필요한 것은 작품의 완전한 분석이 아니라 귀가 관계를 구성하는 순간이다.

같은 가락인지 여부에는 어느 정도 해석이 들어간다. 음 몇 개가 바뀌어도 주제의 성격이 남아 있다고 들을 수 있다. 너무 많이 바뀌면 연결을 놓친다. 어디까지 같다고 볼지는 작품의 맥락과 듣는 사람의 익숙함에 영향을 받는다. 수학의 정확한 동치 관계와 음악의 지각적 닮음은 이 점에서도 다르다.

우리는 세상의 많은 것을 이처럼 완벽히 같지 않은 같음으로 알아본다. 어린 시절의 자신과 지금의 자신도 그렇다. 사진 속 몸은 변했고 믿음과 취향도 달라졌지만 이어지는 이야기와 기억이 있다. 그 연결이 무엇으로 이루어졌는지는 나중에 다시 살펴볼 것이다. 지금은 돌아옴이 복제와 같지 않다는 점을 남겨 두자.

음악이 끝났을 때 첫 주제는 처음보다 많은 의미를 가진다. 그 자체가 바뀌어서만은 아니다. 우리는 그것이 지나온 관계를 함께 듣게 되었다. 이해는 때로 새로운 정보를 더하는 일이지만, 이미 가진 정보들의 배치를 바꾸는 일이기도 하다.

# 악보와 연주 사이

악보를 책상 위에 놓아두면 아무 소리도 나지 않는다. 음의 높이와 길이, 여러 지시가 종이에 적혀 있지만 그것들이 시간 속의 소리가 되려면 연주가 필요하다. 같은 악보도 악기와 연주자, 공간에 따라 다르게 들린다. 그렇다고 악보가 아무것도 정하지 않는 것은 아니다. 지정한 음을 모두 바꾸면 같은 작품을 연주했다고 말하기 어렵다.

이 관계는 프로그램과 실행을 생각하는 데 도움이 된다. 프로그램의 글자는 정적인 기록이다. 실행 중에는 상태가 변하고 입력이 처리되며 결과가 나온다. 다만 연주자는 악보를 해석하는 예술적 주체이고, 컴퓨터의 실행은 정해진 계산 규칙을 따른다는 차이가 있다. 비유가 잘 맞는 자리는 기록과 과정의 구별이지 두 과정 전체의 동일성은 아니다.

요리법과 요리의 관계도 떠올릴 수 있다. 조리법에 적힌 ‘끓인다’는 말은 실제 냄비의 변화를 짧게 가리킨다. 읽는 사람은 재료의 상태와 도구를 알고 있다는 전제 아래 움직인다. 인간에게 충분한 설명이 기계에게는 모호할 수 있다. 형식적인 프로그램을 만들려면 어느 상태에서 어떤 행동을 할지 훨씬 명확히 정해야 한다.

기호열을 실행할 수 있으려면 해석하는 장치가 필요하다. 숫자 65가 문자의 번호인지 온도인지 다른 명령의 일부인지 스스로 말해 주지는 않는다. 장치와 약속이 그것을 정한다. 앞서 우편배달부가 주소의 형식을 따랐듯, 실행 장치는 정해진 구문과 처리 규칙을 따른다.

그러나 컴퓨터에서는 흥미로운 일이 가능하다. 해석 장치의 행동도 다시 프로그램으로 쓸 수 있다. 어떤 언어의 명령을 읽고 수행하는 프로그램, 곧 인터프리터를 만들 수 있다. 그러면 한 기계가 여러 기호 체계의 실행 규칙을 모의할 수 있다. 특정한 계산 하나를 위해 만든 장치와 여러 계산을 기술받아 수행하는 장치 사이에 차이가 생긴다.

이때도 모든 수준이 저절로 무한히 떠 있는 것은 아니다. 실제 장치에서는 어떤 명령을 실행하는 하드웨어와 물리적 과정이 있다. 그 위에 여러 층의 소프트웨어가 얹힌다. 우리가 높은 층에서 프로그램을 읽을 때 아래 층을 매번 자세히 보지 않아도 되는 것은 추상화 덕분이다. 아래 층이 없어졌기 때문은 아니다.

악보의 음표가 연주자의 손가락 움직임과 관련되고, 손가락 움직임이 악기의 진동과 관련되며, 진동이 청자의 경험과 관련된다. 같은 사건을 여러 층에서 설명할 수 있다. 한 층의 설명은 다른 층의 설명과 연결되어야 하지만 모든 문장을 같은 어휘로 바꿔야 할 필요는 없다. 작곡의 구조를 공기의 압력 변화만으로 일상적으로 설명하는 것은 가능성의 문제와 별개로 매우 불편하다.

설명의 층을 바꾸는 일에는 목적이 있다. 음이 잘못 나왔다면 악보를 볼 수 있고, 악기가 이상하게 울린다면 현의 상태를 볼 수 있다. 어느 층이 ‘진짜’인지 하나만 고르는 것보다 어떤 질문에 어떤 층이 유용한지 묻는 편이 생산적이다. 물론 서로 모순된 설명을 목적이 다르다는 이유로 모두 받아들일 수는 없다.

마음에 관한 질문에서도 비슷한 선택이 필요하다. 누군가 왜 문을 닫았는지 물으면 ‘추웠기 때문에’라는 답이 적절할 수 있다. 근육과 신경의 활동을 설명하는 답도 다른 질문에는 적절하다. 이유를 말하는 층과 물리적 작동을 말하는 층이 존재한다. 둘 사이의 관계를 연구할 수 있지만 하나의 어휘만 허용하면 중요한 것을 잃기 쉽다.

에셔에서는 평면의 선과 해석된 공간을 구별했다. 바흐에서는 악보의 관계와 시간 속의 경험을 구별한다. 컴퓨터에서는 프로그램의 기술과 실행의 과정을 구별한다. 이 구분들은 장벽을 세우기 위한 것이 아니다. 어느 다리가 필요한지 정확히 알아보기 위해 강의 양쪽을 먼저 식별하는 일이다.

조금 뒤에 프로그램이 자기 자신을 입력으로 받는 장면이 등장한다. 그것이 가능한 이유는 프로그램이 실행 규칙인 동시에 저장하고 읽을 수 있는 기호열이기 때문이다. 악보를 분석하는 음악가가 악보에 관해 말하듯, 기호를 처리하는 절차가 다른 절차의 기록에 관해 작동할 수 있다. 여기서 계산은 자신을 바라보는 창을 얻게 된다.

# 이 문장을 읽는 당신에게

‘이 문장은 한국어로 쓰였다.’ 이 문장에는 특별한 문제가 없다. 문장이 자기 자신에 관해 말하고 있으며 그 말도 맞다. 자기참조라는 단어를 처음 들으면 역설을 떠올리기 쉽지만, 자신을 가리키는 모든 문장이 위험한 것은 아니다. 안내 표지의 ‘이 표지판을 옮기지 마시오’도 대개 이해할 수 있다.

어려움은 자기참조에 다른 장치가 결합할 때 나타난다. ‘이 문장은 거짓이다’라는 말을 고전적인 참과 거짓 두 값으로 처리하려고 해 보자. 참이라고 하면 문장이 말하는 대로 거짓이어야 하고, 거짓이라고 하면 거짓이라는 주장이 성립하지 않으므로 다시 참인 것처럼 보인다. 거짓말쟁이 역설로 알려진 문제가 여기서 시작된다.

이것을 단순히 말장난이라고 치워 버리면 무엇이 문제인지 보이지 않는다. 우리는 자연어가 자기 문장의 참을 자유롭게 말할 수 있고 모든 문장이 참이나 거짓 중 하나이며 그 판단이 일관되어야 한다고 기대했다. 그 기대들을 아무 제한 없이 함께 적용할 때 충돌이 생긴다. 역설은 기대 중 무엇을 다듬어야 하는지 묻는다.

논리학에는 진리 술어의 사용을 제한하거나 언어의 층위를 구분하는 등 여러 접근이 있다. 여기서 모든 해결책을 결정할 필요는 없다. 중요한 것은 이상한 문장 하나 때문에 언어 전체가 무너졌다고 선언하는 대신, 어떤 규칙들이 함께 문제를 일으켰는지 분석할 수 있다는 점이다. 수수께끼는 생각을 끝내는 벽이 아니라 정의를 점검하게 하는 신호다.

인용부호는 층위를 구분하는 작은 도구다. 사과는 먹을 수 있지만 ‘사과’는 두 음절로 된 말이다. 단어를 사용하여 과일을 가리키는 일과 단어 자체를 대상으로 삼는 일이 다르다. 이 차이를 사용과 언급의 구별이라고 부른다. 우리는 일상에서 대체로 잘 구별하지만, 기호에 관해 생각할 때는 의식적으로 지키는 편이 좋다.

‘서울은 큰 도시다’에서는 서울이라는 이름을 사용한다. ‘서울은 두 글자다’는 말은 도시를 두 글자로 만든다는 뜻이 아니라 이름을 언급하는 뜻으로 이해해야 자연스럽다. 수학과 프로그래밍에서도 표현의 값과 표현 자체의 기록을 구별해야 한다. 2+3이라는 식과 그 식을 적은 문자열은 다른 대상으로 취급될 수 있다.

컴퓨터가 프로그램을 읽을 수 있는 것은 그 프로그램이 기록으로 표현되기 때문이다. 실행할 때의 명령과 분석할 때의 자료가 같은 비트 패턴을 통해 연결될 수 있다. 그렇다고 모든 문자가 자동으로 명령이 되는 것은 아니다. 어떤 해석 규칙을 적용하는지가 결정한다. 따옴표 안의 코드를 화면에 보여 주는 일과 실제로 실행하는 일은 매우 다르다.

자기참조가 성립하려면 끝없이 길어야 한다는 생각도 버릴 수 있다. ‘이 문장’이라는 지시어, 파일의 주소, 프로그램의 번호처럼 짧은 표지가 긴 대상을 가리킬 수 있다. 주소를 가진 집 안에 주소가 적힌 편지가 있다고 집이 무한히 커지는 것은 아니다. 표현의 길이와 표현이 가리키는 대상의 크기는 별개의 문제다.

이제 괴델의 문장을 준비할 수 있다. 흔히 그것을 ‘이 문장은 거짓이다’의 수학 버전이라고 소개하지만 그 말만으로는 핵심을 놓친다. 괴델의 구성에서 중요한 것은 거짓이라는 표현이 아니라 특정 체계에서 증명된다는 표현이다. 자연어의 진리 판단을 그대로 산술에 집어넣는 것이 아니라 증명이라는 유한한 기호 조작을 숫자로 표현한다.

‘거짓이다’와 ‘증명되지 않는다’는 다르다. 어떤 사실을 아직 증명하지 못했다고 그 사실이 거짓이 되는 것은 아니다. 특정 체계에서 증명할 수 없다는 것이 모든 가능한 방식의 이해를 금지하는 것도 아니다. 이 구별을 놓치면 불완전성은 신비한 말장난으로 보이지만, 구별을 지키면 정확한 수학적 장치가 보이기 시작한다.

자신을 가리키는 문장은 우리를 언어의 바깥으로 완전히 탈출시키지 않는다. 우리는 또 다른 언어로 그것을 설명한다. 중요한 것은 완전한 바깥을 확보하는 일이 아니라 지금 어느 대상을 어느 수준에서 말하는지 명확히 하는 일이다. 지도에 현재 위치를 표시하듯, 생각에도 현재 설명의 위치를 표시할 수 있다.

# 끝없는 명단의 빈자리

수학에서 무한은 아주 큰 수의 별명이 아니다. 아무리 큰 자연수도 그다음 수가 있지만 무한이라는 말을 그 목록의 마지막 번호로 사용할 수는 없다. 자연수의 목록은 끝이 없다는 방식으로 주어진다. 이 차이를 놓치면 무한을 다루는 논증이 막연한 크기 비교로 보인다.

끝없이 이어지는 0과 1의 줄을 생각해 보자. 00000…도 있고, 10101…처럼 번갈아 이어지는 줄도 있다. 아무 규칙도 보이지 않는 줄도 대상으로 허용한다. 누군가 이 모든 줄을 첫 번째, 두 번째, 세 번째 순서로 빠짐없이 적은 명단이 있다고 주장한다. 명단의 줄 수도 무한이고 각 줄의 길이도 무한이다.

이 명단에서 첫 번째 줄의 첫 번째 숫자, 두 번째 줄의 두 번째 숫자, 세 번째 줄의 세 번째 숫자를 차례로 본다. 표를 만든다면 왼쪽 위에서 오른쪽 아래로 내려가는 대각선이다. 이제 그 숫자들을 뒤집어 새 줄을 만든다. 0을 만난 자리에는 1을, 1을 만난 자리에는 0을 적는다.

새 줄은 첫 번째 줄과 첫째 자리에서 다르다. 두 번째 줄과는 둘째 자리에서 다르다. 백만 번째 줄과는 백만 번째 자리에서 다르다. 어느 번호를 고르더라도 그 번호에 해당하는 자리에서 다르므로 새 줄은 명단의 어느 줄과도 같지 않다. 빠짐없이 적었다는 가정이 무너진다.

명단에 새 줄을 덧붙이면 되지 않느냐고 생각할 수 있다. 물론 하나를 추가할 수는 있다. 그러나 새 명단에도 같은 방법을 적용하면 그 명단에서 빠진 줄을 다시 구성할 수 있다. 논증은 어떤 특정한 목록이 서툴게 만들어졌다고 지적하는 것이 아니다. 자연수 순서로 된 어떤 명단도 모든 무한 이진수열을 담지 못한다는 구조를 보여 준다.

여기서 새 줄을 실제로 무한히 써 내려가며 작업을 마칠 필요는 없다. n번째 자리를 정하는 규칙을 주었다. 어떤 항목과 다른지 물으면 그 항목의 번호 자리에서 다르다고 답할 수 있다. 한 번에 무한한 노동을 끝내는 것이 아니라 모든 유한 번호에 적용되는 이유를 제시하는 것이다.

소수의 끝없는 숫자열로 비슷한 이야기를 할 수도 있지만 표현이 중복되는 경우를 주의해야 한다. 예를 들어 0.999…와 1이 같은 실수를 나타내는 문제가 있다. 여기서는 실수의 소수 표현 대신 그 자체로 구별되는 이진수열을 대상으로 삼았으므로 그 혼동을 피할 수 있다. 좋은 설명은 쉽게 보이도록 기술적인 차이를 감추는 것이 아니라 불필요한 걸림돌이 없는 대상을 고른다.

이런 방식의 논증을 대각선 논법, 또는 대각화라고 부른다. 핵심은 대각선이라는 그림 모양 자체보다 목록의 n번째 대상에 n번째 자리에서 반대되는 대상을 만드는 데 있다. 모든 항목을 각각 다르게 만드는 규칙을 한 번에 조직한다. 전체를 주장하는 체계에서 빠질 대상을 체계적으로 구성하는 기술이다.

이 논법을 듣고 ‘무한은 모순이다’라고 생각할 필요는 없다. 오히려 무한한 대상들 사이에도 구별되는 크기와 구조가 있다는 것을 밝힌다. 자연수도 무한하고 무한 이진수열들의 집합도 무한하지만, 자연수 번호로 전부 세어 나열할 수 있는지에서는 다르다. 무한이라는 한 단어가 여러 차이를 덮고 있었던 셈이다.

곧 이 방식이 프로그램의 세계에 등장한다. 모든 상황을 판정한다고 주장하는 장치가 있으면, 그 장치의 판단을 자신에게 적용하여 반대로 행동하는 프로그램을 만든다. 무한 수열과 프로그램은 다른 대상이고 증명도 구체적으로 다르지만, 각 대상을 자기 번호나 자기 입력 자리에서 만난다는 공통 구조가 있다.

대각화는 신비한 바깥의 지혜를 불러오지 않는다. 오히려 명단이 있다고 가정한 뒤 그 명단의 항목들만 사용한다. 한계를 발견하는 재료가 한계 안에서 나온다. 규칙을 떠나 막연히 반항하는 것이 아니라 규칙이 허용한 길을 끝까지 따라가며 빠진 자리를 찾아내는 것이다.


# 문장에 번호를 붙이는 도서관

도서관의 책에는 분류 번호가 붙어 있다. 번호 자체에 소설의 슬픔이나 역사책의 내용이 들어 있는 것은 아니다. 그래도 번호를 통해 책을 찾고 배열하고 서로 구별할 수 있다. 기호에 번호를 붙이는 일은 그 뜻을 수로 바꾸어 마법처럼 설명하는 일이 아니라, 기호를 다른 종류의 대상으로 다룰 길을 만드는 일이다.

수학에서도 문장과 증명을 자연수로 부호화할 수 있다. 간단한 방법의 아이디어를 보자. 각 기호에 양의 정수 번호를 주고, 기호열의 첫 번째 번호를 2의 지수에, 두 번째 번호를 3의 지수에, 세 번째 번호를 5의 지수에 넣는다. 서로 다른 소수들을 위치 표시로 사용하는 것이다.

세 기호의 번호가 1, 2, 3이라면 그 기호열에 2의 1제곱 곱하기 3의 2제곱 곱하기 5의 3제곱이라는 수를 대응시킬 수 있다. 계산하면 2,250이다. 반대로 소인수분해하면 각 지수를 읽어 번호들을 복원할 수 있다. 기호에 0이 아닌 번호를 사용하고 마지막 위치를 어떻게 정할지 약속하면 길이도 구별할 수 있다.

실제 번호화에는 여러 방법이 있으며 이렇게 큰 수를 효율적으로 저장하는 것이 목적은 아니다. 중요한 것은 유한한 기호열과 자연수 사이에 명확한 연결을 만들 수 있고, 필요한 조작을 기계적인 절차로 수행할 수 있다는 점이다. 어떤 번호가 적법한 문장을 나타내는지, 두 식을 이어 붙인 결과의 번호가 무엇인지 같은 질문을 다룬다.

여기서 흔한 오해를 피해야 한다. ‘사랑’이라는 글자열을 수로 바꿨다고 사랑이라는 감정을 산술로 완전히 설명한 것은 아니다. 번호화가 보존하는 것은 우선 기호열의 구문이다. 어떤 기호가 몇 번째에 있으며 어떤 규칙에 따라 바뀌는가를 다룬다. 뜻의 풍부함 전체를 수 하나가 해독한다는 주장은 전혀 다른 주장이다.

하지만 구문만 다룬다는 사실이 힘을 약하게 만들지는 않는다. 증명은 유한한 기호열들의 배열이며, 각 줄이 공리이거나 앞의 줄에서 허용된 추론으로 나왔는지 검사할 수 있다. 따라서 증명 검사라는 활동도 수에 관한 관계로 옮길 수 있다. p라는 수가 q라는 문장의 올바른 증명을 나타내는지 묻는 것이다.

도서관의 비유가 여기서 새롭게 움직인다. 단순히 책에 번호만 붙이는 것이 아니라 번호를 보고 책의 문법적인 성질을 검사하는 절차도 수의 언어로 표현하려 한다. 어떤 책이 다른 책의 주장을 적법하게 이끌어 냈는지까지 번호 사이의 관계로 기록한다. 산술은 이제 사과의 개수뿐 아니라 자기 문장의 증명에 관한 이야기를 할 수 있다.

이 단계에는 실제 수학적 일이 숨어 있다. 아무 말이나 수로 바꾸기만 하면 저절로 산술 공식이 되는 것은 아니다. 치환이나 증명 검사를 나타내는 계산 가능한 관계를 충분히 강한 산술 이론 안에 표현해야 한다. 괴델의 정리는 그 연결을 엄밀히 구축한다. 지금 우리의 설명은 그 공사의 설계도이며 모든 벽돌을 쌓은 완전한 증명은 아니다.

번호를 알아야만 뜻을 이해할 수 있는 것도 아니다. 우리는 ‘둘 더하기 셋은 다섯’이라는 말을 번호화 없이 이해한다. 번호화의 목적은 인간에게 더 자연스럽게 읽히게 하는 것이 아니라, 문장에 관한 말을 산술의 내부에서 할 수 있게 만드는 데 있다. 편리함과 논리적 가능성은 서로 다른 평가 기준이다.

이제 자기참조의 길이 보인다. 문장 G에 번호 g가 있다면, g라는 번호의 문장에 관해 말하는 산술 문장을 만들 수 있다. 다만 그 문장이 정확히 자기 번호에 관한 문장이 되게 만드는 일은 별도의 장치를 필요로 한다. 단순히 이름을 붙였다는 사실만으로 자기참조가 완성되지는 않는다. 다음에 만나게 될 대각화의 역할이 여기에 있다.

도서관에는 내용에 관한 책도 있고 책의 목록에 관한 책도 있다. 목록에 관한 책 역시 목록에 들어갈 수 있다. 이 단순한 가능성이 논리에서는 아주 먼 곳까지 이어진다. 한 세계가 자기 안의 기록들을 대상으로 삼을 만큼 풍부해지면, 그 세계는 자기 능력을 설명할 언어도 일부 얻게 된다.

# 아주 단순한 기계의 상상력

컴퓨터를 생각하면 화면과 키보드가 먼저 떠오를 수 있다. 하지만 계산이 무엇인지 연구하려면 그런 장식들을 잠시 덜어 내는 편이 좋다. 읽을 수 있는 기호, 현재의 상태, 다음 행동을 정하는 규칙만 남긴다. 아주 소박해 보이지만 무엇을 계산할 수 있는지 묻는 데에는 그 단순함이 오히려 힘이 된다.

튜링 기계는 이런 추상적인 계산 모델이다. 칸으로 나뉜 테이프에 기호가 쓰여 있고, 장치는 현재 칸을 읽는다. 상태와 읽은 기호에 따라 새 기호를 쓰고, 왼쪽이나 오른쪽으로 이동하며, 상태를 바꾼다. 실제 노트북의 내부가 문자 그대로 이런 모습이라는 뜻은 아니다. 계산 절차를 수학적으로 명확히 다루기 위해 만든 모델이다.

테이프는 필요할 때 계속 쓸 수 있다고 이상화한다. 현실의 컴퓨터는 메모리가 유한하지만 계산가능성 이론은 특정 기기의 오늘 용량에 묶이지 않는 질문을 던진다. 충분한 시간과 저장 공간을 허용했을 때도 어떤 절차가 존재하는가를 묻는다. 실제로 빨리 수행할 수 있는가는 그다음에 구별해서 살필 문제다.

어떤 계산은 지극히 반복적이다. 테이프에서 1을 하나씩 세어 합을 만들 수 있다. 어떤 계산은 조건에 따라 방향을 바꾼다. 단순한 행동들이 길게 연결되면 복잡한 절차를 표현할 수 있다. 복잡한 결과를 내기 위해 기본 행동 자체가 인간처럼 영리해야 하는 것은 아니다. 앞에서 짧은 규칙과 긴 세계를 구별했던 이유가 다시 나타난다.

특히 중요한 것은 다른 기계의 설명을 읽고 그 행동을 따라 하는 보편 기계의 생각이다. 기계마다 물리적인 장치를 새로 만들지 않고, 어떤 규칙을 수행할지 기록으로 제공한다. 프로그램을 자료로 받아 실행하는 가능성이 열린다. 이는 현대적인 범용 컴퓨터를 이해하는 논리적 출발점 가운데 하나다.

튜링의 1936년 논문은 계산 가능한 수와 결정 문제를 다루며 이러한 기계적 계산의 분석을 제시했다. 이 책은 논문의 문장을 옮기지 않고 오늘날 익숙한 프로그램의 말로 핵심 구조를 설명한다. 원래 논문의 문제 설정과 현대에 널리 쓰는 정지문제의 표현이 모든 문장에서 동일한 것은 아니라는 점도 구별해 두자.

계산가능하다는 말은 답이 존재한다는 말과 같지 않다. 수학적으로 정의되는 대상이라고 모두 계산 절차를 가진 것은 아니다. 또 답을 계산할 수 있다고 실용적인 시간 안에 구할 수 있는 것도 아니다. 계산의 가능성, 효율성, 실제 기계의 자원은 서로 다른 층위다.

학교에서 큰 곱셈을 손으로 수행하는 장면을 떠올리면 차이가 보인다. 자릿수가 많아 힘들어도 정해진 절차가 있다. 천천히 하다 보면 끝난다. 반면 어떤 문제군에 대해서는 모든 입력에 올바른 답을 주고 반드시 끝나는 절차 자체가 없다는 결과가 나온다. 이것은 ‘너무 어려워서 아직 못 했다’와 질적으로 다르다.

기계가 사람보다 빠르다는 사실은 계산가능성의 한계를 없애지 않는다. 속도를 천 배 높이면 천 단계의 작업을 더 빨리 할 뿐, 존재하지 않는 일반 알고리즘이 생기지는 않는다. 마찬가지로 특정 프로그램의 한계를 모든 가능한 기계의 한계라고 부르면 과장이다. 무엇을 대상으로 한 불가능성인지 정확히 말해야 한다.

이야기를 여기까지 좁혔기 때문에 다음 장에서 강한 결론을 얻을 수 있다. 추상적인 기계는 기분에 따라 행동하지 않고, 규칙은 명확하며, 프로그램은 기록으로 입력할 수 있다. 어떤 일을 언제나 정확히 판정하는 기계가 있다고 가정했을 때 그 가정을 수학적으로 시험할 준비가 끝났다.

단순한 기계의 상상력은 기계가 상상한다는 뜻이 아니다. 단순한 기계를 상상함으로써 우리가 계산의 범위를 더 멀리 생각할 수 있다는 뜻이다. 장치를 화려하게 만드는 대신 불필요한 부분을 덜어 냈을 때, 처음에는 보이지 않던 경계가 나타난다.

# 멈추지 않는다는 것을 언제 알까

앱 화면이 멈춘 것처럼 보인다. 한참 기다렸지만 결과가 나오지 않는다. 우리는 프로그램이 아직 계산 중인지, 오류로 같은 일을 되풀이하는지 궁금해한다. 잠깐 더 기다리면 끝날 수도 있다. 그러나 기다림을 늘리는 것만으로 영원히 끝나지 않음을 일반적으로 확인할 수는 없다. 얼마나 기다렸든 관찰한 시간은 유한하기 때문이다.

정지문제는 프로그램과 입력이 주어졌을 때 그 실행이 언젠가 멈추는지 판정하는 일반 절차가 있는지 묻는다. 여기서 멈춘다는 것은 정해진 종료 상태에 이른다는 뜻이다. 화면이 바뀌는지, 사용자가 만족하는지 같은 일상적인 판단과는 다르다. 질문을 정확히 좁혀야 증명할 수 있다.

모든 프로그램의 정지 여부를 반드시 답하고 항상 맞히는 판정기 H가 있다고 가정하자. H에는 프로그램 P의 기록과 입력 x를 넣는다. 그러면 H는 P가 x에서 멈추면 ‘멈춤’, 멈추지 않으면 ‘멈추지 않음’을 내놓는다. H 자신은 두 경우 모두 유한한 시간 안에 답을 내야 한다. 그렇지 않으면 판정기가 아니라 또 하나의 기다림이 된다.

이제 새 프로그램 D를 만든다. D는 입력받은 프로그램 P에 대해 H에게 ‘P가 자기 자신의 기록을 입력받으면 멈추는가’를 묻는다. H가 멈춘다고 하면 D는 일부러 끝없는 반복에 들어간다. H가 멈추지 않는다고 하면 D는 곧바로 멈춘다. 판정기의 답을 읽고 반대 행동을 하도록 구성하는 것이다.

D를 만드는 데 초능력은 필요하지 않다. H를 사용할 수 있다고 가정했으므로 질문을 보내고 조건에 따라 행동하면 된다. 끝없는 반복과 즉시 종료는 둘 다 쉽게 쓸 수 있는 프로그램이다. D의 구성에 문제가 있다면 그 문제는 H의 존재 가정에서 찾아야 한다.

이제 D에게 D 자신의 기록을 입력한다. H가 이 실행은 멈춘다고 말하면 D의 규칙에 따라 멈추지 않는다. H가 멈추지 않는다고 말하면 D의 규칙에 따라 멈춘다. 어느 답을 하더라도 H의 예측이 틀린다. 따라서 모든 프로그램과 입력에 대해 항상 멈추며 정확히 답한다는 H는 존재할 수 없다.

이 논증의 초점은 D가 이상한 행동을 한다는 데 있지 않다. 두 조건을 모두 가진 판정기를 가정하면 합법적인 프로그램 구성만으로 반례가 생긴다는 데 있다. 앞서 무한 명단의 n번째 항목에 n번째 자리에서 반대되는 줄을 만든 대각화와 닮은 구조다. 전체를 다룬다는 장치를 그 자신의 기록과 마주 세운다.

이 결과는 모든 개별 프로그램의 정지를 알 수 없다는 말이 아니다. ‘화면에 안녕을 쓰고 종료하라’는 프로그램은 멈춘다. 조건을 전혀 바꾸지 않는 무한 반복은 멈추지 않는다. 상당히 복잡한 프로그램도 특정한 방법으로 정지를 증명할 수 있다. 불가능한 것은 모든 경우를 한 절차로 빠짐없이 해결하고 늘 끝내는 것이다.

시간 제한이 있는 질문도 구별해야 한다. ‘백만 단계 안에 멈추는가’는 백만 단계까지 모의해 보면 된다. 필요한 자원이 클 수 있지만 유한한 절차가 있다. ‘언젠가 멈추는가’에는 미리 정한 마지막 관찰 시각이 없다. 유한한 제한을 없앤 작은 문구의 차이가 문제의 성격을 바꾼다.

정지문제는 소프트웨어 검사가 무의미하다는 선언도 아니다. 입력 범위를 제한하거나, 특정한 언어만 다루거나, 모르는 경우를 허용하면 유용한 분석 도구를 만들 수 있다. 모든 것을 완벽히 처리할 수 없다는 사실과 많은 중요한 경우를 잘 처리할 수 있다는 사실은 함께 성립한다. 한계는 도구를 버리라는 명령보다 도구의 약속을 정직하게 정하라는 요구에 가깝다.

앱 앞에서 기다리는 장면으로 돌아오자. 정지문제는 지금 이 앱이 왜 멈추었는지 알려 주지 않는다. 대신 ‘어떤 프로그램이든 끝나는지 알려 주는 완벽한 일반 버튼’을 기대할 수 없는 이유를 준다. 구체적인 고장을 조사하는 일은 여전히 필요하고 가능하다. 수학의 경계는 현실의 작업을 없애는 것이 아니라 그 작업이 무엇을 보장할 수 있는지 선명하게 한다.

# 찾는 것과 없음을 아는 것

큰 도서관에서 책 한 권을 찾고 있다고 하자. 서가를 차례로 살피다가 그 책을 발견하면 탐색을 끝낼 수 있다. 그러나 도서관이 끝없이 이어진다면 아직 못 찾았다는 사실만으로 책이 없다고 말하기 어렵다. 찾는 데 성공한 경우와 찾는 데 영원히 성공하지 못하는 경우를 다루는 방식은 비대칭적이다.

프로그램을 실행하여 멈추는지 관찰하는 일도 그렇다. 실제로 멈추면 그 사실을 알 수 있다. 멈추지 않는 경우에는 관찰 자체가 끝나지 않을 수 있다. 어떤 대상들의 긍정적인 사례를 차례로 찾아낼 수 있다는 것과 모든 입력에 예 또는 아니오를 답할 수 있다는 것은 다르다. 계산이론에서는 이 차이를 정밀하게 구분한다.

수학의 증명도 열거할 수 있다. 유한한 기호열들을 길이 순서 같은 방식으로 만들어 보고, 올바른 증명인지 검사한다. 증명이 있다면 언젠가 목록에 나타난다. 단, 공리들이 계산적으로 열거 가능한 일반적인 경우에는 공리를 얻은 계산의 증거까지 포함하는 식으로 증명 검사 절차를 정돈한다. 아무 공리 목록에나 즉시 판정 가능한 성질을 멋대로 가정하는 것은 아니다.

어떤 문장의 증명과 그 부정의 증명을 동시에 찾는다고 생각해 보자. 두 탐색을 번갈아 조금씩 진행한다. 한쪽이 오래 걸린다고 다른 쪽이 전혀 진행되지 않게 두지 않는다. 만약 이론이 모든 문장을 결정하고 모순이 없다면 둘 중 하나의 증명을 언젠가 발견하고 일관된 답을 내놓을 수 있을 것이다. 그러나 불완전한 이론에서는 둘 다 나타나지 않는 문장이 있다.

이 장면은 검증과 발견의 차이를 또렷하게 한다. 이미 주어진 증명은 유한한 기록이므로 단계별로 검사할 수 있다. 증명을 찾아야 할 때는 후보의 공간을 탐색해야 한다. 모든 후보를 만들 방법이 있다는 사실만으로 답이 언제 나오는지, 아예 나오지 않는 경우를 알아볼 수 있는지까지 보장되지는 않는다.

많은 학생이 수학 문제를 풀지 못하면 답을 이해할 능력도 없다고 느낀다. 그러나 발견과 검증은 실제로 다른 일이다. 풀이는 이해하지만 스스로 떠올리기는 어려운 상황이 이상한 것은 아니다. 이는 곧바로 계산 복잡도에 관한 유명한 미해결 문제들과 같은 주장이라는 뜻은 아니지만, 두 활동을 구별하는 데 좋은 생활 속 출발점이다.

‘없다’는 사실을 증명하는 방법도 물론 있다. 점의 도시에서 짝수 개의 점에 도달할 수 없음을 불변량으로 보였다. 모든 경우를 끝없이 뒤지는 대신 경우 전체에 적용되는 이유를 찾았다. 따라서 못 찾았다는 말과 없음을 증명했다는 말은 다르고, 없음을 증명하는 일 자체가 언제나 불가능한 것도 아니다.

문제는 모든 상황에서 그런 이유를 자동으로 찾아 주는 일반 절차를 기대할 때 생긴다. 특정 프로그램의 무한 반복은 쉽게 설명할 수 있어도 임의의 프로그램 전체를 완전하게 판정할 수는 없다. 어떤 증명 기술이 많은 경우에 성공한다고 그 기술이 언제나 성공하는 것은 아니다.

우리는 일상에서도 비슷한 비대칭을 만난다. 검은 고양이를 한 마리 보면 이 동네에 검은 고양이가 있다는 말은 확인할 수 있다. 한 시간 동안 보지 못했다고 한 마리도 없다고 결론 내리기는 어렵다. 현실의 관찰은 표본과 확률, 공간의 범위까지 포함하므로 형식적인 정지문제와 같지는 않다. 그래도 긍정적 사례와 보편적인 부재 주장의 증거가 다르다는 감각은 이어진다.

인터넷 검색에서 결과가 나오지 않을 때에도 검색어, 색인 범위, 접근 가능성을 살펴야 한다. ‘내가 사용하는 탐색으로 발견되지 않음’이라는 사실을 ‘존재하지 않음’으로 바꾸면 범위를 넘어선다. 정확한 판단은 종종 문장 뒤에 제한 조건을 남겨 두는 데서 시작한다.

괴델의 정리로 향하는 길에서 우리는 이제 두 가지를 가지고 있다. 문장과 증명을 숫자로 나타낼 수 있다는 것, 그리고 증명을 기계적으로 탐색할 수 있다는 것. 놀라운 한계는 이 능력들의 반대편에서 오는 것이 아니다. 그 능력들을 자기 자신에 적용할 만큼 체계가 풍부할 때 나타난다.

# 불가능을 옮기는 다리

어떤 어려운 일을 직접 해결하는 대신 다른 도구로 바꾸어 처리할 수 있다. 낯선 화폐의 가격을 익숙한 화폐로 환산하면 비교가 쉬워진다. 수학과 계산이론에서 환원은 이런 ‘바꾸어 풀기’를 엄격하게 다룬다. 문제 A의 입력을 문제 B의 입력으로 효과적으로 바꾸고, B의 답에서 A의 답을 알아낸다.

이 방법은 가능성을 보일 때도 쓰지만 불가능성을 옮길 때도 쓴다. A를 푸는 일반 알고리즘이 없다는 사실을 이미 안다고 하자. 그런데 B를 풀 수 있다면 A도 풀 수 있도록 변환을 만들었다면, B를 푸는 일반 알고리즘도 있을 수 없다. B가 있다면 없다고 아는 A의 알고리즘을 조립할 수 있기 때문이다.

방향을 뒤집으면 안 된다. 쉬운 문제를 어려운 문제로 바꾸어 풀 수 있다는 사실은 어려운 문제가 쉽다는 뜻이 아니다. 이미 어려운 문제를 새 문제로 보내야 새 문제가 적어도 그 어려움을 품고 있음을 알 수 있다. 다리가 있다는 말만으로는 충분하지 않고 어느 쪽에서 어느 쪽으로 건너가는지 보아야 한다.

정지문제를 예로 들어 보자. 임의의 프로그램 P와 입력 x가 주어졌을 때, 새 프로그램 Q를 만든다. Q는 우선 P를 x에서 실행한다. 그 실행이 끝나면 화면에 별표를 출력하고 종료한다. 끝나지 않으면 별표를 출력하는 줄까지 도달하지 않는다. 따라서 Q가 언젠가 별표를 출력하는지는 P가 x에서 멈추는지와 연결된다.

이제 어떤 프로그램이든 언젠가 특정 표시를 출력하는지 언제나 정확히 판정하는 장치가 있다고 가정하면, 그 장치에 Q를 넣어 P의 정지 여부를 알 수 있다. 정지문제의 일반 해결법이 생겨 버린다. 따라서 그처럼 제한 없는 출력 판정기도 존재할 수 없다. 겉보기에는 다른 질문이지만 한 문제의 난점이 다른 문제 안으로 운반되었다.

여기서 어떤 프로그램의 출력도 예측할 수 없다고 말하면 다시 과장이다. 곧바로 별표를 출력하는 프로그램은 쉽게 알 수 있다. Q의 코드에 별표를 출력하는 명령이 포함되어 있는지 검사하는 일도 다르다. 명령이 쓰여 있다는 사실과 실행이 실제로 그 줄까지 도달한다는 사실은 같지 않다.

구문과 의미의 구별이 계산의 현장에 돌아온 것이다. 코드에 특정 글자가 있는지는 유한한 기록을 조사하는 문제다. 코드가 실행되어 어떤 행동을 하는지는 시간 속의 과정을 묻는 문제다. 프로그램의 기능에 관한 다양한 일반 판정 문제들이 어려워지는 이유를 이해하려면 이 차이가 중요하다.

불가능성 증명은 종종 아무 성과도 낼 수 없다는 낙담처럼 읽힌다. 그러나 실제로는 약속을 설계하는 데 도움이 된다. 제한된 언어에서만 검사하기, 시간 한도 안에서 결과를 내기, 판단할 수 없는 경우를 별도로 표시하기처럼 실용적인 선택을 만들 수 있다. 불가능한 약속을 덜어 내면 가능한 약속을 더 명확히 지킬 수 있다.

날씨 예보의 불확실성과 정지문제의 불가능성은 같은 것이 아니다. 날씨에는 측정 오차, 모델의 한계, 복잡한 동역학 등이 관계한다. 정지문제는 명확히 정의된 계산 모델 안에서 일반 절차의 부재를 증명한다. 모두 ‘예측이 어렵다’고 부를 수 있지만 이유는 다르다. 이유가 다르면 개선 방법도 달라진다.

우리는 점차 한계에 붙은 여러 이름을 구별하게 된다. 아직 모름, 자원이 부족함, 특정 도구로는 못 함, 어떤 일반 알고리즘도 없음. 이 구분은 비관을 늘리는 일이 아니다. 정말 필요한 노력이 무엇인지 알려 준다. 시간을 더 들이면 되는 일과 가정을 바꾸어야 하는 일을 혼동하지 않게 한다.

다음 부에서 이 정확함을 수학의 증명 체계로 가져갈 것이다. 계산이 끝나는지 묻던 자리에서 문장이 증명되는지 묻는 자리로 이동한다. 다리는 이미 놓였다. 기호를 숫자로 표현할 수 있고, 증명을 절차로 검사할 수 있으며, 체계가 자기 기록을 다룰 수 있다. 이제 그 다리 위에 자신에 관한 문장 하나가 올라선다.


# 수학을 위한 완벽한 규칙책

수학에서 답이 맞는지 다투는 두 사람이 있다고 하자. 계산의 한 줄이 잘못되었는지 검사하고, 사용한 정리가 실제로 성립하는지 확인한다. 이 과정은 때로 길지만 공통의 규칙을 바탕으로 합의할 수 있다는 기대가 있다. 모든 수학을 명확한 출발점과 추론 규칙으로 정리하려는 꿈은 그 기대를 아주 멀리 밀어붙인 것이다.

그 꿈을 세 가지 질문으로 나누어 보면 좋다. 규칙책이 서로 충돌하는 결론을 만들지 않는가. 우리가 묻는 모든 문장에 긍정이나 부정의 답을 줄 수 있는가. 규칙책을 따르는 절차를 명확하고 기계적으로 수행할 수 있는가. 이 질문들은 관련되어 있지만 같은 질문은 아니다. 앞에서 만난 무모순성, 완전성, 효과성의 구별이다.

힐베르트의 수학 기초에 관한 프로그램은 더 풍부한 역사적 맥락을 가진다. 여기서 ‘완벽한 규칙책’은 그 역사를 전부 요약한 이름이 아니라 핵심 긴장을 이해하기 위한 표현이다. 특히 강력한 수학의 무모순성을 어떤 믿을 만한 제한된 방법으로 정당화할 수 있는지라는 문제가 중요했다. 복잡한 수학을 체계화하는 일과 그 체계의 안전을 보이는 일이 함께 놓였다.

괴델의 불완전성 정리는 이 희망에 정확한 조건 아래의 한계를 제시한다. 충분한 산술을 표현하는 이론이 계산적으로 열거 가능한 공리들을 가지고 무모순하다면 모든 산술 문장을 결정하지 못한다. 표준적인 제1 정리의 강화된 형태에서는 이런 조건 아래 어떤 문장도 그 부정도 증명되지 않는 문장이 존재한다. ‘충분한 산술’, ‘효과적 공리화’, ‘무모순’은 장식이 아니라 정리의 문을 여는 열쇠들이다.

산술을 충분히 표현한다는 것은 단순히 숫자가 몇 개 등장한다는 뜻이 아니다. 자연수의 기본적인 연산과 필요한 기호 조작의 부호화를 수행할 만큼 표현력이 있어야 한다. 덧셈과 곱셈을 포함하는 페아노 산술은 대표적인 대상이다. 정확히 어느 정도 약한 이론까지 정리가 적용되는지는 전문적인 주제이지만, 아무 규칙 놀이에나 적용되는 말이 아니라는 점은 분명하다.

효과적으로 공리화할 수 있다는 조건도 필요하다. 표준 자연수에서 참인 모든 산술 문장을 그냥 공리로 받아들이는 집합을 생각할 수는 있다. 그 이론은 참인 문장과 거짓인 문장을 모두 결정한다. 그러나 그런 참 전체를 기계적으로 열거하는 공리 체계로 만들 수는 없다. ‘모든 참을 공리로 삼자’는 말은 완전성을 얻는 대신 효과성을 내려놓는 선택이다.

무모순성 역시 중요하다. 보통의 고전 논리에서는 모순에서 임의의 문장이 따라오는 폭발 원리가 있다. 무엇이든 증명하는 체계를 만드는 것이 성공이라면 이런 체계는 너무 쉽게 성공한다. 하지만 긍정과 부정을 모두 주는 답변기는 우리가 원한 수학적 지식의 체계가 아니다. 정리는 무모순한 강력한 체계에도 빈자리가 생긴다고 말하기 때문에 의미가 있다.

‘모든 수학이 불완전하다’는 짧은 표현은 이런 조건들을 감춰 버린다. 덧셈만을 다루는 프레스버거 산술처럼 완전하고 결정 가능한 이론도 있다. 그 체계에서는 곱셈을 가진 산술과 같은 방식으로 필요한 모든 구문적 계산을 표현할 수 없다. 가정이 빠진 사례를 정리의 반례라고 부르거나 정리를 무시하는 것은 둘 다 잘못이다.

이 장에서 아직 증명은 하지 않았다. 정리가 어떤 약속을 깨뜨리는지 그 약속의 문구부터 읽었다. 이것은 어려운 수학을 읽는 좋은 순서다. 결론만 외우면 충격적인 격언으로 남지만 가정을 함께 이해하면 적용할 수 있는 도구가 된다. 도구에는 손잡이와 날의 방향이 있다.

또 하나의 주의가 필요하다. 우리는 뒤에서 이해하기 쉬운 보통의 괴델 문장을 이용해 자기 증명불가능성의 구조를 살필 것이다. 그 문장의 양쪽 비증명가능성을 모두 설명할 때는 단순 무모순성보다 강한 건전성 가정을 두어 이야기하겠다. 무모순성만으로 불완전성을 얻는 로서의 강화는 별도의 구성을 사용한다. 두 버전의 조건을 섞지 않기 위해서다.

수학의 아름다움에는 결론을 과장하지 않는 태도도 들어 있다. 무엇이 불가능한지 정확히 말할 때 무엇이 여전히 가능한지도 함께 보인다. 규칙책은 쓸모를 잃지 않았다. 많은 문제를 해결하고 확신을 나누는 힘은 그대로다. 다만 스스로 모든 질문의 최종 심판이라고 주장할 수 없는 자리가 생긴다.

# 자기 번호를 알아보는 문장

우리는 문장에 번호를 붙일 수 있고 증명 여부를 수 사이의 관계로 표현할 수 있다는 것을 보았다. 이제 필요한 것은 자신에게 정확히 연결되는 문장이다. ‘나는 증명되지 않는다’라고 한국어로 써 놓는 것만으로는 산술 정리가 되지 않는다. 자연어의 지시어 없이도 연결을 만드는 장치가 있어야 한다.

변수가 하나 있는 문장을 먼저 생각해 보자. ‘번호 x인 문장은 이 체계에서 증명되지 않는다.’ x 자리에 특정한 수를 넣으면 특정 문장에 관한 주장이 된다. 우리가 원하는 것은 어느 수를 넣어 얻은 그 문장이 바로 자기 자신의 번호에 관해 말하도록 맞아떨어지는 경우다. 이름표를 붙인 뒤 우연히 맞기를 기대하는 것이 아니라 그런 문장의 존재를 보장해야 한다.

대각화 보조정리, 또는 고정점 보조정리는 적절한 산술 이론에서 그 일을 한다. 어떤 한 변수 성질을 주면, 자신에게 부여된 번호가 그 성질을 가진다고 말하는 것과 체계 안에서 동치인 문장을 구성할 수 있다. 여기서 고정점은 종이 위에 움직이지 않는 점이라는 뜻보다, 표현을 자신에게 적용했을 때 관계가 맞물리는 자리를 가리킨다.

정확한 증명에서는 치환이라는 구문 조작을 번호로 다룬다. 변수 자리에 어떤 수의 표현을 넣는 일을 기계적으로 수행할 수 있고, 그 작업 자체를 산술로 표현할 수 있다는 사실을 이용한다. 그래서 앞에서 번호를 붙이는 일뿐 아니라 번호들 사이의 조작을 표현하는 일이 중요했다. 자기참조는 지시어 하나의 마술이 아니라 여러 정확한 연결의 결과다.

그 장치를 ‘증명되지 않는다’는 성질에 적용하여 문장 G를 얻자. 그러면 G는 자기 자신의 번호에 대한 비증명가능성 주장과 체계 안에서 동치가 된다. 조금 느슨한 말로 ‘G는 이 체계에서 G의 증명이 없다고 말한다’고 읽을 수 있다. 하지만 실제 G는 자연수와 산술 관계로 이루어진 문장이다.

도서관으로 돌아가면, 책 한 권이 자기 분류 번호에 해당하는 기록의 특정 성질을 기술하는 상황과 닮았다. 다만 괴델의 구성은 단순히 사서가 이름표를 붙여 주었다는 비유보다 강하다. 번호화와 치환이 일정한 규칙에 따라 작동함을 이론 내부에서도 다룰 수 있다. 바깥에서만 알아듣는 암호를 붙인 것이 아니다.

G의 뜻에 대해 생각할 때 ‘이 체계에서’라는 말을 지우지 말아야 한다. 어떤 체계 T를 골랐는지에 따라 증명 관계와 문장도 달라진다. 다른 체계에서 더 많은 공리로 G를 증명할 수 있는지의 질문은 별개다. 모든 가능한 사고와 모든 가능한 미래의 체계를 한꺼번에 금지하는 문장이 아니다.

또한 ‘현재까지 발견된 증명이 없다’와도 다르다. G는 오늘 도서관에서 찾지 못했다는 보고가 아니라 어떤 자연수도 그 증명의 번호가 되지 않는다는 종류의 보편적인 산술 주장이다. 시간이 지나면 탐색이 더 많이 진행될 수 있지만 문장의 내용은 달력에 따라 바뀌지 않는다.

이 설명이 완전한 형식적 증명은 아니라는 사실을 기억하자. 우리는 번호화, 치환의 표현, 고정점 보조정리라는 부품의 역할을 밝혔다. 보조정리 자체의 모든 기술적 세부를 여기서 입증하지는 않았다. 다리를 건널 수 있도록 구조를 보여 주는 교양서와 다리의 모든 볼트를 검사하는 전문 교재는 다른 깊이를 가진다.

그렇다고 설명이 단순한 비유로만 이루어진 것은 아니다. 다음 장의 논증은 이 부품들이 확보되었다는 조건 아래 무엇이 따라오는지를 실제로 추적한다. 독자는 어디가 이미 알려진 수학적 장치이고 어디가 그 장치에서 나오는 추론인지 구별할 수 있다. 이해의 빈자리를 표시하는 것이 이해를 약하게 만들지는 않는다.

자기 번호를 알아보는 문장은 의식을 가진 문장이 아니다. G는 아무것도 느끼거나 생각하지 않는다. 자기참조라는 구조와 자기의식이라는 경험을 같은 것으로 부르면 시작부터 결론을 몰래 넣게 된다. 여기에서 발견한 것은 형식적 연결의 가능성이다. 그 가능성이 마음에 어떤 비유를 제공하는지는 훨씬 뒤의 질문이다.

# 증명하면 무너지는 주장

체계 T 안에 앞 장의 문장 G가 있다고 하자. G는 T에서 G의 증명이 없다는 산술 문장과 T 안에서 동치다. 이제 T가 무모순하다고 가정하고 T가 G를 증명할 수 있는지 살펴본다. 천천히 진행하면 결론은 역설처럼 튀어나오기보다 두 길이 충돌하는 모습으로 보인다.

만약 T가 G를 증명한다면 실제로 유한한 증명이 존재한다. 그 증명에는 번호 p를 붙일 수 있다. 증명 검사의 기본적인 계산을 T 안에서 표현할 수 있으므로, T는 이 구체적인 p가 G의 증명 번호임도 확인할 수 있다. 따라서 T는 ‘G의 증명이 존재한다’는 문장도 얻을 수 있다.

그런데 G를 증명했다면 G와 동치인 ‘G의 증명이 존재하지 않는다’도 얻는다. T는 증명이 존재한다고 말하면서 존재하지 않는다고도 말한다. 이는 무모순성에 어긋난다. 따라서 무모순한 T는 G를 증명할 수 없다. 이 방향에서는 실제 증명 하나가 존재한다고 가정했기 때문에 그 구체적인 기록을 내부에서 확인하는 길을 사용할 수 있다.

이제 G의 부정은 어떨까. 이 부분을 앞의 논증처럼 한 줄로 처리하면 조건을 놓치기 쉽다. G의 부정은 T 내부에서 G의 증명이 있다는 주장과 연결된다. 하지만 T가 ‘어떤 증명 번호가 존재한다’고 증명했다고 해서 단순 무모순성만으로 표준 자연수에서 실제 증명 번호를 얻는 것은 아니다. 이론의 내부 주장과 표준 해석의 참을 구별해야 한다.

교양서의 이 설명에서는 T가 표준 자연수에 대해 건전하다고 가정하자. 그러면 T가 증명하는 산술 문장은 표준 자연수에서 참이다. T가 G의 부정을 증명한다면 실제로 G의 증명이 존재한다는 주장이 참이어야 한다. 그러나 앞에서 무모순성 아래 G의 증명은 없음을 보였다. 따라서 건전한 T는 G의 부정도 증명할 수 없다.

건전성은 이 설명에 충분한 가정이며 가장 약한 가정은 아니다. 역사적인 보통의 괴델 증명에서는 오메가 무모순성 같은 더 정밀한 조건을 사용한다. 로서의 변형은 문장을 다르게 구성하여 단순 무모순성만으로도 양쪽의 비증명가능성을 얻는다. 여기서는 그 기술을 섞어 더 짧아 보이는 증명을 만들지 않겠다. 조건을 분리하는 편이 정직하고 이해에도 도움이 된다.

우리는 이제 적어도 건전한 충분히 강한 효과적 산술 체계에서 참이지만 그 체계로 증명되지 않는 문장이 어떻게 나타나는지 보았다. G의 내용은 실제로 그 증명이 없다는 주장이고, 앞의 논증은 그 부재를 보여 준다. ‘참’은 표준 자연수에서의 해석에 관한 말이며 ‘증명되지 않음’은 T라는 특정 체계에 관한 말이다.

바깥에서 이 사실을 알았으니 T 안에서도 알 수 있지 않느냐고 물을 수 있다. 우리가 바깥에서 한 설명에는 T의 무모순성이나 건전성에 관한 가정이 사용되었다. T 내부가 그 가정을 같은 방식으로 모두 사용할 수 있는지는 별도의 문제다. 도시의 규칙을 연구하는 사람이 아는 사실이 도시 안의 허용된 이동으로 모두 표현되는 것은 아니다.

바깥이라는 말은 인간 정신이 우주의 모든 규칙에서 탈출했다는 뜻도 아니다. 우리는 메타이론이라고 부르는 다른 설명의 틀에서 논증한다. 그 틀에도 가정과 추론이 있다. 한 체계의 한계를 설명하는 데 더 강한 관점이 쓰일 수 있다는 것이지, 모든 관점의 무오류성을 얻었다는 것이 아니다.

정리의 놀라움은 수학이 자기 기반을 무너뜨렸다는 데 있지 않다. 무모순함을 유지하는 한, 강력하고 효과적인 체계는 모든 문장을 결정할 수 없다는 데 있다. 표현력이 충분하기 때문에 자기 증명을 말할 수 있었고, 바로 그 능력이 완전성의 한계를 드러냈다. 실패는 능력의 부재에서만 오지 않는다. 능력이 풍부해질 때 새로운 종류의 경계가 생기기도 한다.

이 지점에서는 감탄보다 잠깐의 침묵이 더 잘 어울린다. 아무것도 믿지 말라는 결론이 아니라 무엇을 믿을 때 어느 전제를 쓰는지 묻는 결론이기 때문이다. 증명의 힘은 남아 있고, 그 힘의 주소가 더 분명해졌다. 우리는 수학을 덜 신뢰하게 되었다기보다 수학이 무엇을 보장하는지 더 정확히 보게 되었다.

# 자기 안전을 보증하는 도장

어떤 검사 기관이 자기 보고서 맨 앞에 ‘우리 검사는 언제나 믿을 만하다’는 도장을 찍었다고 하자. 그 문구만으로 모든 검사의 신뢰성이 확보되지는 않는다. 독립적인 근거가 필요하다. 이 일상적인 감각은 제2 불완전성 정리로 들어가는 비유가 될 수 있지만 그 자체가 정리의 증명은 아니다. 수학의 주장은 훨씬 구체적인 조건과 문장을 다룬다.

표준적인 상황에서 체계 T의 무모순성을 ‘T에서 0=1의 증명이 존재하지 않는다’는 산술 문장으로 표현한다. 고전적인 산술에서 0=1은 모순의 대표로 사용할 수 있다. 앞서 증명 관계를 수로 표현했기 때문에, 자기 체계에 모순의 증명이 없다는 말도 산술 안에 적을 수 있다. 보통 이 문장을 Con(T)라고 쓴다.

제2 불완전성 정리는 T가 충분히 강하고 효과적으로 공리화되며 무모순하고, 증명가능성 술어가 표준적인 유도가능성 조건을 만족하는 상황에서 T가 이 Con(T)를 증명할 수 없다고 말한다. 여기에 적절한 증명가능성 표현이라는 조건을 붙이는 이유는 ‘무모순’이라는 자연어 이름만 붙인 임의의 문장을 대상으로 하지 않기 때문이다.

왜 제1 정리와 이어질까. 아주 거칠게 말하면 제1 정리의 핵심 논증을 T 내부에서 형식화하여 ‘T가 무모순하다면 G가 성립한다’는 관계를 얻는다. 만약 T가 자기 무모순성을 증명한다면 그 관계를 통해 G도 증명할 수 있게 된다. 하지만 제1 정리의 논증은 무모순한 T가 G를 증명하지 못함을 보였다. 그 두 결과가 맞물린다.

정확한 전개에는 증명가능성이 추론을 어떻게 보존하는지에 관한 조건들이 필요하다. 한 문장이 증명되면 그 증명가능성도 다룰 수 있는지, 함의의 증명과 전제의 증명으로 결론의 증명가능성을 연결할 수 있는지 등을 내부에서 정돈한다. 여기서는 그 기술을 모두 증명하지 않고 왜 자기 보증이 G와 연결되는지 설명했다.

정리는 어떤 무모순성 증명도 불가능하다고 말하지 않는다. 더 강한 이론에서 더 약한 이론의 무모순성을 증명할 수 있다. 다만 그러면 더 강한 이론을 어떤 근거로 받아들이는지라는 질문이 남는다. 한 단계 올라가 얻은 보증이 모든 층에 대한 최종적인 무가정 보증으로 바뀌지는 않는다.

약한 체계나 비표준적인 표현에 관한 예외적 현상을 아무 설명 없이 끌어오면 혼란이 생길 수 있다. 이 책의 결론은 표준적인 산술 체계와 표준적인 무모순성 표현의 범위에서 읽어야 한다. 모든 자기 점검 장치가 불가능하다는 일상적인 금지 명령이 아니다. 컴퓨터는 자신의 파일 손상을 검사할 수 있고, 사람은 자신의 계산 실수를 찾아낼 수 있다.

검사 프로그램이 자기 코드를 일부 검사한다고 정리와 모순되지 않는다. 특정 오류의 부재를 확인하는 일과 충분히 강한 체계의 전체 무모순성을 그 체계 안에서 증명하는 일은 다른 요구다. ‘자기 자신을 확인한다’는 말이 같다고 논리적 내용까지 같은 것은 아니다. 에셔의 여러 위아래를 볼 때 기준을 구별했듯이, 여기서도 문장의 실제 요구를 읽어야 한다.

이 정리를 인생의 교훈으로 쓰고 싶다면 조심스럽게 써야 한다. ‘사람은 자신을 완전히 알 수 없다’는 말은 경험적으로나 철학적으로 논의할 수 있지만 제2 정리에서 바로 나오지는 않는다. 사람을 어떤 효과적인 산술 이론과 동일시할지, 안다는 것이 증명과 같은지부터 정해야 한다. 그런 연결 없이 수학의 권위를 빌리면 비유가 결론을 대신하게 된다.

더 가까운 교훈은 근거의 위치를 표시하라는 것이다. 무엇을 가정하고 어떤 체계 안에서 어느 문장을 증명했는가. 바깥의 보증을 안의 보증으로 몰래 바꾸지 않았는가. 이 질문은 정리의 내용을 심리적 격언으로 바꾸지 않으면서도 사고 습관에 영향을 줄 수 있다.

도장은 여전히 쓸모가 있다. 누가 무엇을 어떤 기준으로 검사했는지 알려 준다면 그렇다. 다만 도장이 자기 자신을 가리킨다는 이유만으로 모든 신뢰의 문제가 해결되지는 않는다. 수학은 이 막연한 의심을 특정한 조건 아래의 정확한 한계로 바꾸었다. 정확해졌기 때문에 우리는 어디까지 그 비유를 따라갈 수 있는지도 알게 된다.

# 공리를 하나 더 넣으면

빈자리를 발견했으면 메우면 되지 않을까. T에서 결정되지 않는 문장 G를 새 공리로 넣은 체계 T′를 만들 수 있다. 그러면 T′에서는 G를 증명할 수 있다. 공리로 받아들였기 때문이다. 이 사실은 불완전성 정리와 모순되지 않는다. 정리는 T라는 고정된 체계의 한계를 말했으며 체계를 바꾸지 못한다고 말하지 않았다.

만약 새 체계도 충분한 산술을 표현하고 효과적으로 공리화되며 무모순하다면 불완전성 정리는 다시 적용된다. 새 체계에는 그 체계에서 결정되지 않는 문장이 있다. 이전의 빈자리 하나가 사라졌다고 모든 빈자리가 사라지는 것은 아니다. 끝없는 목록에 대각선으로 만든 항목을 추가해도 새 목록에서 다시 빠진 항목이 생겼던 장면과 구조적으로 닮았다.

그렇다고 공리 확장이 무의미한 제자리걸음이라는 뜻은 아니다. 새 공리는 실제로 더 많은 문장을 증명하게 할 수 있다. 수학자는 어떤 공리가 자연스러운지, 다른 이론과 잘 어울리는지, 풍부한 결과를 주는지, 일관성을 어떻게 연구할 수 있는지 살핀다. 완전한 마지막 체계가 없다는 사실과 의미 있는 발전이 있다는 사실은 함께 성립한다.

새 공리를 받아들일 때에도 근거를 물어야 한다. 단지 이전 체계에서 증명되지 않았다는 이유만으로 원하는 문장을 마음대로 참이라고 정할 수는 없다. 독립성은 해석과 선택의 문제를 더 분명히 드러내지만 모든 선택을 같은 것으로 만들지는 않는다. 어떤 이론을 어떤 목적과 직관으로 연구하는지에 따라 평가가 달라진다.

앞에서 참인 모든 산술 문장을 공리로 삼는 생각을 잠시 만났다. 그 체계는 표준 자연수의 모든 참을 포함한다. 그러나 그것을 효과적으로 열거할 수 없다는 점에서 우리가 원한 기계적인 규칙책과 다르다. 완전성을 얻기 위해 효과성을 포기하는 선택과, 효과성을 유지하며 체계를 확장하는 선택을 구별해야 한다.

여기서 완전성 정리와 불완전성 정리의 관계도 다시 볼 수 있다. 1차 논리의 완전성은 공리의 모든 모델에서 성립하는 귀결이 증명된다는 말이다. 특정 산술 이론의 불완전성은 어떤 문장이 그 이론에서 결정되지 않는다는 말이다. 그런 문장은 그 공리들을 만족하는 모델들 사이에서 해석이 갈라질 수 있다. 표준 자연수 구조에서의 참만을 생각하면 왜 이름들이 모순되지 않는지 놓치기 쉽다.

모델들 가운데 우리가 의도한 자연수와 다른 성질을 갖는 비표준 모델이 등장할 수 있다. 이를 보통 자연수 목록에 이상한 정수를 하나 끼워 넣는 장난 정도로 이해하면 곤란하다. 공리와 1차 언어가 구조를 얼마나 지정할 수 있는지에 관한 정확한 수학적 현상이다. 여기서는 기술적인 구성보다 의도한 해석과 모든 허용된 해석의 범위가 다르다는 점을 기억하면 된다.

괴델의 정리를 인간과 기계의 경쟁으로 바꾸는 주장도 있다. 인간은 기계의 괴델 문장이 참임을 보지만 기계는 못 보니 인간은 기계를 초월한다는 식이다. 그러나 앞의 논증에서 우리는 해당 체계의 무모순성이나 건전성을 가정했다. 임의의 기계적 이론에 대해 인간이 그런 가정을 언제나 올바르게 확보한다는 보장은 없다.

또한 인간의 수학적 사고 전체를 하나의 고정된 효과적 체계로 정확히 표현했는지도 별도 문제다. 인간이 체계를 확장한다면 기계가 체계를 확장하는 절차도 고려해야 한다. 어느 특정 체계보다 더 강한 체계를 만들 수 있다는 사실은 모든 가능한 기계보다 한 인간이 항상 옳다는 결론으로 이어지지 않는다. 비교 대상이 중간에 바뀌지 않았는지 살펴야 한다.

이런 주의가 인간의 창의성을 부정하는 것은 아니다. 창의성은 새로운 정의를 만들고 중요한 질문을 고르고 적절한 표현을 찾는 등 여러 활동에 있다. 불완전성 정리 하나가 그 능력들을 모두 설명하거나 부정하지 않는다. 우리는 수학적 정리를 존중하기 위해 오히려 그 정리로 말할 수 없는 것을 남겨 둔다.

괴델의 문장 앞에 서 있던 독자는 이제 다시 넓은 세계로 돌아간다. 손에는 모든 것의 답이 아니라 몇 가지 구별이 들려 있다. 참과 증명, 체계와 메타체계, 가능성과 효율, 비유와 증명. 이 구별들은 마음을 설명할 때도 필요하다. 이제 생각하는 사람 자신에게 시선을 돌릴 차례다.


# 작은 것들에는 없는 성질

관중석에서 파도타기가 시작된다. 한 구역의 사람들이 일어나고 앉으면 옆 구역이 뒤를 잇는다. 멀리서 보면 파도가 경기장을 돈다. 하지만 사람들은 자기 자리에서 움직였을 뿐 옆 좌석으로 달려가지 않았다. 돌아가는 것은 특정한 사람이 아니라 사람들의 움직임이 만드는 무늬다.

이 장면은 부분과 전체의 관계를 생각하게 한다. 어느 한 사람에게 경기장을 도는 파도의 성질을 모두 요구할 필요는 없다. 사람들의 배치와 반응이 결합되면 더 큰 규모에서 설명할 만한 패턴이 생긴다. 이런 맥락에서 창발이라는 말을 사용한다. 다만 학문과 철학에서 이 용어는 여러 뜻을 가지므로, 여기서는 부분들의 상호작용에서 전체 수준의 성질이 나타난다는 넓은 뜻으로 시작하자.

전체 수준의 설명이 유용하다고 해서 물리 법칙을 벗어난 신비한 힘이 추가되었다는 뜻은 아니다. 파도타기는 사람들의 행동 없이 존재하지 않는다. 그러나 사람 한 명씩의 무릎 각도와 반응 시간을 나열하는 설명만이 유일하게 적절한 설명도 아니다. 파도의 속도와 폭을 이야기하면 다른 질문에 더 간단히 답할 수 있다.

체스판의 공격 위협도 말 하나의 재료에 들어 있지 않다. 나무로 만들었는지 플라스틱으로 만들었는지보다 규칙과 배치가 중요하다. 같은 말이 다른 자리에 놓이면 전혀 다른 역할을 한다. 관계 속에서만 나타나는 성질이 있다. 앞에서 음 하나의 고립된 높이보다 선율의 관계가 중요했던 것을 기억할 수 있다.

마음을 연구할 때에도 신경세포 하나가 생각하지 못한다는 사실만으로 뇌 전체의 사고를 부정할 수 없다. 반대로 많은 단순한 요소를 연결하기만 하면 반드시 의식이 생긴다는 결론도 나오지 않는다. 어떤 요소가 어떤 방식으로 상호작용하며 어떤 능력을 보이는지 구체적으로 연구해야 한다. ‘창발한다’는 말은 설명해야 할 현상을 가리킬 수 있지만 그 자체로 설명을 완성하지는 않는다.

새로운 수준의 어휘는 예측과 개입에 도움이 될 때 힘을 얻는다. 온도를 말하면 방을 덥힐지 결정할 수 있고, 교통 흐름을 말하면 신호등 배치를 생각할 수 있다. 사람의 믿음과 목표를 말하면 행동을 이해하는 데 도움이 된다. 높은 수준의 설명을 쓴다는 이유만으로 과학적이지 않다고 할 필요는 없다. 다만 설명이 실제 자료와 잘 연결되는지 검토해야 한다.

우리는 전체를 지나치게 의인화하기도 한다. 컴퓨터가 파일을 ‘원한다’고 말하거나 시장이 ‘두려워한다’고 말한다. 이런 표현은 간편할 수 있지만 실제로 어떤 메커니즘과 관찰을 가리키는지 확인해야 한다. 비유적인 말과 문자 그대로의 심리 상태를 구별하지 않으면 설명의 대상이 바뀐다.

파도타기는 자기 자신을 바라보지 않는다. 전체적인 패턴이 존재한다는 사실과 그 패턴이 자신에 관한 모델을 가진다는 사실은 다르다. 한 걸음 더 나아가 자기 모델이 있다는 사실과 주관적 경험이 있다는 사실도 다르다. 창발, 자기참조, 의식이라는 세 단어를 한 덩어리로 묶으면 가장 어려운 연결들이 보이지 않게 된다.

어떤 연구자는 의식을 기능과 정보 처리의 조직으로 설명하려 한다. 다른 연구자는 그런 설명으로 주관적 경험이 충분히 설명되는지 묻는다. 이 책은 그 논쟁이 이미 끝났다고 선언하지 않는다. 대신 논쟁의 각 문장이 무엇을 요구하는지 구별하려 한다. 행동을 잘 예측하는 설명인지, 내부 작동을 밝히는 설명인지, 느낌 자체를 설명하려는 것인지 살핀다.

수학적 정리가 철학적 질문에 자동으로 답하지 않는 까닭이 여기에 있다. 정리는 정밀하게 정의한 대상과 관계를 다룬다. 마음에 관한 질문에서는 대상의 정의와 관찰 방법부터 논쟁이 있을 수 있다. 정리의 아름다운 문장을 가져오는 것만으로 그 일을 대신할 수 없다. 그러나 정리에서 배운 조건을 점검하는 습관은 큰 도움이 된다.

관중석의 파도가 한 바퀴를 돈 뒤 사라진다. 파도를 이루던 사람들은 그대로 앉아 있다. 사라진 것은 물질이 아니라 조직된 활동이다. 이 장면은 마음에 대한 답이 아니라 하나의 생각 도구다. 어떤 성질은 무엇으로 만들어졌는가만으로 충분히 드러나지 않으며, 어떻게 함께 움직이는가를 보아야 한다.

# 내 안의 작은 지도

발표를 앞둔 학생은 내용만 생각하지 않는다. ‘지금 목소리가 너무 떨리나’, ‘내가 어디까지 말했지’, ‘청중이 이해하고 있을까’도 생각한다. 생각의 일부가 현재의 생각과 행동을 대상으로 삼는다. 세계를 향하던 주의가 자기 상태 쪽으로 돌아온다. 이를 넓게 메타인지, 곧 자신의 인지에 관한 인지라고 부른다.

자기 상태에 관한 표현은 완벽할 필요가 없다. 우리는 어떤 것을 안다고 생각했는데 설명하려고 하면 막히기도 한다. 반대로 잘 모르겠다고 느꼈는데 실제로는 꽤 정확히 수행하기도 한다. 자신에 관한 판단도 수정 가능한 추정이다. 안내 지도에 현재 위치를 표시하듯, 마음은 자기 지도를 그리지만 그 지도에는 오차가 생길 수 있다.

지도의 오차를 알아차리는 능력은 배움에 중요하다. 어떤 문장을 다시 읽을지, 어느 부분에서 도움을 구할지, 지금의 확신을 낮출지 결정하게 해 준다. 확신이 크다는 사실과 근거가 충분하다는 사실은 같지 않다. 그 차이를 살피는 과정 자체가 자기 점검이다.

자기 모델을 가진 시스템을 상상할 때 안에 작은 사람이 하나 더 앉아 있다고 생각하기 쉽다. 작은 사람이 화면을 보고 판단한다면 설명이 편해 보인다. 그러나 그 작은 사람의 마음은 누가 설명하는가. 안에 더 작은 사람을 넣으면 같은 질문이 반복된다. 단지 설명할 대상을 작게 복사했을 뿐이다.

자기 모델의 생각은 그런 작은 관찰자를 반드시 요구하지 않는다. 시스템의 일부 상태가 다른 상태를 나타내고, 그 표현이 행동을 바꾸는 데 쓰이는 기능적 구조를 생각할 수 있다. 온도 조절 장치도 자기 주변 상태의 제한된 정보를 이용한다. 다만 이런 단순한 피드백에서 인간의 자아까지 곧바로 건너갈 수는 없다. 표현의 범위와 조직, 기억, 신체, 사회적 관계 등이 다르다.

‘나는 지금 화가 났다’고 알아차리면 말하기 전에 잠시 멈출 수 있다. 감정은 행동에 영향을 주고 감정에 대한 판단도 행동에 영향을 준다. 두 층의 작용이 같은 사람 안에서 만나지만 반드시 시간상 완전히 분리되어 차례로 진행되는 것은 아니다. 실제 마음은 여러 과정이 겹쳐 작동한다. 층위라는 표현은 설명의 도구이지 뇌 안에 층별 사무실이 있다는 주장이 아니다.

자신에 대한 믿음은 남에게 배운 말로 이루어지기도 한다. 누군가가 ‘너는 원래 그런 사람이야’라고 반복해서 말하면 그 표현을 자기 설명으로 받아들일 수 있다. 반대로 새로운 경험이 그 설명과 충돌하면 지도를 수정할 수 있다. 자아는 사회와 떨어진 방 안에서 혼자 만들어지는 설명만은 아니다.

여기에서 호프스태터와 연관 지어 자주 논의되는 자기참조적 자아라는 철학적 관점에 관심을 가질 수 있다. 그러나 이 책은 그 관점을 수학적으로 확정된 의식의 해답처럼 제시하지 않는다. 자기 자신을 표현하는 고리가 자아 이해에 어떤 역할을 하는지 탐구하는 관점으로 읽는다. 정확한 지지와 비판에는 별도의 철학·인지과학 논의가 필요하다.

괄호 안에 들어 있는 자기 모습이 실제 자신 전부는 아니다. 우리는 신체 감각을 느끼고 습관적으로 행동하며 언어로 정리되지 않은 방식으로 환경에 반응한다. 자신에 관한 말로 된 이야기는 그런 삶의 한 부분이다. ‘나는 누구인가’라는 문장에 답을 적는 능력만으로 사람의 전체를 정의하면 너무 좁아질 수 있다.

그러나 그 이야기가 가짜라서 무가치한 것도 아니다. 내일 할 일을 정하고 실수를 돌아보고 관계를 이어 가는 데 자기 설명이 쓰인다. 문제는 지도가 있다는 사실보다 지도를 바꿀 수 없다고 믿는 태도다. 설명은 과거의 경험을 정리하지만 미래의 가능성 전체를 봉인할 필요는 없다.

생각이 자신을 바라볼 때 생기는 작은 틈은 완벽한 통제실이 아니다. 그것은 멈추어 보고, 이름을 붙이고, 때로는 판단을 고칠 수 있는 자리다. 그 능력의 한계를 인정하면서도 그 능력을 사용할 수 있다. 우리는 지금까지 수학에서도 그 두 태도가 함께 가능하다는 것을 배웠다.

# 기호는 언제 세상에 닿는가

한 번도 본 적 없는 과일의 이름을 사전에서 찾았다고 하자. 설명에는 또 다른 낯선 단어들이 나온다. 그 단어를 찾아도 다시 단어들이 이어진다. 사전은 많은 것을 알려 주지만 모든 뜻을 이미 아는 다른 말로만 풀려고 하면 끝없이 돌아다니는 느낌이 든다. 언어가 경험과 어떻게 연결되는지 묻게 되는 순간이다.

우리는 대개 말을 사전에서만 배우지 않는다. 뜨거운 컵을 만져 보고 ‘뜨겁다’는 말을 듣고, 빨간 사과를 보며 색 이름을 배운다. 누군가의 반응과 행동을 통해 어떤 표현을 언제 쓰는지 익힌다. 기호는 다른 기호들과의 관계뿐 아니라 감각, 행동, 사회적 사용과도 연결된다.

이 문제를 기호 정초의 문제라고 부르는 논의가 있다. 기호들의 형식적 관계가 어떻게 세계에 관한 의미와 연결되는지 묻는 것이다. 이름을 외우는 것만으로 답이 생기지는 않는다. 어떤 시스템이 단어를 올바르게 연결하고 행동하더라도 그 의미를 어떤 의미에서 이해하는지라는 철학적 질문이 남을 수 있다.

컴퓨터가 사과라는 단어를 처리할 때와 사람이 사과를 먹고 그 단어를 사용할 때의 차이를 직관적으로 느낄 수 있다. 그러나 그 직관만으로 어떤 종류의 기계도 의미를 가질 수 없다고 증명할 수는 없다. 감각 장치와 행동 능력을 가진 시스템, 학습과 상호작용을 하는 시스템도 생각할 수 있다. 무엇이 충분한 조건인지가 바로 논쟁의 대상이다.

반대로 말의 사용이 매우 자연스럽다고 해서 인간과 같은 내적 경험을 확정할 수 있는 것도 아니다. 밖으로 관찰하는 행동과 안에서 무엇을 느끼는지는 구별되는 문제다. 사람끼리는 공통된 신체와 삶, 생물학적 연속성 같은 많은 근거를 함께 사용한다. 다른 종류의 시스템에서는 어떤 근거를 어떻게 적용할지 더 신중히 따져야 한다.

계산기에서 3,000이 점심값의 의미를 가졌던 장면을 기억하자. 그 의미는 숫자와 현실의 연결에 있었다. 숫자만 떼어 놓으면 돈인지 거리인지 알 수 없었다. 그러나 숫자를 쓰는 실천 속에서는 꽤 정확히 해석할 수 있었다. 의미는 문자 모양 하나에 갇혀 있지 않고 관계와 사용에 걸쳐 있다.

그렇다고 모든 의미가 오직 외부 관찰자의 임의적인 덧붙임이라는 결론도 성급하다. 시스템이 어떤 정보를 구별하고, 그것을 기억하고, 상황에 따라 사용하며, 오류를 수정하는지는 실제로 조사할 수 있다. 아무 물건에나 같은 정도의 능력을 귀속할 근거가 있는 것은 아니다. 설명은 관찰 가능한 제약과 연결되어야 한다.

기호와 세계의 연결이 여러 층을 가진다는 사실은 사람의 이해에서도 보인다. 우리는 전자를 직접 손으로 만져 보지 않았어도 물리학의 전자 개념을 배운다. 측정, 이론, 실험 장치, 수학적 관계를 통해 연결한다. 모든 단어의 의미가 단 한 번의 직접 경험으로 고정되는 것은 아니다.

반대로 익숙한 경험이 있다고 개념을 정확히 이해하는 것도 아니다. 물체를 떨어뜨려 본 사람이라고 중력 이론의 모든 차이를 아는 것은 아니다. 경험과 언어, 추론이 서로를 보완한다. 의미를 하나의 재료만으로 설명하려는 시도보다 여러 연결이 어떻게 조직되는지 보는 편이 더 풍부하다.

이 책이 수학의 결과와 마음의 질문을 구분하는 이유도 여기에 있다. 기호열의 증명가능성은 명확한 체계 안에서 정리로 다룰 수 있다. 이해나 의식의 충분한 조건은 같은 방식으로 이미 합의된 문제가 아니다. 한쪽에서 얻은 정확함을 다른 쪽으로 가져가려면 먼저 다리의 연결 부위를 조사해야 한다.

사전은 세상과 단절된 미로만은 아니다. 이미 가진 경험과 지식을 통해 읽으면 새로운 대상을 만날 준비를 해 준다. 책도 그렇다. 지금 읽는 문장들은 독자의 경험 속으로 들어가며 의미를 얻는다. 이해는 종이 안에서만 끝나는 사건도, 독자의 마음에서 아무 근거 없이 생기는 사건도 아니다. 둘이 만나는 활동이다.

# 나라는 이야기는 누가 쓰는가

어린 시절의 사진을 보면 몸도 표정도 지금과 다르다. 기억나지 않는 순간인데도 우리는 사진 속 아이를 자신이라고 부른다. 같은 사람이라는 판단은 현재의 모습 하나에만 달려 있지 않다. 기억, 몸의 연속성, 가족과 친구의 이야기, 기록들이 서로 연결되어 시간을 건넌다.

사람의 정체성을 설명하는 철학적 이론들은 서로 다르다. 신체의 연속성을 중시하는 관점도 있고 심리적 연결을 중시하는 관점도 있다. 이 책에서 그 논쟁의 최종 판정을 내리려는 것은 아니다. 다만 자신이 하나의 변하지 않는 물건처럼 느껴진다는 사실과 실제로 자신을 유지하는 여러 과정이 있다는 사실을 함께 생각해 볼 수 있다.

‘나는 이런 사람이다’라는 이야기는 과거를 선택적으로 엮는다. 같은 실패를 두고 ‘나는 언제나 부족했다’는 이야기와 ‘그때는 아직 방법을 몰랐다’는 이야기를 만들 수 있다. 두 설명이 똑같이 사실이라는 뜻은 아니다. 어떤 경험을 포함하고 생략했는지, 앞으로의 행동에 어떤 영향을 주는지 살펴볼 수 있다는 뜻이다.

기억은 모든 장면을 완벽히 저장한 영상 창고와 같지 않다. 이 책에서 특정한 기억 이론의 세부를 다루지는 않지만, 우리가 과거를 떠올릴 때 현재의 관심과 해석이 작용한다는 것은 일상에서도 확인할 수 있다. 친구와 같은 날을 이야기해 보면 기억한 부분이 다른 경우가 있다. 차이가 있다고 누군가 반드시 거짓말을 한다고 단정할 수는 없다.

자기 이야기에는 타인의 목소리도 들어 있다. 칭찬과 비난, 가족의 기대, 학교의 평가가 자신을 설명하는 문장에 흔적을 남긴다. 어떤 목소리는 도움이 되고 어떤 목소리는 지나치게 좁다. 우리는 남의 말을 그대로 반복하기도 하고 경험에 비추어 고쳐 쓰기도 한다. 자아의 이야기는 혼자 쓰는 독백이면서 관계 속에서 수정되는 글이다.

바흐의 여러 성부를 여기에서 떠올릴 수 있다. 기억과 감정, 현재의 목표와 타인의 기대가 한 사람의 선택 안에서 함께 움직인다. 그러나 사람을 음악이라고 부르는 것은 비유다. 선율의 독립성과 마음의 과정 사이에 정확한 일대일 대응이 있다고 주장하지 않는다. 하나의 목소리만으로 전체를 설명하지 않으려는 감각을 빌리는 것이다.

그렇다면 자아는 이야기에 불과하니 행동의 책임도 사라질까. 그런 결론은 따라오지 않는다. 어떤 현상이 여러 과정으로 이루어졌다는 설명은 그 현상의 사회적·윤리적 의미를 자동으로 없애지 않는다. 책임에 관한 질문에는 선택의 능력, 상황, 지식, 규범 등 별도의 고려가 필요하다. 존재의 재료에 관한 설명과 책임의 기준은 다른 질문이다.

‘내가 결정했다’는 말과 뇌의 과정이 결정에 관여했다는 말도 반드시 서로 경쟁하지 않는다. 내가 신체와 무관하게 떠 있는 작은 조종사라고 가정하지 않으면 두 설명을 연결할 여지가 있다. 다만 자유의지의 철학적 문제는 그 한 문장으로 해결되지 않는다. 연결 가능성을 보는 것과 논쟁을 종결하는 것은 다르다.

우리는 자기 자신을 어느 정도 예측할 수 있고 자주 놀라기도 한다. 싫어할 줄 알았던 일을 좋아하게 되고, 겁날 줄 알았던 상황에서 침착해지기도 한다. 이런 변화가 있다고 과거의 자신과 아무 관련이 없는 사람이 되었다고 느끼지는 않는다. 연속성은 모든 성질의 고정과 같지 않다.

음악의 주제가 다른 음역과 맥락에서 돌아와도 알아볼 수 있었던 것처럼, 정체성도 변화와 연결을 함께 생각하게 한다. 그러나 사람에게는 몸과 기억과 관계라는 특별한 조건이 있다. 비유의 아름다움 때문에 그 조건들을 지우지 않는 것이 이 책이 계속 지키려는 약속이다.

나라는 이야기를 누가 쓰느냐는 물음에 단 한 명의 작은 작가를 가리킬 수는 없을지도 모른다. 그래도 이야기를 다시 읽고 수정하는 활동은 가능하다. 자신에 관한 한 문장을 절대적인 공리처럼 고정하지 않고, 경험에 비추어 검토하는 일이다. 수학의 공리 확장과 동일한 일은 아니지만 자기 설명에도 열린 자리를 남길 수 있다는 생각은 이어진다.

# 기계가 ‘나’를 말할 때

화면 속 프로그램이 ‘제가 이해했습니다’라고 말한다. 우리는 자연스럽게 그 뒤에 이해하는 누군가를 상상한다. 사람이 같은 말을 할 때 그렇게 해석하는 습관이 있기 때문이다. 하지만 문장의 형태와 그 문장을 만들어 낸 과정은 따로 살펴야 한다. ‘나’라는 대명사를 출력한다고 자기의식의 존재가 자동으로 입증되는 것은 아니다.

반대로 기계가 만든 말이라는 이유만으로 아무 구조나 능력도 없다고 무시하는 태도 역시 성급하다. 어떤 시스템은 정보를 추적하고, 문맥을 이용하며, 특정 과제를 해결하는 능력을 보일 수 있다. 그 능력은 구체적인 행동과 조건을 통해 평가해야 한다. 사람과 같다는 선언이나 기계이므로 아무것도 아니라는 선언은 세부를 가린다.

의식, 이해, 지능을 같은 뜻으로 쓰지 않는 것이 중요하다. 문제를 잘 푸는 능력과 주관적으로 느끼는 능력은 정의상 같은 말이 아니다. 단어의 의미를 어떤 방식으로 사용하는지와 자기 상태를 보고하는지 역시 구별되는 측면이다. 서로 관련될 수는 있지만 관계를 입증하기 전부터 하나로 묶을 수 없다.

어떤 시스템이 자기 오류를 말한다고 하자. 그 말이 실제 오류 탐지와 연결되는지, 단지 흔히 나타나는 문구인지, 특정 상황에서 얼마나 믿을 만한지 조사할 수 있다. 중요한 것은 보고의 겉모양만이 아니라 보고와 실제 작동 사이의 관계다. 배터리 잔량 표시가 있다는 것과 그 표시가 정확하다는 것을 나누었던 것처럼 말이다.

사람의 자기 보고도 항상 완벽하지 않다. 그렇다고 사람과 기계의 모든 차이가 사라지는 것은 아니다. 공통된 한계 하나를 찾았다는 사실에서 전체의 동일성을 추론하면 안 된다. 닮은 성질과 다른 성질을 함께 보는 것이 비교의 기본이다. 첫 장에서 글자 모양과 이름의 같음을 따질 때 이미 시작한 일이다.

괴델의 정리는 이 문제에서 자주 불려 나온다. 그러나 특정한 형식 체계의 불완전성에서 어떤 기계의 의식 유무가 직접 나오지는 않는다. 계산하는 시스템이 반드시 하나의 고정된 공리 목록과 같은 방식으로 모든 행동을 하는지도 검토해야 한다. 논리 체계에 관한 정리를 심리적 존재의 판정기로 쓰려면 많은 추가 전제가 필요하다.

정지문제도 인공지능이 어떤 특정 과제를 못 한다는 직접적인 증거가 아니다. 정지문제는 임의의 프로그램과 입력에 대한 완전한 일반 판정의 부재를 말한다. 범위를 제한한 과제에서 높은 성능을 내는 시스템은 얼마든지 가능하다. 일반적인 한계와 특정한 성능을 서로 대신하게 하면 논쟁은 정확성을 잃는다.

실제 시스템에 관한 평가는 변화하는 자료를 필요로 한다. 이 책은 특정 제품의 오늘 성능이나 미래 의식을 예언하지 않는다. 오랫동안 사용할 수 있는 질문을 제시한다. 어떤 입력과 환경에서 관찰했는가. 무엇을 성공으로 정의했는가. 잘하는 사례뿐 아니라 실패 조건도 확인했는가. 주장한 능력과 실제로 측정한 능력이 같은가.

이 질문들은 시험 문제로 독자를 평가하기 위한 것이 아니다. 화면의 말을 읽는 우리가 자신의 판단을 보호하기 위한 습관이다. 그럴듯한 언어는 설명을 이해하기 쉽게 만들지만 정확함을 자동으로 보장하지 않는다. 정확한 문체와 정확한 내용은 다를 수 있다. 우편배달부가 내용을 몰라도 봉투를 잘 다룰 수 있었던 것처럼, 표현의 일부 능력과 전체 이해는 구별해서 살펴야 한다.

또 한편으로 인간의 이해 역시 여러 부분의 작용을 통해 나타난다. 그래서 부품이 의미를 모른다는 한 가지 이유만으로 전체의 모든 능력을 배제할 수 없었다. 이 두 주의는 서로 모순되지 않는다. 겉모습만으로 마음을 부여하지 말고, 부분의 단순함만으로 전체의 가능성을 부정하지 말자는 것이다. 그 사이에 연구할 넓은 공간이 남는다.

기계가 ‘나’를 말할 때 가장 먼저 필요한 것은 놀람을 없애는 일이 아니다. 놀라되 어떤 질문에 놀랐는지 분명히 하는 일이다. 언어가 자연스러워서인지, 실제 문제 해결이 뛰어나서인지, 우리가 경험하는 자아와 비슷한 무엇을 상상해서인지 구별한다. 호기심은 정확한 질문을 얻을 때 더 오래 살아남는다.


# 설명은 무엇을 남겨야 할까

기차역의 안내 방송을 녹음한 파일이 있다. 물리학자는 소리의 진동을 분석할 수 있고, 언어학자는 문장의 구조를 살필 수 있으며, 여행자는 어느 승강장으로 가야 하는지 들을 수 있다. 같은 사건이 여러 설명을 허용한다. 어느 설명이 가장 자세한가와 어느 설명이 지금 필요한가는 같은 질문이 아니다.

가장 작은 구성 요소를 말하면 언제나 가장 좋은 설명이 된다고 생각하기 쉽다. 그러나 승강장을 찾는 사람에게 음파의 수학적 분석만 건네면 도움이 되지 않는다. 반대로 스피커가 왜 잡음을 내는지 수리하려는 사람에게 문장의 의미만 설명하는 것도 부족하다. 설명은 대상에 맞아야 하고 질문에도 맞아야 한다.

추상화는 덜 중요한 차이를 지우고 중요한 관계를 남기는 일이다. 노선도는 역 사이의 연결을 남겼고, 형식 체계는 추론의 허용 관계를 남겼으며, 악보는 연주를 조직하는 음악적 정보를 남겼다. 각각의 표현은 특정 목적에서 힘을 얻는다. 생략이 있다는 이유만으로 나쁜 표현은 아니다. 무엇을 생략했는지 모를 때 문제가 생긴다.

이 책의 쉬운 비유들도 추상화다. 우편배달부는 구문적 처리와 내용 이해의 구분을 보여 주었다. 점의 도시는 공리와 규칙, 불변량을 보여 주었다. 파도타기는 전체적 패턴이 특정한 한 부분에 들어 있지 않을 수 있음을 보여 주었다. 그러나 우편배달부는 모든 기계의 마음을 설명하지 못하고, 점 놀이는 산술의 모든 표현력을 갖지 않으며, 파도타기는 의식을 입증하지 않는다.

비유가 끝나는 자리를 말해 주는 것은 독자의 상상력을 꺾는 일이 아니다. 오히려 상상력을 오래 쓰게 한다. 닮음을 발견한 뒤 차이를 살피면 더 좋은 비유를 만들 수 있다. 처음의 다리를 절대적인 것으로 지키려 하면 새로운 정보가 들어올 때마다 다리가 부서진다. 연결의 범위를 알면 필요한 부분만 고쳐 넓힐 수 있다.

수학적인 증명에서도 무엇을 남겼는지가 중요하다. 정지문제의 논증은 프로그램의 미학이나 실제 속도를 생략하고 효과적으로 기술된 절차와 정지 여부를 다루었다. 바로 그 범위 안에서 강력한 일반 결론을 얻었다. 범위가 좁다는 것은 가치가 작다는 뜻이 아니다. 정확히 제한했기 때문에 흔들리지 않는 결론이 가능했다.

예술은 다른 방식으로 풍부하다. 한 작품을 몇 개의 구조로 분석해도 감상의 모든 요소가 소진되지 않는다. 에셔의 공간을 논리적으로 설명한 뒤에도 시각적인 긴장은 남고, 바흐의 주제를 악보에서 찾아도 연주의 시간감은 남는다. 분석은 경험을 대체할 수도 있는 도구가 아니라 경험 속의 더 많은 관계를 들을 수 있게 하는 도구가 될 수 있다.

어떤 설명이 모든 것을 설명한다고 주장하면 그 설명이 실제로 구별하는 경우들을 살펴볼 필요가 있다. 어떤 결과가 나와도 똑같이 맞다고 말할 수 있는 설명은 예측과 검증에서 힘이 약할 수 있다. 그러나 이것을 철학과 예술의 모든 문장을 실험 가설로만 판단하라는 뜻으로 확대하지는 말자. 설명의 종류와 목적을 먼저 구별해야 한다.

우리는 복잡한 대상을 만날 때 어느 한 층의 어휘에 정착하고 싶어 한다. 전부 숫자라고 하거나 전부 이야기라고 하면 마음이 편하다. 하지만 이 책에서 본 대상들은 여러 층의 연결을 필요로 했다. 기호와 해석, 규칙과 실행, 부분과 전체, 기록과 경험을 함께 보아야 했다.

여러 층을 남긴다고 해서 아무 설명이나 모두 옳다고 받아들이는 것은 아니다. 서로 연결되는 설명은 접점에서 어긋나지 않아야 한다. 음악의 여러 성부가 각각 움직이면서도 함께 울리는 자리를 갖듯, 여러 설명도 관계를 검토해야 한다. 서로 다른 어휘를 쓰는 것과 서로 모순된 사실을 말하는 것은 다르다.

좋은 설명은 자신이 놓인 자리를 감춘 채 세계 전체를 대신하지 않는다. 무엇을 보았는지, 무엇을 가정했는지, 어디까지 말할 수 있는지 알려 준다. 책을 덮고 나서도 쓸 수 있는 가장 중요한 도구가 있다면 아마 이 습관일 것이다. 설명의 내용과 설명의 경계를 함께 읽는 습관이다.

# 모른다는 말의 정확한 모양

친구가 어려운 질문을 하면 우리는 때로 자신 있게 대답하고 싶어진다. 모른다고 말하면 부족해 보일 것 같기 때문이다. 그러나 ‘모른다’는 말에도 여러 형태가 있다. 자료를 아직 읽지 않았다는 뜻일 수 있고, 증거가 서로 엇갈린다는 뜻일 수 있으며, 특정한 체계에서 결정할 수 없다는 뜻일 수도 있다. 한 단어 아래에 서로 다른 상황이 들어 있다.

수학은 이 차이를 아주 날카롭게 보여 준다. 어떤 문제를 아직 아무도 풀지 못했다는 사실은 그 문제가 특정 이론에서 독립적이라는 사실과 다르다. 독립성은 증명되어야 하는 별도의 주장이다. 어려운 문제 앞에서 ‘괴델 때문에 못 푼다’고 말하면 모름의 종류를 바꿔 버린다. 정리는 우리의 무지를 자동으로 인증해 주는 도장이 아니다.

계산에서도 오래 걸리는 것과 알고리즘이 없는 것은 다르다. 무한히 많은 후보를 탐색할 수 있다는 것과 모든 입력에 답을 낼 수 있다는 것도 다르다. 한 프로그램의 실패를 알고리즘 전체의 불가능성으로 일반화하면 범위를 넘는다. 우리는 이런 구별을 통해 한계를 더 구체적으로 표현할 수 있게 되었다.

철학적인 질문에서는 정의에 대한 이견을 표시해야 할 때도 있다. 의식이 무엇을 뜻하는지에 따라 논의하는 대상이 달라질 수 있다. 행동으로 확인할 수 있는 능력을 말하는지, 주관적 느낌을 말하는지 분명히 하지 않으면 서로 다른 질문에 답하면서 논쟁하는 셈이 된다. 이름을 공유한다는 사실이 문제를 공유한다는 보장은 아니다.

그림을 볼 때도 무엇이 이상한지 정확히 말할 수 있다. 평면의 선이 실제로 모순되는 것이 아니라, 그 선들에 하나의 일관된 공간 해석을 주려는 기대가 충돌한다. 종이에 잉크가 존재할 수 없는 것은 아니다. 무엇이 불가능한지의 대상을 정확히 정하면 작품의 정교함을 더 잘 볼 수 있다.

음악에서는 어떤 관계를 들었다는 말과 작품의 모든 의도를 안다는 말을 나눌 수 있다. 주제를 알아차린 경험은 분명한 성취지만 작곡가의 마음 전체를 읽은 것은 아니다. 해석의 여지가 있다는 사실이 관찰한 구조를 무효로 만들지도 않는다. 제한된 성공을 제한된 성공으로 받아들이는 태도는 지식을 가볍게 만들지 않는다.

정확한 모름은 다음 행동을 알려 준다. 자료가 부족하면 더 관찰할 수 있다. 정의가 모호하면 문장을 고칠 수 있다. 추론에 빈틈이 있으면 그 단계를 살필 수 있다. 어떤 일반 절차가 불가능하다면 문제의 범위를 제한하거나 다른 보장을 선택할 수 있다. 모든 모름을 어둠 한 덩어리로 보면 할 수 있는 일을 놓친다.

이 책의 마음에 관한 장들에도 열린 부분이 있다. 자기 모델이 어떤 기능을 하는지 설명하는 것과 왜 경험이 있는지 설명하는 것 사이에는 질문이 남는다. 창발이라는 말이 그 틈을 자동으로 메우지 않는다. 그 틈을 적어 두는 것은 실패를 숨기지 않는 방법이며, 앞으로의 탐구가 어디에서 시작해야 하는지 표시하는 방법이다.

반면 이미 확인한 것을 이유 없이 흐릴 필요도 없다. 정지문제의 일반 판정기는 존재하지 않는다는 결론은 단지 사람들의 의견이 엇갈리는 주장이 아니다. 정해진 계산 모델과 조건 아래 증명이 있다. 모든 말을 불확실하게 만들면 확실한 결과와 열린 논의를 구별할 수 없게 된다. 겸손은 자신감을 전부 버리는 태도와 다르다.

독자는 이제 두 가지 일을 동시에 할 수 있다. 증명된 결과에는 그 조건과 함께 기대고, 비유와 철학적 제안에는 그 역할을 인정하면서 질문을 남긴다. 그 균형은 수학·예술·마음을 하나의 말로 통일하는 것보다 덜 화려해 보일 수 있다. 그러나 오래 사용할 수 있는 이해는 대개 그런 균형 위에 선다.

모른다는 말을 정확히 할 수 있을 때 아는 것도 더 정확히 말할 수 있다. 어디에서 왔고 어디까지 가는지 보이는 지식은 다음 사람에게 건넬 수 있다. 확신의 크기보다 근거의 위치를 보여 주는 설명이 타인에게 더 많은 자유를 준다. 그 사람은 설명을 믿을 수도 있고, 검사할 수도 있고, 더 멀리 이어 갈 수도 있다.

# 처음의 무늬가 돌아오는 자리

처음에는 친구의 이름을 세 가지 글씨로 썼다. 모양이 달라도 같은 이름을 알아보는 일에서 출발했다. 지금 돌아보면 그 작은 장면 안에 이 책의 여러 길이 들어 있다. 재료와 구조의 차이, 기호와 의미의 관계, 변화 속에서 이어지는 정체성이 모두 거기에서 조용히 시작되었다.

노선도는 연결을 남기고 거리를 생략했다. 에셔의 공간은 선과 해석 사이의 약속을 드러냈다. 바흐의 음악을 향한 이야기는 기억 속에서 주제가 돌아오는 관계를 보여 주었다. 같은 것을 알아보는 능력은 물건을 분류하는 데만 쓰이지 않았다. 시간과 공간, 설명의 층을 건너는 다리가 되었다.

형식 체계에서는 무엇을 처음부터 받아들이고 어떻게 결론으로 이동하는지 명확히 했다. 그 덕분에 증명은 다른 사람이 검사할 수 있는 기록이 되었다. 기록은 번호로 바뀌고, 번호 사이의 관계는 산술 안에서 표현될 수 있었다. 숫자를 계산하던 언어가 숫자로 표현된 자기 증명을 말하기 시작했다.

여기서 고리가 생겼다. 그러나 고리라는 모양만으로 결론이 나오지는 않았다. 대각화와 증명가능성의 표현, 충분한 산술, 효과적인 공리화, 무모순성 같은 조건들이 함께 작용했다. 우리가 일부 설명에서 건전성을 추가한 이유도 있었다. 정확한 고리는 막연한 순환과 다르다.

계산의 길에서는 프로그램을 다른 프로그램의 입력으로 다루었다. 모든 정지 여부를 맞힌다고 가정한 판정기는 자기 기록 앞에서 반대 행동을 하는 프로그램을 만나 무너졌다. 이 결론은 특정한 앱의 오류 원인을 알려 주지는 않았지만 일반적인 보장에 경계를 그었다. 경계는 쓸모 있는 분석 도구들을 만들 여지를 남겼다.

그림과 음악은 이 정리들의 증거가 아니었다. 오히려 정리를 읽을 감각을 준비해 주었다. 부분과 전체를 오가는 눈, 같은 관계가 다른 재료에서 나타나는 것을 알아보는 능력, 한 층의 설명과 다른 층의 설명을 함께 유지하는 태도다. 예술은 수학의 삽화로만 머물지 않고 다른 방식으로 생각을 넓혔다.

마음의 문제로 돌아왔을 때 우리는 성급한 답을 조금 덜 원하게 되었다. 자기참조가 곧 의식이라는 말, 작은 요소가 단순하니 전체도 단순하다는 말, 자연스러운 문장이 곧 인간 같은 경험을 입증한다는 말에 멈추어 설 수 있었다. 무엇을 실제로 설명했고 무엇을 아직 설명하지 않았는지 물을 수 있게 되었다.

책을 읽는 과정도 그런 여러 층의 사건이었다. 화면이나 종이에는 글자들이 있었다. 눈은 그것들을 읽었고, 기억은 앞의 이야기를 붙잡았으며, 생각은 지금의 문장을 이전의 경험과 연결했다. 어느 순간 독자는 자신이 이해했는지 다시 살폈다. 책의 내용에 관한 생각 위에 독서 자체에 관한 생각이 겹쳤다.

그것이 이 책의 제목이 가리키는 장면이다. 생각이 자신을 바라본다고 완전한 바깥에 서는 것은 아니다. 여전히 같은 사람의 활동이며 여전히 틀릴 수 있다. 그래도 한 걸음의 거리가 생기면 즉시 믿던 말을 다시 읽고, 한 가지로 보던 상황을 다른 층에서 살피고, 자기 설명을 고칠 수 있다.

괴델과 에셔와 바흐를 함께 생각하는 즐거움은 세 사람을 하나의 정답으로 묶는 데만 있지 않다. 서로 다른 일을 끝까지 다르게 존중하면서도 그 사이에 오가는 질문을 발견하는 데 있다. 논리는 가정을 묻고, 그림은 시선을 흔들며, 음악은 기억을 다시 울린다. 세 가닥은 구별되기 때문에 서로를 비춘다.

이제 첫 문장을 다시 읽으면 조금 다르게 들릴지 모른다. 어떤 음악은 다 끝난 다음에도 머릿속에서 계속된다. 책도 그런 방식으로 끝날 수 있다. 새로운 정보를 계속 밀어 넣는 대신, 이미 만난 생각들이 일상의 다른 자리에서 다시 들리는 것이다. 끝은 설명이 멈춘 자리이지만 이해가 반드시 멈추는 자리는 아니다.

# 다음에 보게 될 것들

내일 같은 길을 걸어도 주변의 모든 것이 새로워 보이지는 않을 것이다. 교양서 한 권을 읽었다고 세상이 갑자기 수학적 기호로 바뀌지는 않는다. 그래도 작은 차이는 남을 수 있다. 안내 지도의 현재 위치 표시, 노래에서 돌아오는 가락, 누군가의 확신에 찬 설명이 전보다 조금 더 많은 질문을 불러올 수 있다.

그 질문들은 거창할 필요가 없다. 무엇이 같아서 같은 것이라고 불렀을까. 이 설명은 어느 관계를 남겼을까. 지금 말하는 불가능은 어떤 범위의 불가능일까. 내가 알고 있다고 느끼는 것과 실제로 설명할 수 있는 것 사이에 간격이 있을까. 평범한 장면을 오래 바라보는 질문이면 충분하다.

전문적인 수학으로 더 들어가고 싶다면 구문과 의미를 구분하는 1차 논리에서 시작할 수 있다. 그다음 계산가능성, 증명의 산술화, 불완전성으로 나아가는 길이 있다. 이 책에서는 부품의 역할을 보여 주었던 대각화 보조정리를 실제로 증명해 보면 설명이 어떤 기술 위에 서 있었는지 알게 된다. 처음에 생략한 것은 감춘 비밀이 아니라 다음 단계의 작업이다.

예술 쪽으로 더 가고 싶다면 분석의 부담을 잠시 내려놓아도 된다. 공식 소장처에서 에셔의 작품을 보고, 바흐의 한 작품을 여러 번 들으며 시선과 주의가 어떻게 달라지는지 느껴도 좋다. 개념은 경험을 대신하는 통행증이 아니라 경험에 돌아왔을 때 다른 것을 발견하게 하는 렌즈다.

마음의 문제에 관심이 생겼다면 서로 다른 설명의 종류를 비교하는 일이 기다린다. 뇌의 메커니즘을 연구하는 실험, 인지 기능을 모델링하는 계산, 주관적 경험을 묻는 철학은 같은 질문만을 다루지 않는다. 어디에서 만나고 어디에서 갈라지는지 살피면 논쟁의 지형이 보인다. 한 문장으로 모두 끝내는 답보다 오래 걸리지만 그만큼 풍부하다.

이 책은 사람이나 기계의 본질을 판정하는 마지막 심판이 되려 하지 않았다. 증명된 것과 제안된 것, 해석된 것과 관찰된 것 사이의 차이를 지키며 함께 생각하는 길을 만들려 했다. 읽는 동안 그 구별이 때로는 조심스럽게 느껴졌을 수 있다. 그 조심스러움은 호기심을 줄이기 위한 것이 아니라 호기심이 잘못된 확신에 너무 빨리 갇히지 않게 하기 위한 것이었다.

책에 밑줄을 남겼다면 시간이 지난 뒤 그 문장으로 돌아와도 좋다. 처음에는 중요하다고 느끼지 않았던 문장이 더 가까워질 수도 있고, 크게 감탄했던 문장이 이제는 평범하게 느껴질 수도 있다. 읽는 사람의 경험이 달라졌기 때문이다. 같은 기록이 다른 자리에서 돌아온다. 음악에서 주제가 돌아올 때처럼.

아무것도 표시하지 않았어도 괜찮다. 독서의 흔적이 반드시 화면 속 기록으로 남는 것은 아니다. 설명을 들을 때 조건을 한 번 더 묻는 일, 상대의 말을 곧바로 틀렸다고 하지 않고 어떤 뜻인지 확인하는 일, 자기 확신을 근거와 나란히 놓는 일에도 흔적이 남는다. 지식은 외운 문장뿐 아니라 주의를 쓰는 방식이기도 하다.

생각은 자신을 완벽히 비추는 거울을 얻지 못했을지 모른다. 하지만 작은 창을 낼 수는 있다. 그 창으로 보이는 것이 전부가 아니라는 사실을 알면서도 보이는 것을 정성껏 살필 수 있다. 이 책을 덮은 뒤에도 그 창이 가끔 열리기를 바란다.
