Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
G101 and G102 were OPEN when these BitLen foundations were first admitted in Alpha v22. Both are now CLOSED in Alpha v23: complete canonical exponent digits and both exact logarithmic execution bounds are proved.
Exact theorem in conservative defined notation
∀ e. ∀ p. ∀ q. PowTwo(e,p) → PowTwo(S e,q) → Lt(p,q)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 31 lines are the exact independently kernel-checked original script.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (2)
01Fix variables and assumptionsL1–5
02Establish hnonzeroL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary power two nonzero.
03Establish hdoubleL13–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary power two successor double.
04Establish hstrictL20–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square branch positive half strict.
05Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hstrict
06Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x
07Calculate and transport equalitiesL26–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L26
trans 2 * p
08Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hstrict_witness
09Calculate and transport equalitiesL28–28
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
trans p + p
10Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply two_mul_eq_add_self
11Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
symm
12Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hdouble
Original defined command ledger · 31 lines
- 0001
intro e - 0002
intro p - 0003
intro q - 0004
intro hp - 0005
intro hq - 0006
have hnonzero : ~(p = 0) - 0007
intro hzero - 0008
specialize binary_power_two_nonzero e - 0009
specialize binary_power_two_nonzero p - 0010
apply binary_power_two_nonzero - 0011
exact hp - 0012
exact hzero - 0013
have hdouble : q = p + p - 0014
specialize binary_power_two_successor_double e - 0015
specialize binary_power_two_successor_double p - 0016
specialize binary_power_two_successor_double q - 0017
apply binary_power_two_successor_double - 0018
exact hp - 0019
exact hq - 0020
have hstrict : exists gap. gap + S p = 2 * p - 0021
specialize four_square_branch_positive_half_strict p - 0022
apply four_square_branch_positive_half_strict - 0023
exact hnonzero - 0024
cases hstrict - 0025
exists x - 0026
trans 2 * p - 0027
exact hstrict_witness - 0028
trans p + p - 0029
apply two_mul_eq_add_self - 0030
symm - 0031
exact hdouble