Arithmetization
Formalization of weak arithmetic and arithmetization of metamathematics. This project depends on lean4-logic.
https://iehality.github.io/Arithmetization/
Table of Contents
Usage
Add following to lakefile.lean
.
require arithmetization from git "https://github.com/iehality/Arithmetization"
Structure
- Vorspiel: Supplementary definitions and theorems for Mathlib
- Definability: Definability of relations and functions
- Basic: Basic theories such as
, - ISigmaZero: Theory
- Exponential
- OmegaOne: Theory
- ISigmaOne: Theory
Definions
Definition | Notation | |
---|---|---|
LO.FirstOrder.Arith.Theory.omegaOne | πβ |
Theorems
-
theorem LO.FirstOrder.Arith.Model.order_induction_h {M : Type} [Zero M] [One M] [Add M] [Mul M] [LT M] [M β§β* ππβ»] {L : LO.FirstOrder.Language} [LO.FirstOrder.Language.ORing L] [LO.FirstOrder.Structure L M] [LO.FirstOrder.Structure.ORing L M] (Ξ : LO.Polarity) (s : β) [M β§β* LO.FirstOrder.Arith.Theory.indScheme L (LO.FirstOrder.Arith.Hierarchy Ξ s)] {P : M β Prop} (hP : LO.FirstOrder.Arith.Model.DefinablePred L Ξ s P) (ind : β (x : M), (β y < x, P y) β P x) (x : M) : P x
-
theorem LO.FirstOrder.Arith.Model.least_number_h {M : Type} [Zero M] [One M] [Add M] [Mul M] [LT M] [M β§β* ππβ»] {L : LO.FirstOrder.Language} [LO.FirstOrder.Language.ORing L] [LO.FirstOrder.Structure L M] [LO.FirstOrder.Structure.ORing L M] [LO.FirstOrder.Structure.Monotone L M] (Ξ : LO.Polarity) (s : β) [M β§β* LO.FirstOrder.Arith.Theory.indScheme L (LO.FirstOrder.Arith.Hierarchy Ξ s)] {P : M β Prop} (hP : LO.FirstOrder.Arith.Model.DefinablePred L Ξ s P) {x : M} (h : P x) : β (y : M), P y β§ β z < y, Β¬P z
-
theorem LO.FirstOrder.Arith.Model.models_iSigma_iff_models_iPi {M : Type} [Zero M] [One M] [Add M] [Mul M] [LT M] {n : β} : M β§β* ππΊn β M β§β* ππ·n
-
Exponential is definable in
by formula -
LO.FirstOrder.Arith.Model.Exponential.defined
theorem LO.FirstOrder.Arith.Model.Exponential.defined {M : Type} [Zero M] [One M] [Add M] [Mul M] [LT M] [M β§β* ππΊβ] : πΊβ-Relation (LO.FirstOrder.Arith.Model.Exponential : M β M β Prop) via LO.FirstOrder.Arith.Model.Exponential.def
-
-
Nuon (number of ones) is definable in
by formula - LO.FirstOrder.Arith.Model.nuon_defined
theorem LO.FirstOrder.Arith.Model.nuon_defined {M : Type} [Zero M] [One M] [Add M] [Mul M] [LT M] [M β§β* ππΊβ + πβ] : πΊβ-Functionβ LO.FirstOrder.Arith.Model.nuon via LO.FirstOrder.Arith.Model.nuonDef
- LO.FirstOrder.Arith.Model.nuon_defined
References
- P. HΓ‘jek, P. PudlΓ‘k, Metamathematics of First-Order Arithmetic
- S. Cook, P. Nguyen, Logical Foundations of Proof Complexity