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.
The initial 0/1 convergent is included: u is natural, not necessarily positive. Comparison denominators are strictly smaller and positive. Signed competitors are represented by an arbitrary difference rp−rn. Approximation inequalities are proved from the trace, never stored as assumptions in Convergent.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ u. ∀ U. ∀ v. ∀ V. ∀ rp. ∀ rn. ∀ t. ∀ c. ∀ d. rp + d · U = rn + c · u ∧ t + d · V = c · v → a · t + b · rn + (c · (b · u) + d · (a · V)) = c · (a · v) + d · (b · U) + b · rp
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 18 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases h
04Calculate and transport equalitiesL14–18
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
Original defined command ledger · 18 lines
- 0001
intro a - 0002
intro b - 0003
intro u - 0004
intro U - 0005
intro v - 0006
intro V - 0007
intro rp - 0008
intro rn - 0009
intro t - 0010
intro c - 0011
intro d - 0012
intro h - 0013
cases h - 0014
trans a * (t + d * V) + b * (rn + c * u) - 0015
simp [mul_add, mul_assoc, mul_comm, add_assoc, add_comm, four_square_add_swap_right_tail] - 0016
rewrite h_right - 0017
rewrite <- h_left - 0018
simp [mul_add, mul_assoc, mul_comm, add_assoc, add_comm, four_square_add_swap_right_tail]