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.
Exact expanded first-order arithmetic statement
forall h k. (((h = 2 * k) \/ (h = 2 * k + 1))) -> exists gap. gap + k = hConstructive proof overview
Generated structural guide
A natural half in either doubled decomposition is at most the full length.
The unchanged tactic script uses 3 declared prerequisites and contains 25 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Proof neighborhood
Direct dependencies
mul_comm Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorized add_succ_left Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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
02Establish hdoubleL4–9
03Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hshape
04Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists k
05Calculate and transport equalitiesL12–12
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L12
trans 2 * k
06Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
exact hdouble
07Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
symm
08Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hshape_left
09Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists S k
10Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
trans S (k + k)
11Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
apply add_succ_left
12Calculate and transport equalitiesL19–20
13Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hdouble
14Calculate and transport equalitiesL22–24
15Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact hshape_right
Original exact command ledger · 25 lines
- 0001
intro h - 0002
intro k - 0003
intro hshape - 0004
have hdouble : k + k = 2 * k - 0005
trans k * 2 - 0006
simp [zero_add] - 0007
specialize mul_comm k - 0008
specialize mul_comm 2 - 0009
apply mul_comm - 0010
cases hshape - 0011
exists k - 0012
trans 2 * k - 0013
exact hdouble - 0014
symm - 0015
exact hshape_left - 0016
exists S k - 0017
trans S (k + k) - 0018
apply add_succ_left - 0019
trans S (2 * k) - 0020
congr - 0021
exact hdouble - 0022
trans 2 * k + 1 - 0023
simp - 0024
symm - 0025
exact hshape_right