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
∀ L. ∀ k. ∀ a. ∀ b. ∀ s. ∀ h. ∀ e. ContinuedFractionTrace(a,b,s,h,e,L) → Le(k,L) → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. ∃ i. ConvergentMatrixTrace(s,x,y,k,z,n,m,i)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 144 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 (4)
01Induction on LL1–9
02Establish hkzeroL10–13
03Establish hzL14–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent matrix empty exists.
- L14
have hz : ∃ H. ∃ E. ConvergentMatrixTrace(s,H,E,0,1,0,0,1)Definitions: ConvergentMatrixTrace(s,H,E,0,1,0,0,1)Original native command in the exact edition - L15
specialize cf_convergent_matrix_empty_exists (s) - L16
apply cf_convergent_matrix_empty_exists
04Separate the logical casesL17–18
05Construct an explicit witnessL19–24
06Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize cf_convergent_matrix_length_transport (s) - L26
specialize cf_convergent_matrix_length_transport (x) - L27
specialize cf_convergent_matrix_length_transport (x1) - L28
specialize cf_convergent_matrix_length_transport (0) - L29
specialize cf_convergent_matrix_length_transport (k) - L30
specialize cf_convergent_matrix_length_transport (1) - L31
specialize cf_convergent_matrix_length_transport (0) - L32
specialize cf_convergent_matrix_length_transport (0) - L33
specialize cf_convergent_matrix_length_transport (1) - L34
apply cf_convergent_matrix_length_transport
07Calculate and transport equalitiesL35–35
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L35
symm
08Use earlier factsL36–37
09Fix variables and assumptionsL38–45
10Establish hkcaseL46–48
11Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases hkcase
12Establish hzL50–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent matrix empty exists.
- L50
have hz : ∃ H. ∃ E. ConvergentMatrixTrace(s,H,E,0,1,0,0,1)Definitions: ConvergentMatrixTrace(s,H,E,0,1,0,0,1)Original native command in the exact edition - L51
specialize cf_convergent_matrix_empty_exists (s) - L52
apply cf_convergent_matrix_empty_exists
13Separate the logical casesL53–54
14Construct an explicit witnessL55–60
15Use earlier factsL61–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
specialize cf_convergent_matrix_length_transport (s) - L62
specialize cf_convergent_matrix_length_transport (x) - L63
specialize cf_convergent_matrix_length_transport (x1) - L64
specialize cf_convergent_matrix_length_transport (0) - L65
specialize cf_convergent_matrix_length_transport (k) - L66
specialize cf_convergent_matrix_length_transport (1) - L67
specialize cf_convergent_matrix_length_transport (0) - L68
specialize cf_convergent_matrix_length_transport (0) - L69
specialize cf_convergent_matrix_length_transport (1) - L70
apply cf_convergent_matrix_length_transport
16Calculate and transport equalitiesL71–71
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L71
symm
17Use earlier factsL72–73
18Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
cases hkcase_right
19Establish hpL75–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history successor elimination.
- L75
have hp : ∃ q. ∃ r. ∃ t. a = b · q + r ∧ (Lt(r,b) ∧ (ListCell(s,q,t) ∧ ContinuedFractionTrace(b,r,t,h,e,L)))Definitions: Lt(r,b)ListCell(s,q,t)ContinuedFractionTrace(b,r,t,h,e,L)Original native command in the exact edition - L76
specialize cf_convergent_old_history_successor_elimination (a) - L77
specialize cf_convergent_old_history_successor_elimination (b) - L78
specialize cf_convergent_old_history_successor_elimination (s) - L79
specialize cf_convergent_old_history_successor_elimination (h) - L80
specialize cf_convergent_old_history_successor_elimination (e) - L81
specialize cf_convergent_old_history_successor_elimination (L) - L82
apply cf_convergent_old_history_successor_elimination - L83
exact ht
20Separate the logical casesL84–89
21Establish hcL90–99
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L90
have hc : ∃ cfc_h_complete_child. ∃ cfc_e_complete_child. ∃ cfc_u_complete_child. ∃ cfc_U_complete_child. ∃ cfc_v_complete_child. ∃ cfc_V_complete_child. ConvergentMatrixTrace(x3,cfc_h_complete_child,cfc_e_complete_child,x,cfc_u_complete_child,cfc_U_complete_child,cfc_v_complete_child,cfc_V_complete_child)Definitions: ConvergentMatrixTrace(x3,cfc_h_complete_child,cfc_e_complete_child,x,cfc_u_complete_child,cfc_U_complete_child,cfc_v_complete_child,cfc_V_complete_child)Original native command in the exact edition - L91
specialize IH (x) - L92
specialize IH (b) - L93
specialize IH (x2) - L94
specialize IH (x3) - L95
specialize IH (h) - L96
specialize IH (e) - L97
apply IH - L98
exact hp_witness_witness_witness_right_right_right - L99
specialize le_of_succ_le_succ (x)
22Use earlier factsL100–101
23Calculate and transport equalitiesL102–102
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L102
rewrite <- hkcase_right_witness
24Use earlier factsL103–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L103
exact hk
25Separate the logical casesL104–109
26Establish hextL110–119
Establish this local claim before using it. It is not an additional assumption.
- L110
have hext : ∃ H. ∃ E. ConvergentMatrixTrace(s,H,E,S x,x1 · x6 + x8,x1 · x7 + x9,x6,x7)Definitions: ConvergentMatrixTrace(s,H,E,S x,x1 · x6 + x8,x1 · x7 + x9,x6,x7)Original native command in the exact edition - L111
specialize cf_convergent_matrix_prepend_exists (x3) - L112
specialize cf_convergent_matrix_prepend_exists (x4) - L113
specialize cf_convergent_matrix_prepend_exists (x5) - L114
specialize cf_convergent_matrix_prepend_exists (x) - L115
specialize cf_convergent_matrix_prepend_exists (x6) - L116
specialize cf_convergent_matrix_prepend_exists (x7) - L117
specialize cf_convergent_matrix_prepend_exists (x8) - L118
specialize cf_convergent_matrix_prepend_exists (x9) - L119
specialize cf_convergent_matrix_prepend_exists (x1)
27Use earlier factsL120–123
28Separate the logical casesL124–125
29Construct an explicit witnessL126–131
30Use earlier factsL132–141
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L132
specialize cf_convergent_matrix_length_transport (s) - L133
specialize cf_convergent_matrix_length_transport (x10) - L134
specialize cf_convergent_matrix_length_transport (x11) - L135
specialize cf_convergent_matrix_length_transport (S x) - L136
specialize cf_convergent_matrix_length_transport (k) - L137
specialize cf_convergent_matrix_length_transport (x1 * x6 + x8) - L138
specialize cf_convergent_matrix_length_transport (x1 * x7 + x9) - L139
specialize cf_convergent_matrix_length_transport (x6) - L140
specialize cf_convergent_matrix_length_transport (x7) - L141
apply cf_convergent_matrix_length_transport
31Calculate and transport equalitiesL142–142
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L142
symm
Original defined command ledger · 144 lines
- 0001
induction L - 0002
intro k - 0003
intro a - 0004
intro b - 0005
intro s - 0006
intro h - 0007
intro e - 0008
intro ht - 0009
intro hk - 0010
have hkzero : k = 0 - 0011
specialize le_zero (k) - 0012
apply le_zero - 0013
exact hk - 0014
have hz : ∃ H. ∃ E. ConvergentMatrixTrace(s,H,E,0,1,0,0,1) - 0015
specialize cf_convergent_matrix_empty_exists (s) - 0016
apply cf_convergent_matrix_empty_exists - 0017
cases hz - 0018
cases hz_witness - 0019
exists x - 0020
exists x1 - 0021
exists 1 - 0022
exists 0 - 0023
exists 0 - 0024
exists 1 - 0025
specialize cf_convergent_matrix_length_transport (s) - 0026
specialize cf_convergent_matrix_length_transport (x) - 0027
specialize cf_convergent_matrix_length_transport (x1) - 0028
specialize cf_convergent_matrix_length_transport (0) - 0029
specialize cf_convergent_matrix_length_transport (k) - 0030
specialize cf_convergent_matrix_length_transport (1) - 0031
specialize cf_convergent_matrix_length_transport (0) - 0032
specialize cf_convergent_matrix_length_transport (0) - 0033
specialize cf_convergent_matrix_length_transport (1) - 0034
apply cf_convergent_matrix_length_transport - 0035
symm - 0036
exact hkzero - 0037
exact hz_witness_witness - 0038
intro k - 0039
intro a - 0040
intro b - 0041
intro s - 0042
intro h - 0043
intro e - 0044
intro ht - 0045
intro hk - 0046
have hkcase : k = 0 \/ exists i. k = S i - 0047
specialize zero_or_succ (k) - 0048
apply zero_or_succ - 0049
cases hkcase - 0050
have hz : ∃ H. ∃ E. ConvergentMatrixTrace(s,H,E,0,1,0,0,1) - 0051
specialize cf_convergent_matrix_empty_exists (s) - 0052
apply cf_convergent_matrix_empty_exists - 0053
cases hz - 0054
cases hz_witness - 0055
exists x - 0056
exists x1 - 0057
exists 1 - 0058
exists 0 - 0059
exists 0 - 0060
exists 1 - 0061
specialize cf_convergent_matrix_length_transport (s) - 0062
specialize cf_convergent_matrix_length_transport (x) - 0063
specialize cf_convergent_matrix_length_transport (x1) - 0064
specialize cf_convergent_matrix_length_transport (0) - 0065
specialize cf_convergent_matrix_length_transport (k) - 0066
specialize cf_convergent_matrix_length_transport (1) - 0067
specialize cf_convergent_matrix_length_transport (0) - 0068
specialize cf_convergent_matrix_length_transport (0) - 0069
specialize cf_convergent_matrix_length_transport (1) - 0070
apply cf_convergent_matrix_length_transport - 0071
symm - 0072
exact hkcase_left - 0073
exact hz_witness_witness - 0074
cases hkcase_right - 0075
have hp : ∃ q. ∃ r. ∃ t. a = b · q + r ∧ (Lt(r,b) ∧ (ListCell(s,q,t) ∧ ContinuedFractionTrace(b,r,t,h,e,L))) - 0076
specialize cf_convergent_old_history_successor_elimination (a) - 0077
specialize cf_convergent_old_history_successor_elimination (b) - 0078
specialize cf_convergent_old_history_successor_elimination (s) - 0079
specialize cf_convergent_old_history_successor_elimination (h) - 0080
specialize cf_convergent_old_history_successor_elimination (e) - 0081
specialize cf_convergent_old_history_successor_elimination (L) - 0082
apply cf_convergent_old_history_successor_elimination - 0083
exact ht - 0084
cases hp - 0085
cases hp_witness - 0086
cases hp_witness_witness - 0087
cases hp_witness_witness_witness - 0088
cases hp_witness_witness_witness_right - 0089
cases hp_witness_witness_witness_right_right - 0090
have hc : ∃ cfc_h_complete_child. ∃ cfc_e_complete_child. ∃ cfc_u_complete_child. ∃ cfc_U_complete_child. ∃ cfc_v_complete_child. ∃ cfc_V_complete_child. ConvergentMatrixTrace(x3,cfc_h_complete_child,cfc_e_complete_child,x,cfc_u_complete_child,cfc_U_complete_child,cfc_v_complete_child,cfc_V_complete_child) - 0091
specialize IH (x) - 0092
specialize IH (b) - 0093
specialize IH (x2) - 0094
specialize IH (x3) - 0095
specialize IH (h) - 0096
specialize IH (e) - 0097
apply IH - 0098
exact hp_witness_witness_witness_right_right_right - 0099
specialize le_of_succ_le_succ (x) - 0100
specialize le_of_succ_le_succ (L) - 0101
apply le_of_succ_le_succ - 0102
rewrite <- hkcase_right_witness - 0103
exact hk - 0104
cases hc - 0105
cases hc_witness - 0106
cases hc_witness_witness - 0107
cases hc_witness_witness_witness - 0108
cases hc_witness_witness_witness_witness - 0109
cases hc_witness_witness_witness_witness_witness - 0110
have hext : ∃ H. ∃ E. ConvergentMatrixTrace(s,H,E,S x,x1 · x6 + x8,x1 · x7 + x9,x6,x7) - 0111
specialize cf_convergent_matrix_prepend_exists (x3) - 0112
specialize cf_convergent_matrix_prepend_exists (x4) - 0113
specialize cf_convergent_matrix_prepend_exists (x5) - 0114
specialize cf_convergent_matrix_prepend_exists (x) - 0115
specialize cf_convergent_matrix_prepend_exists (x6) - 0116
specialize cf_convergent_matrix_prepend_exists (x7) - 0117
specialize cf_convergent_matrix_prepend_exists (x8) - 0118
specialize cf_convergent_matrix_prepend_exists (x9) - 0119
specialize cf_convergent_matrix_prepend_exists (x1) - 0120
specialize cf_convergent_matrix_prepend_exists (s) - 0121
apply cf_convergent_matrix_prepend_exists - 0122
exact hc_witness_witness_witness_witness_witness_witness - 0123
exact hp_witness_witness_witness_right_right_left - 0124
cases hext - 0125
cases hext_witness - 0126
exists x10 - 0127
exists x11 - 0128
exists x1 * x6 + x8 - 0129
exists x1 * x7 + x9 - 0130
exists x6 - 0131
exists x7 - 0132
specialize cf_convergent_matrix_length_transport (s) - 0133
specialize cf_convergent_matrix_length_transport (x10) - 0134
specialize cf_convergent_matrix_length_transport (x11) - 0135
specialize cf_convergent_matrix_length_transport (S x) - 0136
specialize cf_convergent_matrix_length_transport (k) - 0137
specialize cf_convergent_matrix_length_transport (x1 * x6 + x8) - 0138
specialize cf_convergent_matrix_length_transport (x1 * x7 + x9) - 0139
specialize cf_convergent_matrix_length_transport (x6) - 0140
specialize cf_convergent_matrix_length_transport (x7) - 0141
apply cf_convergent_matrix_length_transport - 0142
symm - 0143
exact hkcase_right_witness - 0144
exact hext_witness_witness