Height doubling on normal ordinal notations below ε₀ #
The ordinal layer of Gentzen's cut elimination, on Mathlib's normal ordinal notations NONote
(ordinals below ε₀): the height-doubling map twoPow a = 2 ^ a (computable, through
NONote.opow) and the inequalities L1–L5 used to bound the height of a derivation after a cut
is eliminated.
These statements go through NONote.repr and Mathlib's order on NONote, which is defined by
repr, so they depend on Classical.choice (through Ordinal.lt_wf). The choice-free versions,
stated with a syntactic order and normal form, are in
Formalizations.SetTheory.Ordinal.Gentzen.Acc and Formalizations.SetTheory.Ordinal.Gentzen.TwoPow.
Main results #
twoPow,repr_twoPow:2 ^ aas a normal notation;twoPow_lt_twoPow,twoPow_le_twoPow(L3),twoPow_max(L4);L1(1 ≤ a → 2^a + 1 < 2^(a+1)) andL1_fails_at_zero;L2(2 ≤ a → 2^a + 2 < 2^(a+1)) andL2_fails_at_one;L5(2^a + 2 < 2^(a+2)),twoPow_add_le_max(2^a + 2^b ≤ 2^(max a b + 1));ti: transfinite induction belowε₀, fromNONote.lt_wf.
References #
- B. Bryce, R. Goré, arXiv:2603.00487 (2026): Gentzen's consistency proof for PA in Coq.
Basic notations #
2 as a normal notation.
Equations
Instances For
The height-doubling map #
L3: monotonicity #
L4: commutes with max #
L1, L2: the tall-rule and disjunction-cut bounds #
L1. False at a = 0 (2^0 + 1 = 2 = 2^1), see L1_fails_at_zero.
L5: bounds for a cut of height max + 2 #
Transfinite induction #
Transfinite induction below ε₀, derived from NONote.lt_wf.
ω as a normal notation.