범주론과 수학, 언어, 사고, 그리고 이 책의 의도와 독자에 대한 소개.
Francis William Lawvere를 기리며
1937 - 2023
\pagebreak
"아무리 애써도,
수학으로부터는,
벗어날 수 없지"
Tom Lehrer
\pagebreak
나는 어릴 때 수학에 관심이 있었지만, 계산을 늘 망치곤 했고, 그래서 수학은 내 길이 아니라고 생각해 글쓰기나 시각 예술 같은 다른 관심사를 좇기 시작했다.
조금 뒤에는 프로그래밍에 빠졌고, 그것이 내가 즐기던 수학의 한 부분과 비슷하다는 것을 알게 되었다. 나는 그 유사성을 탐구하고 개발자로서 스스로를 향상시키기 위해 함수형 프로그래밍을 사용하기 시작했다. 그리고 조금 뒤에 범주론을 발견했다.
대략 5년 전, 몇 달 동안 실직 상태였던 나는 David Spivak의 “Category Theory for Scientists”를 읽으며 적어 두었던 노트의 일부로 그린 도표 몇 개를 공개하기로 했다. 그 노력의 결과로 이 책의 첫 두 장에 대한 거친 초안이 나왔고, 나는 그것을 온라인에 출판했다.
그로부터 몇 년 뒤, 몇몇 사람들이 내 노트를 발견하고 더 써 보라고 격려해 주었다. 그들은 너무도 친절해서 나는 가면 증후군을 잠시 잊고 다음 여러 장을 쓰는 작업에 착수했다.
Newton의 Principia 이래로, 수학이라는 학문은 다소 폄하된 위치, 즉 “과학과 공학의 역마”로 여겨져 왔다. 다시 말해 과학자와 공학자가 기술적·과학적 진보를 이루도록 돕는 수단으로서만 “유용한” 것으로, 곧 “실용적” 문제를 해결하는 도구에 불과한 것으로 여겨진다.
이 때문에 수학자들은 이상하고, 내 생각에는 독특하기까지 한 위치에 놓여 있다. 그들은 자신들이 하는 일이 다른 학문들에 대해 어떤 가치를 지니는지 늘 변호해야 한다. 다시 강조하지만, 이것은 다른 어떤 학문에 대해서라면 터무니없다고 여겨질 일이다.
사람들은 물리 이론 에서 투자 대비 수익을 기대하지 않는다. 예를 들어, 어떤 물리 이론에 실용적 가치가 없다고 비난하는 사람은 없다.
그리고 철학 이론을 비실용적이라고 비난하는 것은 훨씬 더 터무니없을 것이다. 예를 들어 Wittgenstein을 비난한다고 상상해 보자.
“아주 잘 알겠는데, 그런데 언어의 그림 이론으로 뭘 할 수 있죠?” “글쎄요, 프로그래밍 언어 이론에는 응용이 있다고 들었습니다…”
혹은 누군가가 David Hume의 회의주의를 회의적으로 대하는 경우도 있을 수 있다.
“좋습니다, 다 좋은데, 당신의 이론으로는 우리의 지식이 결국 제자리걸음 아닌가요. 그 다음엔 도대체 뭘 하라는 거죠?”
많은 사람이 수학을 역마 같은 것으로 보는 관점에 꼭 동의하는 것은 아니지만, 우리는 그 관점이 대부분의 수학 교과서 구조 속에 새겨져 있음을 볼 수 있다. 각 장은 어떤 개념에 대한 설명으로 시작하고, 몇 가지 예시가 뒤따르며, 마지막에는 그 개념이 해결하는 문제들의 목록으로 끝난다.
이 접근법에 잘못된 점은 없지만, 수학은 문제 해결 도구 이상이다. 수학은 고대 그리스에서는 종교 집단의 기반이었고(Pythagoreans), 철학자들에게는 우주를 지배하는 법칙을 이해하는 수단으로 여겨졌다. 수학은 서로 다른 문화적 배경을 가진 사람들이 서로를 이해할 수 있게 해 주는 언어였고, 지금도 그렇다. 또한 그것은 예술이자 मनोरंजन의 수단이기도 하다. 그것은 사고의 한 양식이다. 아니, 사고 그 자체라고까지 말할 수 있다. 어떤 사람들은 “글쓰기는 사고다”라고 말하지만, 나는 글쓰기가 충분히 세련되어 있고 저자 쪽의 어떤 종류의 편향에서도 자유로워질 때, 그것은 자동으로 수학적 글쓰기 가 된다고 주장하고 싶다. 말들을 거의 공식과 도표로 바꿀 수 있을 정도다.
범주론은 수학의 이러한 측면들을 모두 구현하고 있으므로, 나는 이 모든 면이 빛나는 책을 쓰기에 매우 좋은 토대라고 생각한다. 문제 해결에 기반한 책이 아니라, 개념들을 탐구하고 그 사이의 연결을 찾는 책. 전체적으로 아름다운 책 말이다.
그렇다면 이 책은 누구를 위한 책일까? 어떤 사람들은 이 질문을 “누가 이 책을 읽어야 하는가”라고 표현하겠지만, 그렇게 묻는다면 답은 “아무도 아니다”가 된다. वास्तव में, “해야 한다”라는 관점으로 생각하면, 수학은(혹은 적어도 여기서 다루는 종류의 수학은) 당신에게 큰 도움을 주지 않을 것이다. 비록 수학이 많은 문제의 해법인 것처럼 잘못 광고되곤 하지만, 사실 그것은 우리가 이미 확인했듯 훨씬 더 많은 것이다.
한 가지 예를 들어 보자. 많은 사람들은 Einstein의 상대성 이론이 GPS가 제대로 작동하는 데 필수적이라고 주장한다. 상대론적 효과 때문에 GPS 위성의 시계는 지상에 있는 동일한 시계보다 더 빠르게 간다.
그들은 마치 그 이론이 존재하지 않았다면 GPS를 개발한 공학자들이 이 현상을 다음과 같이 마주했으리라고 생각하는 듯하다.
Engineer 1: 와, 위성의 시계가 X 나노초만큼 어긋났어!
Engineer 2: 그럴 리가! 우리 수학적 모형에 따르면 정확해야 하잖아.
Engineer 1: 좋아, 그럼 이제 어떻게 하지?
Engineer 2: 우주에서의 시간을 설명하는 타당한 수학적 모형이 나올 때까지 이 프로젝트를 접어야겠군.
나는 특수 상대성 이론의 전문가는 아니지만, 이 대화가 실제로는 다음과 더 비슷하게 전개되었으리라고 짐작한다.
Engineer 1: 와, 위성의 시계가 X 나노초만큼 어긋났어!
Engineer 2: 정상적인 일이야. 미지수가 많잖아.
Engineer 1: 좋아, 그럼 이제 어떻게 하지?
Engineer 2: 그냥 X만큼 보정해 보고 작동하는지 보자. 아, 그리고 어떤 물리학자한테도 말해 둬. 흥미로워할지도 몰라.
다시 말해, 우리는 고급 수학 없이도, 심지어 수학이 전혀 없이도 문제를 해결할 수 있다. 이집트인들이 Euclidean geometry조차 모르고 피라미드를 지을 수 있었던 사실이 그 증거다. 그렇다고 내가 수학이 너무 하찮아서 무언가를 만드는 도구로조차 쓸모없다고 주장하는 것은 아니다. 오히려 그 반대다. 나는 수학이 단순한 도구보다 훨씬 더 많은 것이라고 생각한다. 그러니 어떤 수학 교과서를 읽든(물론 특히 이 책을 읽는다면) 당신은 “복잡한” 문제의 해답을 찾는 것보다 훨씬 더 본질적인 방식으로 도움을 받게 될 것이다.
어떤 사람들은 우리가 일상생활에서 수학을 쓰지 않는다고 말한다. 그러나 그게 사실이라면, 그것은 다른 사람들이 우리를 위해 모든 어려운 문제를 이미 해결해 두었고, 그 해법이 우리가 사용하는 도구들 속에 담겨 있기 때문일 뿐이다. 하지만 수학을 모른다는 것은 당신이 영원히 소비자로 남는다는 뜻이다. 이미 존재하는 도구와 해법, 사고방식에 묶인 채 스스로는 아무것도 할 수 없게 된다.
그래서 “이 책은 누구를 위한 책인가”라는 질문은 누가 읽어야 하는가가 아니라, 누가 읽을 수 있는가 로 읽어야 한다. 그러면 답은 “모든 사람”이다.
수학을 설명한다는 것은 이해 가능함/접근 가능함과 엄밀함/정확함 사이의 절충을 수반한다. 사과 하나가 있는데 하나를 더 받으면 둘이 된다고 말하는 초등학교 1학년 교사와, Russell과 Whitehead가 “Principia Mathematica”에서 그 같은 명제를 증명하기 위해 제시한 200쪽짜리 공식의 벽 사이 어딘가에서 균형을 잡아야 한다.
여기서 나는 이 스펙트럼의 중간에 머물고자 한다(Buddhist 가르침에서 말하는 “중도”처럼). 이것은 단지 나의 자리고, 또한 그 자리에 있는 텍스트가 그리 많지 않기 때문이다. 수학을 공부하는 학생은 흔히 사과와 오렌지에 대해 말하는 단계와 형식적 진술에 대해 말하는 단계 사이의 도약을 스스로 해내야 한다.
내 생각에 이것은 중간에 서는 일이 어렵기 때문이다. 양쪽 방향으로 다리를 놓아야 하고, 덜 진전된 독자와 더 진전된 독자 모두를 배려해야 하며, 그림과 공식 모두를 가져야 한다.
그리고 나는 실제로 둘 다를 갖추기 위해 노력했다. 비록 내가 다소 느슨하고 직관에 기대는 편이라 해도, 나는 무엇보다 정확성을 중시한다. 모든 진술은 나와 이 프로젝트를 도와준 다른 사람들에 의해 광범위하게 검토되었고, 독자에게 잘못된 인상을 남길 가능성이 있는 모든 문장은 수정되었다.
앞서 말했듯이, 수학의 기초는 사고의 기초다. 범주론은 우리가 일상적인 지적 삶에서 사용하는 바로 그 기초를 형식화할 수 있게 해 준다.
우리가 생각하고 말하는 방식은 자연스럽게 발달한 직관에 기반하며, 이것은 우리의 요점을 전달하는 매우 쉬운 방법이다. 그러나 직관은 오해도 쉽게 만든다. 우리가 말하는 것은 대개 여러 방식으로 해석될 수 있고, 그중 일부는 잘못된 해석이다. 이러한 종류의 오해가 편향이 생겨나는 이유다. 더 나아가 특정한 사람들(고대 그리스에서는 “sophists”라고 불렸다)은 담론을 자신들에게 유리한 방향으로 비틀기 위해 의도적으로 편향을 도입하곤 했다.
이런 상황에서 사람들은 종종 자신의 생각을 다듬기 위해 공식 과 도표 에 의지한다. 도표는(공식보다도 더) 과학과 수학 전반에 널리 퍼져 있다.
범주론은 도표와 그 구성 요소, 즉 화살표와 대상의 개념을 형식화하여 온갖 종류의 아이디어를 제시하기 위한 언어를 만든다. 그런 의미에서 범주론은 수학적 지식과 과학적 지식을 모두 아우르며 지식을 통합하고, 다양한 사고 양식을 공통의 용어로 결합하는 방식이다.
그 결과 범주론과 도표는 형식적인 개념을 분명하게 전달하는 매우 이해하기 쉬운 수단이기도 하다. 나는 이어지는 페이지들에서 그것을 보여 줄 수 있기를 바란다.
이 책에서 우리는 이러한 다양한 지식의 양식을 방문하고, 그 길을 따라 범주의 렌즈를 통해 바라본 온갖 수학적 대상을 보게 될 것이다.
우리는 1장에서 집합론 으로 시작하는데, 이것은 서로 다른 수학적 개념을 형식화하는 원래의 방식이다.
2장에서는 집합에서 범주 로 (바라건대) 부드럽게 넘어가면서 둘을 비교하고, 마침내 범주론의 정의를 소개한다.
다음 두 장인 3장과 4장에서는 수학의 서로 다른 두 분야로 들어가 그 핵심적인 추상화 수단인 군과 순서 를 소개하고, 그것들이 앞에서 도입한 범주론의 핵심 개념들과 어떻게 연결되는지 살펴본다.
5장 역시 앞의 두 장의 기본 공식을 따른다. 고대 학문인 논리학 과의 연결을 보여 줌으로써 범주론이 왜 보편적 언어인지를 이루는 핵심으로 들어간다. 3장과 4장에서처럼, 우리는 논리학 자체에 대한 속성 강의로 시작한다.
이 서로 다른 모든 분야 사이의 연결은 6장에서 범주론의 가장 흥미로운 개념 중 하나인 함자의 개념을 사용해 살펴본다.
7장에서는 또 하나의 더 흥미롭고 더 발전된 범주론적 개념인 자연 변환 의 개념을 검토한다.
아내 Dimitrina에게, 모든 지원에 감사한다.
둘째, 내가 2장과 3장을 쓰는 동안 무릎 위에 얌전히 앉아 있으면서도 무자비하게 수많은 문장, 그중 대부분은 형편없었던 문장들을 지워 버린 나의 “반(反)저자” 딸 Daria에게 감사한다.
내게 재능이 조금은 있지만 노력해야 한다고 말해 준 고등학교 미술 선생님 Mrs Georgieva께 감사드린다.
책을 끝내도록 격려해 주었고 지금도 여러 면에서 도와주고 있는 Prathyush Pramod에게 감사한다.
그리고 피드백을 보내 주고 내가 저지른 수많은 오류 중 일부를 고치는 데 도움을 준 다른 모든 분들께도 감사드린다. 나 자신을 아는 만큼, 아직도 더 있을 것임을 안다.