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.
Statement with defined notation
∀ h. ∀ m. Le(m + m,2 · h + 1) → Le(m,h)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall h m. (exists gap. gap + (m + m) = 2 * h + 1) -> exists gap. gap + m = hProof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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.
01Fix variables and assumptionsL1–3
02Use earlier factsL4–5
03Establish hsplitL6–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
- L6
have hsplit : m + m = 2 · h + 1 ∨ Lt(m + m,2 · h + 1)Definitions: Lt(m + m,2 · h + 1)Original native command in the exact edition - L7
apply le_eq_or_lt - L8
exact hbound
04Separate the logical casesL9–10
05Use earlier factsL11–14
06Calculate and transport equalitiesL15–15
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L15
symm
07Use earlier factsL16–17
08Establish honeL18–20
09Establish hdoubleL21–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
- L21
have hdouble : Le(m + m,2 · h)Definitions: Le(m + m,2 · h)Original native command in the exact edition - L22
specialize le_of_succ_le_succ (m + m) - L23
specialize le_of_succ_le_succ (2 * h) - L24
apply le_of_succ_le_succ - L25
exact hsplit_right
10Establish hscaledL26–26
Establish this local claim before using it. It is not an additional assumption.
- L26
have hscaled : Le(2 · m,2 · h)Definitions: Le(2 · m,2 · h)Original native command in the exact edition
11Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hdouble
12Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists x
13Calculate and transport equalitiesL29–31
14Use earlier factsL32–37
15Fix variables and assumptionsL38–38
Work with arbitrary variables or the premises of the current implication.
- L38
intro hzero
Original defined command ledger · 42 lines
- 0001
intro h - 0002
intro m - 0003
intro hbound - 0004
specialize le_eq_or_lt (m + m) - 0005
specialize le_eq_or_lt (2 * h + 1) - 0006
have hsplit : m + m = 2 · h + 1 ∨ Lt(m + m,2 · h + 1)Exact native replay line
have hsplit : m + m = 2 * h + 1 \/ (exists gap. gap + S (m + m) = 2 * h + 1) - 0007
apply le_eq_or_lt - 0008
exact hbound - 0009
cases hsplit - 0010
exfalso - 0011
specialize even_odd_exclusive_pointwise (m + m) - 0012
specialize even_odd_exclusive_pointwise m - 0013
specialize even_odd_exclusive_pointwise h - 0014
apply even_odd_exclusive_pointwise - 0015
symm - 0016
apply two_mul_eq_add_self - 0017
exact hsplit_left - 0018
have hone : 2 * h + 1 = S (2 * h) - 0019
simp - 0020
rewrite hone at hsplit_right - 0021
have hdouble : Le(m + m,2 · h)Exact native replay line
have hdouble : exists gap. gap + (m + m) = 2 * h - 0022
specialize le_of_succ_le_succ (m + m) - 0023
specialize le_of_succ_le_succ (2 * h) - 0024
apply le_of_succ_le_succ - 0025
exact hsplit_right - 0026
have hscaled : Le(2 · m,2 · h)Exact native replay line
have hscaled : exists gap. gap + 2 * m = 2 * h - 0027
cases hdouble - 0028
exists x - 0029
trans x + (m + m) - 0030
congr - 0031
refl - 0032
apply two_mul_eq_add_self - 0033
exact hdouble_witness - 0034
specialize mul_le_cancel_left_nonzero 2 - 0035
specialize mul_le_cancel_left_nonzero m - 0036
specialize mul_le_cancel_left_nonzero h - 0037
apply mul_le_cancel_left_nonzero - 0038
intro hzero - 0039
specialize succ_ne_zero 1 - 0040
apply succ_ne_zero - 0041
exact hzero - 0042
exact hscaled