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
∀ p. ∀ k. ¬k = 0 → Lt(k,p) → ∃ x. k + x = p ∧ Lt(x,p)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 p k. ~(k = 0) -> (exists lcv_gap_complement_source. lcv_gap_complement_source + S (k) = (p)) -> exists j. ((k + j = p) /\ (exists lcv_gap_complement_result. lcv_gap_complement_result + S (j) = (p)))Proof 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–4
02Establish hsuccessorL5–8
03Separate the logical casesL9–10
04Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists S x1
05Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
split
06Calculate and transport equalitiesL13–16
07Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
exact hbound_witness
08Construct an explicit witnessL18–18
Supply the displayed value, then prove that it has the required property.
- L18
exists x
09Calculate and transport equalitiesL19–21
10Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact hbound_witness
Original defined command ledger · 22 lines
- 0001
intro p - 0002
intro k - 0003
intro hnonzero - 0004
intro hbound - 0005
have hsuccessor : exists a. k = S a - 0006
specialize nonzero_is_succ k - 0007
apply nonzero_is_succ - 0008
exact hnonzero - 0009
cases hsuccessor - 0010
cases hbound - 0011
exists S x1 - 0012
split - 0013
rewrite hsuccessor_witness - 0014
trans x1 + S (S x) - 0015
simp [add_comm, add_succ_left] - 0016
rewrite hsuccessor_witness at hbound_witness - 0017
exact hbound_witness - 0018
exists x - 0019
trans x1 + S (S x) - 0020
simp [add_comm, add_succ_left] - 0021
rewrite hsuccessor_witness at hbound_witness - 0022
exact hbound_witness