Hanul Jeon
POSTS

논리학과 집합론의 순환 참조?

며칠 전에 질문 메일을 받아서 답변하게 되었는데 다른 분들에게 도움이 될 지도 모를 듯해 여기에도 올려본다. 질문 글은 질문자의 허가를 받아서 올렸음을 명시해둔다.

From: matty7330 matty7330@proton.me (2023-02-17 07:49 EST)

안녕하세요, 저는 수학을 공부하고 싶은 학생입니다

수학을 공부하면서 이것저것 알아보다 보니 현대수학의 근본이 되는 것은 집합이고 집합을 직관적으로 이해하는 것이 소박한 집합론이고 엄밀하게 구성하는 것이 공리적 집합론이라는 것을 알게 되었습니다. 공리적 집합론에 대해 알아보니 공리적 집합론에서 쓰이는 공리계는 ZFC인데 이 ZFC 공리계는 생전 처음보는 논리기호(?)로 쓰여 있었습니다. 그 논리기호는 수리논리학이란 학문에서 쓰인다는 것을 알게 되었고 구글에서 수리논리학에 대한 pdf 파일을 다운받았습니다. 하지만 수리논리학 책들에는 하나같이 처음에 집합에 대한 내용이 나왔습니다. 그러므로 집합론을 배울려면 수리논리학이 필요 -> 수리논리학을 배울려면 집합론이 필요 라는 무한루프에 빠지게 됩니다. 집합론 없이 수리논리학을 배울 수 있는 방법이 있는지 질문드립니다.

답변 (2023-02-17 15:45 EST)

누군지 모르는 분에게,

안녕하세요, 해당 질문은 논리학을 배울 때 꼭 거치게 되는 질문 중 하나 아닌가 합니다. 우선 질문의 디테일한 사항부터 짚고 넘어가야 할 것 같습니다.

우선, 형식적인 논리기호가 수리논리학에서 등장한다고 해서 그 기호가 온전히 수리논리학의 것은 아닙니다. 마치, 윈도우 운영체제에서 돌아가는 파이어폭스 브라우저가 보인다고 파이어폭스가 윈도우 전용 프로그램은 아닌 것과 같습니다. 파이어폭스는 리눅스 계열 운영체제에서도 돌아가고 macOS에서도 돌아갑니다. 애초부터 수리논리학이란 이름은 수학적으로 논리학을 다루는 분야를 포괄하는 용어고 보통 집합론이 그 안에 들어간다고 봅니다. 마치 분류학에서 “목”, “과”, “속”, “종” 단위로 점점 세분화되는 것과 같습니다. 대략, 수리논리학이 특정한 “과”의 이름이라면 집합론이 어떤 “속”의 이름인 것처럼 생각할 수 있겠습니다.

질문의 본문으로 돌아가자면, 두 가지 측면을 따져봐야 할 것 같습니다:

  1. 존재론적으로, 집합론이 없으면 논리학은 없는 것인가? 집합론 위에서 논리학을 정의하고, 논리학이 있어야 그 위에서 집합론을 다룰 수 있는데 이는 상호의 존재에 대한 순환 의존 아닌가?
  2. 교육학적으로, 집합론을 모르면 논리학 공부가 불가능한가? 혹은 그 역은? 그렇다면 무엇 먼저 배워야 하는가?

보통은 1을 많이 질문합니다만, 하신 질문은 2에 가까운 것 같아 두 개 다 다뤄봅니다. 위의 둘이 완전히 연관없는 질문도 아닌 것 같아서 더더욱 그래야 하지 않나 싶습니다.

우선, 1은 이론과 메타이론의 구분의 시발점이 됩니다. 이 구분은, 제가 아는 한, 힐베르트가 무한을 포괄하는 통상적인 수학을 유한적인 수학 위에 환원할 수 있다는 주장을 하면서 처음 등장했습니다. 통상적인 논리학과 수학을 형식화해서 유한주의 수학에서 다루자는 것인데, 둘 다 같은 수학이라 부르면 햇갈리니 “수학을 다루는 수학”을 메타수학이라 구분지은 것일 뿐입니다.

하지만 이렇게 구분지음으로써 논리학과 집합론관의 관계가 순환적이지 않다는 것 또한 볼 수 있습니다. 즉, 말씀하신 상황을 이론 / 메타이론의 구분을 가지고 설명하자면 다음과 같습니다:

첫 번째에서, 집합론과 1차 논리는 동등한 수준 (둘 다 object language / object theory) 의 대상입니다. 하지만 두 번째에서, 집합론은 논리학에 대한 메타이론으로 등장하게 됩니다. 즉, 후자에서 집합론은 논리학보다 “좀 더 높은 계층”을 갖는 이론으로 등장하게 됩니다.

이러한 구분은 다소 자의적으로 보일 지도 모르겠지만, 이를 구분하지 않으면 치명적일 수 있는 상황이 자주 나타납니다. 특히, 집합론이나 증명론같이 기초적 이론1 을 직접 다루는 분야의 경우 이 구분이 꽤 중요해지는데, 스콜렘의 역설 (Skolem’s paradox) 이나 반영 정리 (Reflection theorem) 등이 그 예시가 됩니다.

2에 대해서는, 별 다른 방법이 없기는 합니다. 보통은 기초적인 기호논리 → 초등적인 집합론 → 수리논리 → 좀 더 어려운 집합론 식으로 올라가는 단계를 취합니다. 집합론의 초기 역사는 해석학, 일반위상 등과 밀접히 연관지어져 있으므로 그런 분야들도 공부해야겠고, 저 단계 중 한두 개는 동시에 일어나기도 합니다. 그리고 앞 단계에서 기초론적 의문은 조금 덮어두고 진행하는 게 나을 지도 모릅니다. 기호논리를 하는 데 “이 기호들은 어느 형식 이론 위에서 정의되는가?”라고 물으면 조금 머리 아파질 수 있습니다.

수학자들이 기초론에 갖는 관점을 적용하는 게 초기 단계에선 이로울 수도 있습니다. 대부분 수학자는 이에 대해 잘 신경쓰지 않습니다. 수학자들이 하는 수학은 기초론 단계에서 직접 다루는 것보다는 추상화되어 있고, 적당한 강도를 가진 기초적 이론 위에서 구현할 수 있습니다. 이는 알고리즘과 이의 구현과 비슷한 관계인데, 알고리즘은 모든 프로그래밍 언어 위에서 구현 가능한 형태로 기술되고 이의 구체적인 구현은 프로그래밍 언어마다 다릅니다. 마찬가지로, 수학자들이 하는 수학은 마치 알고리즘 같은 것이고 집합론 따위는 이를 구현할 수 있는 프로그래밍 언어 같은 것이라 생각할 수 있을 것 같습니다.

이는 논리학에도 적용될 수 있는 관점입니다. 기호논리학을 “수학을 하는 데 필요한 정도의 최소한의 언어가 가지는 패턴을 다루는 분야”로 보고, 그 패턴을 연구하는 데에만 신경쓰자는 것입니다. 논리학의 결과들은 다른 기초론 위에서 구현 가능합니다. 하지만 그런 논리학 자체를 “집합론을 하는 데 필수불가결한 것”으로 생각하지는 말자는 거죠. 물론 집합론을 형식적으로 기술하는 데 논리학 (정확히는, 1차 논리) 가 없을 수는 없습니다. 하지만 이게 논리학이란 분야가 필요하다는 뜻은 아닙니다. 한국어학을 기술하는 데 언어가 필요한 것은 사실이지만, 언어가 언어학 그 자체는 아닌 것처럼요.

도움이 되는 설명일 지는 모르겠습니다. 이해 안 가는 부분 있으면 답장 주십시요.

전한울 드림


  1. 기초적 이론: 여기서 기초적 이론은 우리들이 늘상 하는 수학들을 포괄할 수 있는 형식적 이론을 말합니다. 산술, 집합론, 유형론 등이 이 범주에 들어갑니다. 범주론은 보통 해당하지 않지만 ETCS 같은 구조적 집합론 (structural set theory) 은 범주론적 색채가 강한 기초적 이론으로 분류됩니다.