서구 과학에서는 일차적으로 인간 삶과 무관하게 있는 그대로의 자연을 "있는 그대로" 탐색하려는 데에 비해 주역에서는 바르고 복된 삶을 영위하려는 인간의 눈에 보이는 자연을 "보이는 그대로" 채색해 나가는 입장이라고 말할 수 있다. (장회익, <삶과 온생명>)
최근 엄밀검증을 공부하며 어떤 통찰을 얻을 수 있을까 생각해보고 있다. 특히 부분들이 합쳐져 전체가 되는 것들을 이해하는 방식에 관한 것이다. 가장 흔한 예로 자연수 10은 9의 다음수로 정의할 수 있다. 다루려는 대상인 10을 그 부분인 9로 쪼개서 생각하는 것이다. 마찬가지로 10이 있으면 그 다음수인 11도 정의할 수 있다. 10을 부분으로 하는 11이라는 수를 생각하는 것이다.
또는 돌탑을 생각해보자. 하나의 돌탑은 작은 돌탑 위에 돌이 하나 더 얹어져 있는 것으로 생각할 수 있다. 또 어떤 돌탑을 만들고 싶을 때는 이미 있는 돌탑에 돌을 하나 더 얹어서 만들 수 있다.
여기서 부분과 전체에 대한 미묘하게 다른 두가지 서술 방식을 찾을 수 있다. 첫째는, 어떤 전체를 부분으로 나눌 수 있다는 것이다. 둘째는, 부분들을 모아서 전체를 만들 수 있다는 것이다. 일반적으로는 부분과 전체에 대해 두 성질이 모두 성립하지만 여전히 둘 중 어느 것이 더 근본적인 법칙이냐는 질문도 가능하다. 엄밀검증 분야에서는 전자의 성질을 기본원리로 하는 방식을 코-인덕션(coinduction, coinductive)이라고 하고 후자의 성질을 기본원리로 하는 방식을 인덕션(induction, inductive)이라고 한다.
인덕션은 익숙한 말일 수도 있겠다. 고등학교 수학 시간에 배우는 수학적 귀납법이 바로 인덕션의 한 예다. 수학적 귀납법은 자연수에 대한 인덕션을 활용한 것이다. 자연수의 정의는, 첫째로 1은 자연수이고, 둘째로 이미 있는 자연수의 다음수는 모두 자연수라는, 두 가지 원리로 설명할 수 있다. 그러나 이 성질을 만족하는 집합은 여러 가지가 있을 수 있다. 예를 들어 다음수가 자기자신인 기묘한 수를 상정해서 보통의 자연수 집합에 슬쩍 끼워넣은 집합 또한 위 성질을 만족한다. 따라서 자연수의 집합이 유일하게 나오도록 정의하려면, 위의 두 성질을 만족하는 집합 중 가장 작은 집합으로 정의해야한다. 실제로 엄밀검증에서 정의하는 자연수는 이런식으로 정의된다. 이 원리로부터 수학적 귀납법이 성립한다. 어떤 집합에 자연수 1이 속하고, 그 집합에 어떤 자연수가 속해있다면 그 다음수도 속해있다고 한다면, 그 집합에는 모든 자연수가 속해있는 것이다. "집합에 속해있다"를 "성질을 만족한다"로 치환하면 정확히 수학적 귀납법이다.
인덕션은 유한한 것들을 모두 모아서 말할 때 쓸 수 있다. 위에서 살펴본 자연수도 그 가짓수 자체는 무한하지만 자연수 하나하나를 살펴보면 각각은 유한하다. 하지만 무한한 것에 대해서 말하고 싶을 때도 있다. 엄밀검증 분야에서는 영원히 돌아가는 프로그램의 성질을 알고 싶을 때 무한을 논해야 한다. 무한히 이어지는 원주율, 무한히 넓은 우주나 무한히 작은 미시세계, 영원히 흘러가는 시간이나 찰나의 순간 등 위로도 아래로도 무한한 것은 얼마든지 있다.
무한한 것들을 논리적으로 엄밀하게 정의하려 할 때에는 인덕션만으로는 충분하지 않다. 코인덕션이 필요한 순간이다. 코인덕션에서는 코자연수를 관찰했을 때의 결과가 정의된다: 어떤 코자연수가 주어지면, 그것은 두 경우 중 하나다: 첫째로 1이거나, 둘째로 다른 코자연수의 다음수다. 코자연수는 그렇게 정의되는 집합 중 가장 큰 집합을 말한다. 이렇게 하면 아까 보았던 기묘한 수, 다음수가 자기자신인 수가 코자연수에 포함된다.
사람은 무엇이든 부분으로 쪼개어 이해하려 한다. 사물은 원자로, 원자는 더 작은 무언가로 쪼개진다. 말과 글은 문단으로, 문장으로, 단어로, 글자로, 소리로 쪼개진다. 어떤 일의 결과는 원인들로, 원인들은 다시 그 원인들로 쪼개진다. 만약 세상이 인덕션이라면 쪼개는 일의 가장 마지막에 가장 기본적인 조각들이 있을 것이다. 데모크리토스는 세상을 인덕션으로 보고 물질세계의 기본조각인 원자를 상상했다. 만약 세상이 인덕션이라면 원자의 가짓수만 파악하여도 세상을 다 설명할 수 있을 것이다. 현대물리학도 나름의 "원자"를 찾는 과정에 있다. 쿼크 같은 기본 입자들로 세상을 설명하려 한다. 신 존재 증명 중에서, 모든 일의 원인을 계속해서 소급해가면 그 정점에 모든 것의 원인으로서 신이 있다는 이야기가 있는데, 이 또한 인과 개념이 인덕션으로 이루어져있음을 가정한 것이다.
그러나 어쩌면 세상에는 기본입자가 없을지도 모른다. 모든 입자는 영원히 더 작은 입자로 소급될지도 모른다. 어떤 일의 원인은 무한히 소급해갈 수 있을지도 모른다. 그렇다면 이 세상은 코인덕션이라고 보아야할 것이다. 무한한 것이 세상에 존재한다는 가정이다. 세상에 있는 대부분이 무한히 복잡하다는 가정이다.
인덕션을 기본원칙으로 삼는다면, 어떤 것을 생각하든 그것은 유한하므로 충분한 시간과 에너지만 주어진다면 그 전체를 그려낼 수 있다. 따라서 전체의 구조가 세세하게 모두 주어져있다고 치고 그 구조에 대해 말하는 방식이 유효하다. 그러나 코인덕션을 기본원칙으로 삼는다면, 다루고자 하는 것이 무한한 구조를 가졌을 가능성을 배제할 수 없다. 그때는 전체의 구조가 주어지는 것을 가정해서는 안 된다. 단지 지금 주어져 있는 것을 유한하게 몇 번 쪼개어보는 방식만을 취할 수 있다. 실제로 엄밀검증에서도 적용되는 원칙이다(Coq의 conversion rule과 normal form).
만일 세상이 인덕션이라고 하더라도 우리가 취할 수 있는 방식은 코인덕션이라는 생각도 든다. 유한하더라도 사람이 다룰 수 있는 크기를 넘어선다면 그것은 다룰 수 없다. 너무 거대하다는 사실이 알려져 있거나 얼마나 큰지 알 수 없는 것이 있다면, 그것을 다룰 때에는 전부 파악하기보다는 지금 알 수 있는 것만으로 판단하는 태도가 필요할 것이다.
맨 처음 인용한 저 구절이 인덕션과 코인덕션의 관점을 각각 나타낸다는 생각을 해서 인용을 했다. 세상을 있는 그대로 파악하려는 것은 인덕션이다. 세상을 이루는 기본 요소들을 찾고 그것들이 세상을 어떤 식으로 이루는지를 전부 설명하려는 태도다. 세상을 보이는 그대로 파악하려는 것은 코인덕션이다. 세상은 단지 지금 여기에서 인간에 의해 관찰될 수 있을 뿐이니 인간과 관찰을 설명의 중심에 두려는 태도다.
이렇게 길게 이야기를 했지만 코인덕션도 삶과온생명도 아직 다 알지 못하고 읽지 못했다. 다만 세상을 대하는 태도를 분류하는 데 있어 두 주제에서 연결할만한 부분이 있음을 찾은 게 흥미로웠다. 이 얘기를 어디에서 할 수 있을지 생각해봤는데 아마 할 수 있는 곳이 거의 없는 것 같다. 이야기하기 위해 알아야할 것이 너무 많다. 여기는 원칙적으로 독자를 겨냥하지 않아도 되는 곳이다. 그냥 내 생각을 정리한다는 취지에서 글을 써본 것으로 보면 될 것 같다. 좀 더 공부를 해보면 더 쉽게 설명할 수 있게 될지도 모른다.