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. ∀ s. ∀ h. ∀ e. ∀ L. ContinuedFractionTrace(a,b,s,h,e,L) → ¬s = 0 → ∃ x. ∃ y. ∃ z. ∃ n. L = S n ∧ (a = b · x + y ∧ (Lt(y,b) ∧ (ListCell(s,x,z) ∧ ContinuedFractionTrace(b,y,z,h,e,n))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 75 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.
Named ingredients (3)
01Fix variables and assumptionsL1–8
02Establish hlL9–11
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hl
04Establish hzL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history length transport.
- L13
have hz : ContinuedFractionTrace(a,b,s,h,e,0)Definitions: ContinuedFractionTrace(a,b,s,h,e,0)Original native command in the exact edition - L14
specialize cf_convergent_old_history_length_transport (a) - L15
specialize cf_convergent_old_history_length_transport (b) - L16
specialize cf_convergent_old_history_length_transport (s) - L17
specialize cf_convergent_old_history_length_transport (h) - L18
specialize cf_convergent_old_history_length_transport (e) - L19
specialize cf_convergent_old_history_length_transport (L) - L20
specialize cf_convergent_old_history_length_transport (0) - L21
apply cf_convergent_old_history_length_transport - L22
exact hl_left
05Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact ht
06Establish heL24–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history zero elimination.
- L24
have he : b = 0 /\ s = 0 - L25
specialize cf_convergent_old_history_zero_elimination (a) - L26
specialize cf_convergent_old_history_zero_elimination (b) - L27
specialize cf_convergent_old_history_zero_elimination (s) - L28
specialize cf_convergent_old_history_zero_elimination (h) - L29
specialize cf_convergent_old_history_zero_elimination (e) - L30
apply cf_convergent_old_history_zero_elimination - L31
exact hz
07Separate the logical casesL32–33
08Use earlier factsL34–35
09Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hl_right
10Establish hhL37–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history length transport.
- L37
have hh : ContinuedFractionTrace(a,b,s,h,e,S x)Definitions: ContinuedFractionTrace(a,b,s,h,e,S x)Original native command in the exact edition - L38
specialize cf_convergent_old_history_length_transport (a) - L39
specialize cf_convergent_old_history_length_transport (b) - L40
specialize cf_convergent_old_history_length_transport (s) - L41
specialize cf_convergent_old_history_length_transport (h) - L42
specialize cf_convergent_old_history_length_transport (e) - L43
specialize cf_convergent_old_history_length_transport (L) - L44
specialize cf_convergent_old_history_length_transport (S x) - L45
apply cf_convergent_old_history_length_transport - L46
exact hl_right_witness
11Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact ht
12Establish hpL48–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history successor elimination.
- L48
have hp : ∃ q. ∃ r. ∃ t. a = b · q + r ∧ (Lt(r,b) ∧ (ListCell(s,q,t) ∧ ContinuedFractionTrace(b,r,t,h,e,x)))Definitions: Lt(r,b)ListCell(s,q,t)ContinuedFractionTrace(b,r,t,h,e,x)Original native command in the exact edition - L49
specialize cf_convergent_old_history_successor_elimination (a) - L50
specialize cf_convergent_old_history_successor_elimination (b) - L51
specialize cf_convergent_old_history_successor_elimination (s) - L52
specialize cf_convergent_old_history_successor_elimination (h) - L53
specialize cf_convergent_old_history_successor_elimination (e) - L54
specialize cf_convergent_old_history_successor_elimination (x) - L55
apply cf_convergent_old_history_successor_elimination - L56
exact hh
13Separate the logical casesL57–62
14Construct an explicit witnessL63–66
15Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
16Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hl_right_witness
17Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
18Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hp_witness_witness_witness_left
19Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
20Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact hp_witness_witness_witness_right_left
21Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
Original defined command ledger · 75 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro h - 0005
intro e - 0006
intro L - 0007
intro ht - 0008
intro hn - 0009
have hl : L = 0 \/ exists k. L = S k - 0010
specialize zero_or_succ (L) - 0011
apply zero_or_succ - 0012
cases hl - 0013
have hz : ContinuedFractionTrace(a,b,s,h,e,0) - 0014
specialize cf_convergent_old_history_length_transport (a) - 0015
specialize cf_convergent_old_history_length_transport (b) - 0016
specialize cf_convergent_old_history_length_transport (s) - 0017
specialize cf_convergent_old_history_length_transport (h) - 0018
specialize cf_convergent_old_history_length_transport (e) - 0019
specialize cf_convergent_old_history_length_transport (L) - 0020
specialize cf_convergent_old_history_length_transport (0) - 0021
apply cf_convergent_old_history_length_transport - 0022
exact hl_left - 0023
exact ht - 0024
have he : b = 0 /\ s = 0 - 0025
specialize cf_convergent_old_history_zero_elimination (a) - 0026
specialize cf_convergent_old_history_zero_elimination (b) - 0027
specialize cf_convergent_old_history_zero_elimination (s) - 0028
specialize cf_convergent_old_history_zero_elimination (h) - 0029
specialize cf_convergent_old_history_zero_elimination (e) - 0030
apply cf_convergent_old_history_zero_elimination - 0031
exact hz - 0032
cases he - 0033
exfalso - 0034
apply hn - 0035
exact he_right - 0036
cases hl_right - 0037
have hh : ContinuedFractionTrace(a,b,s,h,e,S x) - 0038
specialize cf_convergent_old_history_length_transport (a) - 0039
specialize cf_convergent_old_history_length_transport (b) - 0040
specialize cf_convergent_old_history_length_transport (s) - 0041
specialize cf_convergent_old_history_length_transport (h) - 0042
specialize cf_convergent_old_history_length_transport (e) - 0043
specialize cf_convergent_old_history_length_transport (L) - 0044
specialize cf_convergent_old_history_length_transport (S x) - 0045
apply cf_convergent_old_history_length_transport - 0046
exact hl_right_witness - 0047
exact ht - 0048
have hp : ∃ q. ∃ r. ∃ t. a = b · q + r ∧ (Lt(r,b) ∧ (ListCell(s,q,t) ∧ ContinuedFractionTrace(b,r,t,h,e,x))) - 0049
specialize cf_convergent_old_history_successor_elimination (a) - 0050
specialize cf_convergent_old_history_successor_elimination (b) - 0051
specialize cf_convergent_old_history_successor_elimination (s) - 0052
specialize cf_convergent_old_history_successor_elimination (h) - 0053
specialize cf_convergent_old_history_successor_elimination (e) - 0054
specialize cf_convergent_old_history_successor_elimination (x) - 0055
apply cf_convergent_old_history_successor_elimination - 0056
exact hh - 0057
cases hp - 0058
cases hp_witness - 0059
cases hp_witness_witness - 0060
cases hp_witness_witness_witness - 0061
cases hp_witness_witness_witness_right - 0062
cases hp_witness_witness_witness_right_right - 0063
exists x1 - 0064
exists x2 - 0065
exists x3 - 0066
exists x - 0067
split - 0068
exact hl_right_witness - 0069
split - 0070
exact hp_witness_witness_witness_left - 0071
split - 0072
exact hp_witness_witness_witness_right_left - 0073
split - 0074
exact hp_witness_witness_witness_right_right_left - 0075
exact hp_witness_witness_witness_right_right_right