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. ∀ H. ∀ E. ∀ k. ∀ u. ∀ U. ∀ v. ∀ V. ContinuedFractionTrace(a,b,s,h,e,L) → ConvergentMatrixTrace(s,H,E,S k,u,U,v,V) → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. ∃ i. ∃ j. ∃ w. L = S z ∧ (a = b · n + x ∧ (Lt(x,b) ∧ (ContinuedFractionTrace(b,x,y,h,e,z) ∧ (ConvergentMatrixTrace(y,H,E,k,m,i,j,w) ∧ (u = n · m + j ∧ (U = n · i + w ∧ (v = m ∧ V = i)))))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 116 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)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Establish hnL16–25
Establish this local claim before using it. It is not an additional assumption.
- L16
have hn : ~(s = 0) - L17
intro hz - L18
specialize cf_convergent_matrix_nonempty_list (s) - L19
specialize cf_convergent_matrix_nonempty_list (H) - L20
specialize cf_convergent_matrix_nonempty_list (E) - L21
specialize cf_convergent_matrix_nonempty_list (k) - L22
specialize cf_convergent_matrix_nonempty_list (u) - L23
specialize cf_convergent_matrix_nonempty_list (U) - L24
specialize cf_convergent_matrix_nonempty_list (v) - L25
specialize cf_convergent_matrix_nonempty_list (V)
04Use earlier factsL26–28
05Establish hhL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history nonempty head.
- L29
have hh : ∃ cfc_q_alignment_head. ∃ cfc_r_alignment_head. ∃ cfc_tail_alignment_head. ∃ cfc_length_alignment_head. L = S cfc_length_alignment_head ∧ (a = b · cfc_q_alignment_head + cfc_r_alignment_head ∧ (Lt(cfc_r_alignment_head,b) ∧ (ListCell(s,cfc_q_alignment_head,cfc_tail_alignment_head) ∧ ContinuedFractionTrace(b,cfc_r_alignment_head,cfc_tail_alignment_head,h,e,cfc_length_alignment_head))))Definitions: Lt(cfc_r_alignment_head,b)ListCell(s,cfc_q_alignment_head,cfc_tail_alignment_head)ContinuedFractionTrace(b,cfc_r_alignment_head,cfc_tail_alignment_head,h,e,cfc_length_alignment_head)Original native command in the exact edition - L30
specialize cf_convergent_old_history_nonempty_head (a) - L31
specialize cf_convergent_old_history_nonempty_head (b) - L32
specialize cf_convergent_old_history_nonempty_head (s) - L33
specialize cf_convergent_old_history_nonempty_head (h) - L34
specialize cf_convergent_old_history_nonempty_head (e) - L35
specialize cf_convergent_old_history_nonempty_head (L) - L36
apply cf_convergent_old_history_nonempty_head - L37
exact hold - L38
exact hn
06Separate the logical casesL39–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
cases hh - L40
cases hh_witness - L41
cases hh_witness_witness - L42
cases hh_witness_witness_witness - L43
cases hh_witness_witness_witness_witness - L44
cases hh_witness_witness_witness_witness_right - L45
cases hh_witness_witness_witness_witness_right_right - L46
cases hh_witness_witness_witness_witness_right_right_right
07Establish hmL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent matrix successor elimination.
- L47Definitions: ConvergentMatrixTrace(cfc_tail_alignment_matrix,H,E,k,cfc_a_alignment_matrix,cfc_b_alignment_matrix,cfc_c_alignment_matrix,cfc_d_alignment_matrix)ListCell(s,cfc_q_alignment_matrix,cfc_tail_alignment_matrix)Original native command in the exact edition
have hm · expand full local formula (602 characters)
have hm : ∃ cfc_tail_alignment_matrix. ∃ cfc_a_alignment_matrix. ∃ cfc_b_alignment_matrix. ∃ cfc_c_alignment_matrix. ∃ cfc_d_alignment_matrix. ∃ cfc_q_alignment_matrix. ConvergentMatrixTrace(cfc_tail_alignment_matrix,H,E,k,cfc_a_alignment_matrix,cfc_b_alignment_matrix,cfc_c_alignment_matrix,cfc_d_alignment_matrix) ∧ (ListCell(s,cfc_q_alignment_matrix,cfc_tail_alignment_matrix) ∧ (u = cfc_q_alignment_matrix · cfc_a_alignment_matrix + cfc_c_alignment_matrix ∧ (U = cfc_q_alignment_matrix · cfc_b_alignment_matrix + cfc_d_alignment_matrix ∧ (v = cfc_a_alignment_matrix ∧ V = cfc_b_alignment_matrix)))) - L48
specialize cf_convergent_matrix_successor_elimination (s) - L49
specialize cf_convergent_matrix_successor_elimination (H) - L50
specialize cf_convergent_matrix_successor_elimination (E) - L51
specialize cf_convergent_matrix_successor_elimination (k) - L52
specialize cf_convergent_matrix_successor_elimination (u) - L53
specialize cf_convergent_matrix_successor_elimination (U) - L54
specialize cf_convergent_matrix_successor_elimination (v) - L55
specialize cf_convergent_matrix_successor_elimination (V) - L56
apply cf_convergent_matrix_successor_elimination
08Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hnew
09Separate the logical casesL58–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
cases hm - L59
cases hm_witness - L60
cases hm_witness_witness - L61
cases hm_witness_witness_witness - L62
cases hm_witness_witness_witness_witness - L63
cases hm_witness_witness_witness_witness_witness - L64
cases hm_witness_witness_witness_witness_witness_witness - L65
cases hm_witness_witness_witness_witness_witness_witness_right - L66
cases hm_witness_witness_witness_witness_witness_witness_right_right - L67
cases hm_witness_witness_witness_witness_witness_witness_right_right_right
10Separate the logical casesL68–68
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L68
cases hm_witness_witness_witness_witness_witness_witness_right_right_right_right
11Establish heqL69–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cell functional.
- L69
have heq : x = x9 /\ x2 = x4 - L70
specialize cell_functional (s) - L71
specialize cell_functional (x) - L72
specialize cell_functional (x2) - L73
specialize cell_functional (x9) - L74
specialize cell_functional (x4) - L75
apply cell_functional - L76
exact hh_witness_witness_witness_witness_right_right_right_left - L77
exact hm_witness_witness_witness_witness_witness_witness_right_left
12Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases heq
13Construct an explicit witnessL79–86
14Separate the logical casesL87–87
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L87
split
15Use earlier factsL88–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
exact hh_witness_witness_witness_witness_left
16Separate the logical casesL89–89
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L89
split
17Calculate and transport equalitiesL90–90
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L90
rewrite <- heq_left
18Use earlier factsL91–91
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L91
exact hh_witness_witness_witness_witness_right_left
19Separate the logical casesL92–92
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L92
split
20Use earlier factsL93–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L93
exact hh_witness_witness_witness_witness_right_right_left
21Separate the logical casesL94–94
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L94
split
22Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
exact hh_witness_witness_witness_witness_right_right_right_right
23Separate the logical casesL96–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L96
split
24Use earlier factsL97–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
specialize cf_convergent_matrix_list_transport (x4) - L98
specialize cf_convergent_matrix_list_transport (x2) - L99
specialize cf_convergent_matrix_list_transport (H) - L100
specialize cf_convergent_matrix_list_transport (E) - L101
specialize cf_convergent_matrix_list_transport (k) - L102
specialize cf_convergent_matrix_list_transport (x5) - L103
specialize cf_convergent_matrix_list_transport (x6) - L104
specialize cf_convergent_matrix_list_transport (x7) - L105
specialize cf_convergent_matrix_list_transport (x8) - L106
apply cf_convergent_matrix_list_transport
25Calculate and transport equalitiesL107–107
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L107
symm
26Use earlier factsL108–109
27Separate the logical casesL110–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L110
split
28Use earlier factsL111–111
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L111
exact hm_witness_witness_witness_witness_witness_witness_right_right_left
29Separate the logical casesL112–112
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L112
split
30Use earlier factsL113–113
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L113
exact hm_witness_witness_witness_witness_witness_witness_right_right_right_left
31Separate the logical casesL114–114
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L114
split
Original defined command ledger · 116 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro h - 0005
intro e - 0006
intro L - 0007
intro H - 0008
intro E - 0009
intro k - 0010
intro u - 0011
intro U - 0012
intro v - 0013
intro V - 0014
intro hold - 0015
intro hnew - 0016
have hn : ~(s = 0) - 0017
intro hz - 0018
specialize cf_convergent_matrix_nonempty_list (s) - 0019
specialize cf_convergent_matrix_nonempty_list (H) - 0020
specialize cf_convergent_matrix_nonempty_list (E) - 0021
specialize cf_convergent_matrix_nonempty_list (k) - 0022
specialize cf_convergent_matrix_nonempty_list (u) - 0023
specialize cf_convergent_matrix_nonempty_list (U) - 0024
specialize cf_convergent_matrix_nonempty_list (v) - 0025
specialize cf_convergent_matrix_nonempty_list (V) - 0026
apply cf_convergent_matrix_nonempty_list - 0027
exact hnew - 0028
exact hz - 0029
have hh : ∃ cfc_q_alignment_head. ∃ cfc_r_alignment_head. ∃ cfc_tail_alignment_head. ∃ cfc_length_alignment_head. L = S cfc_length_alignment_head ∧ (a = b · cfc_q_alignment_head + cfc_r_alignment_head ∧ (Lt(cfc_r_alignment_head,b) ∧ (ListCell(s,cfc_q_alignment_head,cfc_tail_alignment_head) ∧ ContinuedFractionTrace(b,cfc_r_alignment_head,cfc_tail_alignment_head,h,e,cfc_length_alignment_head)))) - 0030
specialize cf_convergent_old_history_nonempty_head (a) - 0031
specialize cf_convergent_old_history_nonempty_head (b) - 0032
specialize cf_convergent_old_history_nonempty_head (s) - 0033
specialize cf_convergent_old_history_nonempty_head (h) - 0034
specialize cf_convergent_old_history_nonempty_head (e) - 0035
specialize cf_convergent_old_history_nonempty_head (L) - 0036
apply cf_convergent_old_history_nonempty_head - 0037
exact hold - 0038
exact hn - 0039
cases hh - 0040
cases hh_witness - 0041
cases hh_witness_witness - 0042
cases hh_witness_witness_witness - 0043
cases hh_witness_witness_witness_witness - 0044
cases hh_witness_witness_witness_witness_right - 0045
cases hh_witness_witness_witness_witness_right_right - 0046
cases hh_witness_witness_witness_witness_right_right_right - 0047
have hm : ∃ cfc_tail_alignment_matrix. ∃ cfc_a_alignment_matrix. ∃ cfc_b_alignment_matrix. ∃ cfc_c_alignment_matrix. ∃ cfc_d_alignment_matrix. ∃ cfc_q_alignment_matrix. ConvergentMatrixTrace(cfc_tail_alignment_matrix,H,E,k,cfc_a_alignment_matrix,cfc_b_alignment_matrix,cfc_c_alignment_matrix,cfc_d_alignment_matrix) ∧ (ListCell(s,cfc_q_alignment_matrix,cfc_tail_alignment_matrix) ∧ (u = cfc_q_alignment_matrix · cfc_a_alignment_matrix + cfc_c_alignment_matrix ∧ (U = cfc_q_alignment_matrix · cfc_b_alignment_matrix + cfc_d_alignment_matrix ∧ (v = cfc_a_alignment_matrix ∧ V = cfc_b_alignment_matrix)))) - 0048
specialize cf_convergent_matrix_successor_elimination (s) - 0049
specialize cf_convergent_matrix_successor_elimination (H) - 0050
specialize cf_convergent_matrix_successor_elimination (E) - 0051
specialize cf_convergent_matrix_successor_elimination (k) - 0052
specialize cf_convergent_matrix_successor_elimination (u) - 0053
specialize cf_convergent_matrix_successor_elimination (U) - 0054
specialize cf_convergent_matrix_successor_elimination (v) - 0055
specialize cf_convergent_matrix_successor_elimination (V) - 0056
apply cf_convergent_matrix_successor_elimination - 0057
exact hnew - 0058
cases hm - 0059
cases hm_witness - 0060
cases hm_witness_witness - 0061
cases hm_witness_witness_witness - 0062
cases hm_witness_witness_witness_witness - 0063
cases hm_witness_witness_witness_witness_witness - 0064
cases hm_witness_witness_witness_witness_witness_witness - 0065
cases hm_witness_witness_witness_witness_witness_witness_right - 0066
cases hm_witness_witness_witness_witness_witness_witness_right_right - 0067
cases hm_witness_witness_witness_witness_witness_witness_right_right_right - 0068
cases hm_witness_witness_witness_witness_witness_witness_right_right_right_right - 0069
have heq : x = x9 /\ x2 = x4 - 0070
specialize cell_functional (s) - 0071
specialize cell_functional (x) - 0072
specialize cell_functional (x2) - 0073
specialize cell_functional (x9) - 0074
specialize cell_functional (x4) - 0075
apply cell_functional - 0076
exact hh_witness_witness_witness_witness_right_right_right_left - 0077
exact hm_witness_witness_witness_witness_witness_witness_right_left - 0078
cases heq - 0079
exists x1 - 0080
exists x2 - 0081
exists x3 - 0082
exists x9 - 0083
exists x5 - 0084
exists x6 - 0085
exists x7 - 0086
exists x8 - 0087
split - 0088
exact hh_witness_witness_witness_witness_left - 0089
split - 0090
rewrite <- heq_left - 0091
exact hh_witness_witness_witness_witness_right_left - 0092
split - 0093
exact hh_witness_witness_witness_witness_right_right_left - 0094
split - 0095
exact hh_witness_witness_witness_witness_right_right_right_right - 0096
split - 0097
specialize cf_convergent_matrix_list_transport (x4) - 0098
specialize cf_convergent_matrix_list_transport (x2) - 0099
specialize cf_convergent_matrix_list_transport (H) - 0100
specialize cf_convergent_matrix_list_transport (E) - 0101
specialize cf_convergent_matrix_list_transport (k) - 0102
specialize cf_convergent_matrix_list_transport (x5) - 0103
specialize cf_convergent_matrix_list_transport (x6) - 0104
specialize cf_convergent_matrix_list_transport (x7) - 0105
specialize cf_convergent_matrix_list_transport (x8) - 0106
apply cf_convergent_matrix_list_transport - 0107
symm - 0108
exact heq_right - 0109
exact hm_witness_witness_witness_witness_witness_witness_left - 0110
split - 0111
exact hm_witness_witness_witness_witness_witness_witness_right_right_left - 0112
split - 0113
exact hm_witness_witness_witness_witness_witness_witness_right_right_right_left - 0114
split - 0115
exact hm_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0116
exact hm_witness_witness_witness_witness_witness_witness_right_right_right_right_right