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
∀ s. ∀ h. ∀ e. ∀ k. ∀ u. ∀ U. ∀ v. ∀ V. ConvergentMatrixTrace(s,h,e,S k,u,U,v,V) → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. ∃ i. ConvergentMatrixTrace(x,h,e,k,y,z,n,m) ∧ (ListCell(s,i,x) ∧ (u = i · y + n ∧ (U = i · z + m ∧ (v = y ∧ V = z))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 80 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 (1)
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–12
03Establish hsL13–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply ht witness right right.
- L13Definitions: ConvergentMatrixAt(h,e,k,cfc_old_matrix_last_step,cfc_a_matrix_last_step,cfc_b_matrix_last_step,cfc_c_matrix_last_step,cfc_d_matrix_last_step)ConvergentMatrixAt(h,e,S k,cfc_new_matrix_last_step,cfc_q_matrix_last_step · cfc_a_matrix_last_step + cfc_c_matrix_last_step,cfc_q_matrix_last_step · cfc_b_matrix_last_step + cfc_d_matrix_last_step,cfc_a_matrix_last_step,cfc_b_matrix_last_step)ListCell(cfc_new_matrix_last_step,cfc_q_matrix_last_step,cfc_old_matrix_last_step)Original native command in the exact edition
have hs · expand full local formula (672 characters)
have hs : ∃ cfc_old_matrix_last_step. ∃ cfc_a_matrix_last_step. ∃ cfc_b_matrix_last_step. ∃ cfc_c_matrix_last_step. ∃ cfc_d_matrix_last_step. ∃ cfc_new_matrix_last_step. ∃ cfc_q_matrix_last_step. ConvergentMatrixAt(h,e,k,cfc_old_matrix_last_step,cfc_a_matrix_last_step,cfc_b_matrix_last_step,cfc_c_matrix_last_step,cfc_d_matrix_last_step) ∧ (ConvergentMatrixAt(h,e,S k,cfc_new_matrix_last_step,cfc_q_matrix_last_step · cfc_a_matrix_last_step + cfc_c_matrix_last_step,cfc_q_matrix_last_step · cfc_b_matrix_last_step + cfc_d_matrix_last_step,cfc_a_matrix_last_step,cfc_b_matrix_last_step) ∧ ListCell(cfc_new_matrix_last_step,cfc_q_matrix_last_step,cfc_old_matrix_last_step)) - L14
specialize ht_witness_right_right (k) - L15
apply ht_witness_right_right
04Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists 0
05Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply zero_add
06Separate the logical casesL18–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hs - L19
cases hs_witness - L20
cases hs_witness_witness - L21
cases hs_witness_witness_witness - L22
cases hs_witness_witness_witness_witness - L23
cases hs_witness_witness_witness_witness_witness - L24
cases hs_witness_witness_witness_witness_witness_witness - L25
cases hs_witness_witness_witness_witness_witness_witness_witness - L26
cases hs_witness_witness_witness_witness_witness_witness_witness_right
07Establish heqL27–36
Establish this local claim before using it. It is not an additional assumption.
- L27
have heq : ((s = x6) /\ ((u = x7 * x2 + x4) /\ ((U = x7 * x3 + x5) /\ ((v = x2) /\ (V = x3))))) - L28
specialize cf_convergent_matrix_state_unique (h) - L29
specialize cf_convergent_matrix_state_unique (e) - L30
specialize cf_convergent_matrix_state_unique (S k) - L31
specialize cf_convergent_matrix_state_unique (s) - L32
specialize cf_convergent_matrix_state_unique (u) - L33
specialize cf_convergent_matrix_state_unique (U) - L34
specialize cf_convergent_matrix_state_unique (v) - L35
specialize cf_convergent_matrix_state_unique (V) - L36
specialize cf_convergent_matrix_state_unique (x6)
08Use earlier factsL37–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
specialize cf_convergent_matrix_state_unique (x7 * x2 + x4) - L38
specialize cf_convergent_matrix_state_unique (x7 * x3 + x5) - L39
specialize cf_convergent_matrix_state_unique (x2) - L40
specialize cf_convergent_matrix_state_unique (x3) - L41
apply cf_convergent_matrix_state_unique - L42
exact ht_witness_right_left - L43
exact hs_witness_witness_witness_witness_witness_witness_witness_right_left
09Separate the logical casesL44–47
10Construct an explicit witnessL48–53
11Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
split
12Construct an explicit witnessL55–55
Supply the displayed value, then prove that it has the required property.
- L55
exists x
13Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
14Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact ht_witness_left
15Separate the logical casesL58–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
split
16Use earlier factsL59–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact hs_witness_witness_witness_witness_witness_witness_witness_left
17Fix variables and assumptionsL60–61
18Use earlier factsL62–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
19Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
20Calculate and transport equalitiesL72–72
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L72
rewrite heq_left
21Use earlier factsL73–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L73
exact hs_witness_witness_witness_witness_witness_witness_witness_right_right
22Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
split
23Use earlier factsL75–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
exact heq_right_left
24Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
split
25Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact heq_right_right_left
26Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
split
Original defined command ledger · 80 lines
- 0001
intro s - 0002
intro h - 0003
intro e - 0004
intro k - 0005
intro u - 0006
intro U - 0007
intro v - 0008
intro V - 0009
intro ht - 0010
cases ht - 0011
cases ht_witness - 0012
cases ht_witness_right - 0013
have hs : ∃ cfc_old_matrix_last_step. ∃ cfc_a_matrix_last_step. ∃ cfc_b_matrix_last_step. ∃ cfc_c_matrix_last_step. ∃ cfc_d_matrix_last_step. ∃ cfc_new_matrix_last_step. ∃ cfc_q_matrix_last_step. ConvergentMatrixAt(h,e,k,cfc_old_matrix_last_step,cfc_a_matrix_last_step,cfc_b_matrix_last_step,cfc_c_matrix_last_step,cfc_d_matrix_last_step) ∧ (ConvergentMatrixAt(h,e,S k,cfc_new_matrix_last_step,cfc_q_matrix_last_step · cfc_a_matrix_last_step + cfc_c_matrix_last_step,cfc_q_matrix_last_step · cfc_b_matrix_last_step + cfc_d_matrix_last_step,cfc_a_matrix_last_step,cfc_b_matrix_last_step) ∧ ListCell(cfc_new_matrix_last_step,cfc_q_matrix_last_step,cfc_old_matrix_last_step)) - 0014
specialize ht_witness_right_right (k) - 0015
apply ht_witness_right_right - 0016
exists 0 - 0017
apply zero_add - 0018
cases hs - 0019
cases hs_witness - 0020
cases hs_witness_witness - 0021
cases hs_witness_witness_witness - 0022
cases hs_witness_witness_witness_witness - 0023
cases hs_witness_witness_witness_witness_witness - 0024
cases hs_witness_witness_witness_witness_witness_witness - 0025
cases hs_witness_witness_witness_witness_witness_witness_witness - 0026
cases hs_witness_witness_witness_witness_witness_witness_witness_right - 0027
have heq : ((s = x6) /\ ((u = x7 * x2 + x4) /\ ((U = x7 * x3 + x5) /\ ((v = x2) /\ (V = x3))))) - 0028
specialize cf_convergent_matrix_state_unique (h) - 0029
specialize cf_convergent_matrix_state_unique (e) - 0030
specialize cf_convergent_matrix_state_unique (S k) - 0031
specialize cf_convergent_matrix_state_unique (s) - 0032
specialize cf_convergent_matrix_state_unique (u) - 0033
specialize cf_convergent_matrix_state_unique (U) - 0034
specialize cf_convergent_matrix_state_unique (v) - 0035
specialize cf_convergent_matrix_state_unique (V) - 0036
specialize cf_convergent_matrix_state_unique (x6) - 0037
specialize cf_convergent_matrix_state_unique (x7 * x2 + x4) - 0038
specialize cf_convergent_matrix_state_unique (x7 * x3 + x5) - 0039
specialize cf_convergent_matrix_state_unique (x2) - 0040
specialize cf_convergent_matrix_state_unique (x3) - 0041
apply cf_convergent_matrix_state_unique - 0042
exact ht_witness_right_left - 0043
exact hs_witness_witness_witness_witness_witness_witness_witness_right_left - 0044
cases heq - 0045
cases heq_right - 0046
cases heq_right_right - 0047
cases heq_right_right_right - 0048
exists x1 - 0049
exists x2 - 0050
exists x3 - 0051
exists x4 - 0052
exists x5 - 0053
exists x7 - 0054
split - 0055
exists x - 0056
split - 0057
exact ht_witness_left - 0058
split - 0059
exact hs_witness_witness_witness_witness_witness_witness_witness_left - 0060
intro j - 0061
intro hj - 0062
specialize ht_witness_right_right (j) - 0063
apply ht_witness_right_right - 0064
specialize lt_of_lt_of_le (j) - 0065
specialize lt_of_lt_of_le (k) - 0066
specialize lt_of_lt_of_le (S k) - 0067
apply lt_of_lt_of_le - 0068
exact hj - 0069
specialize le_succ_self (k) - 0070
apply le_succ_self - 0071
split - 0072
rewrite heq_left - 0073
exact hs_witness_witness_witness_witness_witness_witness_witness_right_right - 0074
split - 0075
exact heq_right_left - 0076
split - 0077
exact heq_right_right_left - 0078
split - 0079
exact heq_right_right_right_left - 0080
exact heq_right_right_right_right