- 1937년 Quine이 제안한 집합론 New Foundations의 일관성 증명에서 어려운 부분이 Lean으로 검증됐고, 핵심 정리는
ConNF/Model/Result.lean에 정리돼 있음 - 접근 방식은 New Foundations와 Tangled Type Theory(TTT) 의 일관성이 동치라는 결과를 이용해, Lean 안에서 TTT 모델을 형식적으로 구성하는 것임
- TTT 모델은 낮은 타입 원소들로 집합이 유일하게 결정돼야 하는 외연성 때문에 구성 난도가 높아짐
- 모델 구성에는 기저 타입, t-set, 허용 가능한 순열, 작은 support, preferred extension이 쓰이며, 타입 크기를 μ로 제어하려면 freedom of action theorem이 필요함
- Lean 커널은 형식화된 증명을 검사하지만, 형식 문장이 의도한 영어 의미와 맞는지는 보장하지 않으므로 결과 해석에는 번역 검토가 필요함
Lean으로 완성한 New Foundations 일관성 검증
- 1937년 Quine은 집합론 New Foundations를 제안했고, Randall Holmes는 2010년부터 그 일관성 증명을 갖고 있다고 주장해 왔음
- 이 프로젝트는 Holmes 증명의 어려운 부분을 대화형 정리 증명기 Lean으로 검증해 New Foundations의 일관성을 보이는 데 초점을 둠
- 증명은 완료됐으며 정리 문장은
ConNF/Model/Result.lean에서 확인할 수 있음 - 관련 자료도 함께 제공됨
로컬에서 코드 실행하기
- 로컬 실행은 elan을 설치하고 저장소를 클론한 뒤, 저장소 루트에서 다음 명령을 실행하면 됨
lake exe cache get
- 이후 코드는 Visual Studio Code 같은 편집기에서 살펴볼 수 있고, 명령줄에서는
lake build로 직접 컴파일 가능함
New Foundations와 TTT의 연결
- New Foundations는 Tangled Type Theory(TTT) 가 일관적일 때 그리고 그때에만 일관적인 것으로 알려져 있음
- 관련 결과는 Holmes의 theorem 1에 있음
- 프로젝트는 Lean에서 TTT 모델을 형식적으로 구성했고, 이를 통해 종이 위의 결론으로 New Foundations의 일관성, 즉 Con(NF) 를 얻음
- 작업은 Holmes의 여러 증명 문서를 바탕으로 진행됐지만, Lean의 타입 이론에 맞추기 위해 많은 변경과 추가가 필요했음
Lean 검증의 기반과 해석상 주의점
- 프로젝트는 Lean으로 작성된 커뮤니티 수학 라이브러리 mathlib에 의존함
- mathlib 덕분에 기수와 군 같은 익숙한 결과를 프로젝트 안에서 다시 증명하지 않고 사용할 수 있음
- mathlib와 이 프로젝트의 정의·정리는 Lean의 신뢰 커널이 검사함
- Lean 커널은 구성된 증명이 실제로 올바른지 계산적으로 검증함
- 다만 Lean은 형식 문장이 의도된 영어 등가물과 일치하는지까지 확인하지는 못함
- 코드에서 결론을 끌어낼 때는 영어 서술과 형식 문장 사이의 번역을 주의 깊게 봐야 함
Tangled Type Theory의 구조와 난점
- TTT는 등호
=와 포함 관계∈를 가진 다종류 집합론임 - 종류(sort)는 극한 순서수 λ로 색인되며, λ의 원소는 타입 지수라고 불림
- 식의 형성 조건은 타입에 의해 제한됨
x = y는x와y의 타입이 같을 때 잘 형성됨x ∈ y는x의 타입이y의 타입보다 낮을 때 잘 형성됨
- 핵심 난점은 TTT의 외연성 공리에서 나옴
- 타입 α의 집합은 임의의 타입 β < α 원소들로 유일하게 결정돼야 함
- 예를 들어 타입 α의 두 집합이 다르면, 모든 β < α에 대해 서로 다른 타입 β 원소를 가져야 함
- 이 요구 조건 때문에 TTT 모델 구성은 단순한 집합론 모델 구성보다 까다로워짐
모델 구성의 주요 단계
-
기저 타입 구성
- λ를 극한 순서수, κ > λ를 정칙 순서수, μ > κ를 공종도가 적어도 κ인 강한 극한 기수로 둠
- 크기가 κ보다 작은 집합은 small이라고 부름
- 모든 모델 타입 아래의 보조 타입인 레벨 -1의 base type을 먼저 구성함
- 이 타입의 원소는 atoms라고 부르지만, ZFU나 NFU의 의미에서의 atom은 아님
- atom은 μ개 있으며, 크기 κ의 litters로 분할됨
-
t-set과 허용 가능한 순열
- 각 타입 레벨 α에서 TTT 모델의 원소가 될 컬렉션을 만들며, 이를 t-set이라고 부름
- 동시에 t-set에 작용하는 순열군인 allowable permutations를 구성함
- 포함 관계는 allowable permutations의 작용 아래 보존됨
- 각 t-set은 allowable permutations 작용에 대한 support를 갖도록 정해짐
- support는 addresses라고 부르는 객체들의 작은 집합임
- 어떤 allowable permutation이 support의 모든 원소를 고정하면 그 t-set도 고정함
-
preferred extension으로 외연성 맞추기
- 각 레벨 α의 t-set은 β < α인 어떤 타입의 preferred extension을 가짐
- t-set의 원소들로부터 어떤 extension을 선호하는지 복원할 수 있고, 다른 낮은 타입의 extension은 그 β-extension에서 도출됨
- 이 구조가 TTT의 외연성 공리를 만족시키는 데 사용됨
-
타입 크기 제어
- 각 타입 α는 모든 β < α 타입의 크기가 정확히 μ라는 가정 등이 있어야 구성할 수 있음
- 레벨 α의 t-set 컬렉션 크기가 적어도 μ임은 쉽게 증명되므로, 많아야 μ개라는 점을 보여야 함
- 이를 위해 allowable permutations의 작용 아래에서 tangles의 근본적으로 다른 서술이 많지 않음을 보임
- 이 단계에는 allowable permutations를 구성하게 해주는 기술적 보조정리인 freedom of action theorem이 필요함
- 이 절의 주요 결과는 ConNF.mk_tSet에 있음
-
귀납 마무리와 공리 확인
- 위 과정을 재귀적으로 실행해 모든 타입 레벨 α에서 tangles의 타입을 생성함
- 집합론에서는 쉬운 단계지만, 필요한 여러 귀납 가정이 서로 얽혀 있어 타입 이론에서는 많은 작업이 필요함
- 이후 구성물이 TTT의 모델인지 확인하기 위해 이론의 유한 공리화를 만족하는지 검사함
- 프로젝트는 Hailperin의 NF comprehension scheme 유한 공리화를 TTT의 유한 공리화로 변환해 사용함
- 결과 파일은 results file에 있음
- 이 선택은 임의적이며, 이미 구축된 인프라를 사용하면 다른 유한 공리화도 쉽게 증명할 수 있음