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
∀ k. ∀ a. ∀ b. ∀ s. ∀ h. ∀ e. ∀ H. ∀ E. ∀ u. ∀ U. ∀ v. ∀ V. ContinuedFractionTrace(a,b,s,h,e,k) → ConvergentMatrixTrace(s,H,E,k,u,U,v,V) → a · v = b · u
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 127 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 (5)
01Induction on kL1–10
02Fix variables and assumptionsL11–14
03Establish hoL15–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history zero elimination.
- L15
have ho : b = 0 /\ s = 0 - L16
specialize cf_convergent_old_history_zero_elimination (a) - L17
specialize cf_convergent_old_history_zero_elimination (b) - L18
specialize cf_convergent_old_history_zero_elimination (s) - L19
specialize cf_convergent_old_history_zero_elimination (h) - L20
specialize cf_convergent_old_history_zero_elimination (e) - L21
apply cf_convergent_old_history_zero_elimination - L22
exact hold
04Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases ho
05Establish hmL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent matrix empty elimination.
- L24
have hm : ((u = 1) /\ ((U = 0) /\ ((v = 0) /\ (V = 1)))) - L25
specialize cf_convergent_matrix_empty_elimination (s) - L26
specialize cf_convergent_matrix_empty_elimination (H) - L27
specialize cf_convergent_matrix_empty_elimination (E) - L28
specialize cf_convergent_matrix_empty_elimination (u) - L29
specialize cf_convergent_matrix_empty_elimination (U) - L30
specialize cf_convergent_matrix_empty_elimination (v) - L31
specialize cf_convergent_matrix_empty_elimination (V) - L32
apply cf_convergent_matrix_empty_elimination - L33
exact hnew
06Separate the logical casesL34–36
07Calculate and transport equalitiesL37–40
08Fix variables and assumptionsL41–50
09Fix variables and assumptionsL51–53
10Establish haL54–63
Establish this local claim before using it. It is not an additional assumption.
- L54Definitions: Lt(cfc_r_exact_aligned,b)ContinuedFractionTrace(b,cfc_r_exact_aligned,cfc_tail_exact_aligned,h,e,cfc_length_exact_aligned)ConvergentMatrixTrace(cfc_tail_exact_aligned,H,E,k,cfc_p_exact_aligned,cfc_P_exact_aligned,cfc_n_exact_aligned,cfc_N_exact_aligned)Original native command in the exact edition
have ha · expand full local formula (754 characters)
have ha : ∃ cfc_r_exact_aligned. ∃ cfc_tail_exact_aligned. ∃ cfc_length_exact_aligned. ∃ cfc_q_exact_aligned. ∃ cfc_p_exact_aligned. ∃ cfc_P_exact_aligned. ∃ cfc_n_exact_aligned. ∃ cfc_N_exact_aligned. S k = S cfc_length_exact_aligned ∧ (a = b · cfc_q_exact_aligned + cfc_r_exact_aligned ∧ (Lt(cfc_r_exact_aligned,b) ∧ (ContinuedFractionTrace(b,cfc_r_exact_aligned,cfc_tail_exact_aligned,h,e,cfc_length_exact_aligned) ∧ (ConvergentMatrixTrace(cfc_tail_exact_aligned,H,E,k,cfc_p_exact_aligned,cfc_P_exact_aligned,cfc_n_exact_aligned,cfc_N_exact_aligned) ∧ (u = cfc_q_exact_aligned · cfc_p_exact_aligned + cfc_n_exact_aligned ∧ (U = cfc_q_exact_aligned · cfc_P_exact_aligned + cfc_N_exact_aligned ∧ (v = cfc_p_exact_aligned ∧ V = cfc_P_exact_aligned))))))) - L55
specialize cf_convergent_euclidean_matrix_step_alignment (a) - L56
specialize cf_convergent_euclidean_matrix_step_alignment (b) - L57
specialize cf_convergent_euclidean_matrix_step_alignment (s) - L58
specialize cf_convergent_euclidean_matrix_step_alignment (h) - L59
specialize cf_convergent_euclidean_matrix_step_alignment (e) - L60
specialize cf_convergent_euclidean_matrix_step_alignment (S k) - L61
specialize cf_convergent_euclidean_matrix_step_alignment (H) - L62
specialize cf_convergent_euclidean_matrix_step_alignment (E) - L63
specialize cf_convergent_euclidean_matrix_step_alignment (k)
11Use earlier factsL64–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
specialize cf_convergent_euclidean_matrix_step_alignment (u) - L65
specialize cf_convergent_euclidean_matrix_step_alignment (U) - L66
specialize cf_convergent_euclidean_matrix_step_alignment (v) - L67
specialize cf_convergent_euclidean_matrix_step_alignment (V) - L68
apply cf_convergent_euclidean_matrix_step_alignment - L69
exact hold - L70
exact hnew
12Separate the logical casesL71–80
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
cases ha - L72
cases ha_witness - L73
cases ha_witness_witness - L74
cases ha_witness_witness_witness - L75
cases ha_witness_witness_witness_witness - L76
cases ha_witness_witness_witness_witness_witness - L77
cases ha_witness_witness_witness_witness_witness_witness - L78
cases ha_witness_witness_witness_witness_witness_witness_witness - L79
cases ha_witness_witness_witness_witness_witness_witness_witness_witness - L80
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right
13Separate the logical casesL81–86
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L81
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right - L82
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - L83
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - L84
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - L85
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - L86
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right
14Establish hkL87–91
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ injective.
15Establish hvalueL92–101
16Use earlier factsL102–111
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L102
specialize IH (x6) - L103
specialize IH (x7) - L104
apply IH - L105
specialize cf_convergent_old_history_length_transport (b) - L106
specialize cf_convergent_old_history_length_transport (x) - L107
specialize cf_convergent_old_history_length_transport (x1) - L108
specialize cf_convergent_old_history_length_transport (h) - L109
specialize cf_convergent_old_history_length_transport (e) - L110
specialize cf_convergent_old_history_length_transport (x2) - L111
specialize cf_convergent_old_history_length_transport (k)
17Use earlier factsL112–112
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L112
apply cf_convergent_old_history_length_transport
18Calculate and transport equalitiesL113–113
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L113
symm
19Use earlier factsL114–116
20Calculate and transport equalitiesL117–118
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
21Use earlier factsL119–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
specialize cf_approximation_exact_value_prepend (a) - L120
specialize cf_approximation_exact_value_prepend (b) - L121
specialize cf_approximation_exact_value_prepend (x3) - L122
specialize cf_approximation_exact_value_prepend (x) - L123
specialize cf_approximation_exact_value_prepend (x4) - L124
specialize cf_approximation_exact_value_prepend (x6) - L125
apply cf_approximation_exact_value_prepend - L126
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L127
exact hvalue
Original defined command ledger · 127 lines
- 0001
induction k - 0002
intro a - 0003
intro b - 0004
intro s - 0005
intro h - 0006
intro e - 0007
intro H - 0008
intro E - 0009
intro u - 0010
intro U - 0011
intro v - 0012
intro V - 0013
intro hold - 0014
intro hnew - 0015
have ho : b = 0 /\ s = 0 - 0016
specialize cf_convergent_old_history_zero_elimination (a) - 0017
specialize cf_convergent_old_history_zero_elimination (b) - 0018
specialize cf_convergent_old_history_zero_elimination (s) - 0019
specialize cf_convergent_old_history_zero_elimination (h) - 0020
specialize cf_convergent_old_history_zero_elimination (e) - 0021
apply cf_convergent_old_history_zero_elimination - 0022
exact hold - 0023
cases ho - 0024
have hm : ((u = 1) /\ ((U = 0) /\ ((v = 0) /\ (V = 1)))) - 0025
specialize cf_convergent_matrix_empty_elimination (s) - 0026
specialize cf_convergent_matrix_empty_elimination (H) - 0027
specialize cf_convergent_matrix_empty_elimination (E) - 0028
specialize cf_convergent_matrix_empty_elimination (u) - 0029
specialize cf_convergent_matrix_empty_elimination (U) - 0030
specialize cf_convergent_matrix_empty_elimination (v) - 0031
specialize cf_convergent_matrix_empty_elimination (V) - 0032
apply cf_convergent_matrix_empty_elimination - 0033
exact hnew - 0034
cases hm - 0035
cases hm_right - 0036
cases hm_right_right - 0037
rewrite ho_left - 0038
rewrite hm_left - 0039
rewrite hm_right_right_left - 0040
simp - 0041
intro a - 0042
intro b - 0043
intro s - 0044
intro h - 0045
intro e - 0046
intro H - 0047
intro E - 0048
intro u - 0049
intro U - 0050
intro v - 0051
intro V - 0052
intro hold - 0053
intro hnew - 0054
have ha : ∃ cfc_r_exact_aligned. ∃ cfc_tail_exact_aligned. ∃ cfc_length_exact_aligned. ∃ cfc_q_exact_aligned. ∃ cfc_p_exact_aligned. ∃ cfc_P_exact_aligned. ∃ cfc_n_exact_aligned. ∃ cfc_N_exact_aligned. S k = S cfc_length_exact_aligned ∧ (a = b · cfc_q_exact_aligned + cfc_r_exact_aligned ∧ (Lt(cfc_r_exact_aligned,b) ∧ (ContinuedFractionTrace(b,cfc_r_exact_aligned,cfc_tail_exact_aligned,h,e,cfc_length_exact_aligned) ∧ (ConvergentMatrixTrace(cfc_tail_exact_aligned,H,E,k,cfc_p_exact_aligned,cfc_P_exact_aligned,cfc_n_exact_aligned,cfc_N_exact_aligned) ∧ (u = cfc_q_exact_aligned · cfc_p_exact_aligned + cfc_n_exact_aligned ∧ (U = cfc_q_exact_aligned · cfc_P_exact_aligned + cfc_N_exact_aligned ∧ (v = cfc_p_exact_aligned ∧ V = cfc_P_exact_aligned))))))) - 0055
specialize cf_convergent_euclidean_matrix_step_alignment (a) - 0056
specialize cf_convergent_euclidean_matrix_step_alignment (b) - 0057
specialize cf_convergent_euclidean_matrix_step_alignment (s) - 0058
specialize cf_convergent_euclidean_matrix_step_alignment (h) - 0059
specialize cf_convergent_euclidean_matrix_step_alignment (e) - 0060
specialize cf_convergent_euclidean_matrix_step_alignment (S k) - 0061
specialize cf_convergent_euclidean_matrix_step_alignment (H) - 0062
specialize cf_convergent_euclidean_matrix_step_alignment (E) - 0063
specialize cf_convergent_euclidean_matrix_step_alignment (k) - 0064
specialize cf_convergent_euclidean_matrix_step_alignment (u) - 0065
specialize cf_convergent_euclidean_matrix_step_alignment (U) - 0066
specialize cf_convergent_euclidean_matrix_step_alignment (v) - 0067
specialize cf_convergent_euclidean_matrix_step_alignment (V) - 0068
apply cf_convergent_euclidean_matrix_step_alignment - 0069
exact hold - 0070
exact hnew - 0071
cases ha - 0072
cases ha_witness - 0073
cases ha_witness_witness - 0074
cases ha_witness_witness_witness - 0075
cases ha_witness_witness_witness_witness - 0076
cases ha_witness_witness_witness_witness_witness - 0077
cases ha_witness_witness_witness_witness_witness_witness - 0078
cases ha_witness_witness_witness_witness_witness_witness_witness - 0079
cases ha_witness_witness_witness_witness_witness_witness_witness_witness - 0080
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right - 0081
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0082
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0083
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0084
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0085
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - 0086
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right - 0087
have hk : k = x2 - 0088
specialize succ_injective (k) - 0089
specialize succ_injective (x2) - 0090
apply succ_injective - 0091
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_left - 0092
have hvalue : b * x6 = x * x4 - 0093
specialize IH (b) - 0094
specialize IH (x) - 0095
specialize IH (x1) - 0096
specialize IH (h) - 0097
specialize IH (e) - 0098
specialize IH (H) - 0099
specialize IH (E) - 0100
specialize IH (x4) - 0101
specialize IH (x5) - 0102
specialize IH (x6) - 0103
specialize IH (x7) - 0104
apply IH - 0105
specialize cf_convergent_old_history_length_transport (b) - 0106
specialize cf_convergent_old_history_length_transport (x) - 0107
specialize cf_convergent_old_history_length_transport (x1) - 0108
specialize cf_convergent_old_history_length_transport (h) - 0109
specialize cf_convergent_old_history_length_transport (e) - 0110
specialize cf_convergent_old_history_length_transport (x2) - 0111
specialize cf_convergent_old_history_length_transport (k) - 0112
apply cf_convergent_old_history_length_transport - 0113
symm - 0114
exact hk - 0115
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0116
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0117
rewrite ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_left - 0118
rewrite ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0119
specialize cf_approximation_exact_value_prepend (a) - 0120
specialize cf_approximation_exact_value_prepend (b) - 0121
specialize cf_approximation_exact_value_prepend (x3) - 0122
specialize cf_approximation_exact_value_prepend (x) - 0123
specialize cf_approximation_exact_value_prepend (x4) - 0124
specialize cf_approximation_exact_value_prepend (x6) - 0125
apply cf_approximation_exact_value_prepend - 0126
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0127
exact hvalue