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. ∀ i. ∀ u. ∀ v. ∀ p. ∀ q. ContinuedFraction(a,b,s) → Convergent(s,S i,u,v) → Convergent(s,i,p,q) → u · q + 1 = p · v ∨ p · v + 1 = u · q
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 91 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–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hv
03Separate the logical casesL12–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hcf - L13
cases hcf_witness - L14
cases hcf_witness_witness - L15
cases hcf_witness_witness_witness - L16
cases hcf_witness_witness_witness_witness - L17
cases hcf_witness_witness_witness_witness_witness - L18
cases hcf_witness_witness_witness_witness_witness_right - L19
cases hc - L20
cases hc_witness - L21
cases hc_witness_witness
04Separate the logical casesL22–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
05Establish hpL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent second column is previous prefix.
- L29
have hp : ∃ cfc_h_adjacent_identification. ∃ cfc_e_adjacent_identification. ∃ cfc_p_adjacent_identification. ∃ cfc_q_adjacent_identification. ConvergentMatrixTrace(s,cfc_h_adjacent_identification,cfc_e_adjacent_identification,S i,x5,cfc_p_adjacent_identification,x6,cfc_q_adjacent_identification)Definitions: ConvergentMatrixTrace(s,cfc_h_adjacent_identification,cfc_e_adjacent_identification,S i,x5,cfc_p_adjacent_identification,x6,cfc_q_adjacent_identification)Original native command in the exact edition - L30
specialize cf_convergent_second_column_is_previous_prefix (S i) - L31
specialize cf_convergent_second_column_is_previous_prefix (s) - L32
specialize cf_convergent_second_column_is_previous_prefix (x7) - L33
specialize cf_convergent_second_column_is_previous_prefix (x8) - L34
specialize cf_convergent_second_column_is_previous_prefix (u) - L35
specialize cf_convergent_second_column_is_previous_prefix (x5) - L36
specialize cf_convergent_second_column_is_previous_prefix (v) - L37
specialize cf_convergent_second_column_is_previous_prefix (x6) - L38
apply cf_convergent_second_column_is_previous_prefix
06Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hc_witness_witness_witness_witness_right
07Separate the logical casesL40–43
08Establish heqL44–53
Establish this local claim before using it. It is not an additional assumption.
- L44
have heq : ((p = x5) /\ ((x9 = x15) /\ ((q = x6) /\ (x10 = x16)))) - L45
specialize cf_convergent_matrix_prefix_functional (S i) - L46
specialize cf_convergent_matrix_prefix_functional (s) - L47
specialize cf_convergent_matrix_prefix_functional (x11) - L48
specialize cf_convergent_matrix_prefix_functional (x12) - L49
specialize cf_convergent_matrix_prefix_functional (x13) - L50
specialize cf_convergent_matrix_prefix_functional (x14) - L51
specialize cf_convergent_matrix_prefix_functional (p) - L52
specialize cf_convergent_matrix_prefix_functional (x9) - L53
specialize cf_convergent_matrix_prefix_functional (q)
09Use earlier factsL54–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize cf_convergent_matrix_prefix_functional (x10) - L55
specialize cf_convergent_matrix_prefix_functional (x5) - L56
specialize cf_convergent_matrix_prefix_functional (x15) - L57
specialize cf_convergent_matrix_prefix_functional (x6) - L58
specialize cf_convergent_matrix_prefix_functional (x16) - L59
apply cf_convergent_matrix_prefix_functional - L60
exact hv_witness_witness_witness_witness_right - L61
exact hp_witness_witness_witness_witness
10Separate the logical casesL62–64
11Calculate and transport equalitiesL65–68
12Use earlier factsL69–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize cf_approximation_derived_invariant_determinant (a) - L70
specialize cf_approximation_derived_invariant_determinant (b) - L71
specialize cf_approximation_derived_invariant_determinant (u) - L72
specialize cf_approximation_derived_invariant_determinant (x5) - L73
specialize cf_approximation_derived_invariant_determinant (v) - L74
specialize cf_approximation_derived_invariant_determinant (x6) - L75
apply cf_approximation_derived_invariant_determinant - L76
specialize cf_convergent_actual_prefix_error_invariant (S i) - L77
specialize cf_convergent_actual_prefix_error_invariant (a) - L78
specialize cf_convergent_actual_prefix_error_invariant (b)
13Use earlier factsL79–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L79
specialize cf_convergent_actual_prefix_error_invariant (s) - L80
specialize cf_convergent_actual_prefix_error_invariant (x2) - L81
specialize cf_convergent_actual_prefix_error_invariant (x3) - L82
specialize cf_convergent_actual_prefix_error_invariant (S x4) - L83
specialize cf_convergent_actual_prefix_error_invariant (x7) - L84
specialize cf_convergent_actual_prefix_error_invariant (x8) - L85
specialize cf_convergent_actual_prefix_error_invariant (u) - L86
specialize cf_convergent_actual_prefix_error_invariant (x5) - L87
specialize cf_convergent_actual_prefix_error_invariant (v) - L88
specialize cf_convergent_actual_prefix_error_invariant (x6)
Original defined command ledger · 91 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro i - 0005
intro u - 0006
intro v - 0007
intro p - 0008
intro q - 0009
intro hcf - 0010
intro hc - 0011
intro hv - 0012
cases hcf - 0013
cases hcf_witness - 0014
cases hcf_witness_witness - 0015
cases hcf_witness_witness_witness - 0016
cases hcf_witness_witness_witness_witness - 0017
cases hcf_witness_witness_witness_witness_witness - 0018
cases hcf_witness_witness_witness_witness_witness_right - 0019
cases hc - 0020
cases hc_witness - 0021
cases hc_witness_witness - 0022
cases hc_witness_witness_witness - 0023
cases hc_witness_witness_witness_witness - 0024
cases hv - 0025
cases hv_witness - 0026
cases hv_witness_witness - 0027
cases hv_witness_witness_witness - 0028
cases hv_witness_witness_witness_witness - 0029
have hp : ∃ cfc_h_adjacent_identification. ∃ cfc_e_adjacent_identification. ∃ cfc_p_adjacent_identification. ∃ cfc_q_adjacent_identification. ConvergentMatrixTrace(s,cfc_h_adjacent_identification,cfc_e_adjacent_identification,S i,x5,cfc_p_adjacent_identification,x6,cfc_q_adjacent_identification) - 0030
specialize cf_convergent_second_column_is_previous_prefix (S i) - 0031
specialize cf_convergent_second_column_is_previous_prefix (s) - 0032
specialize cf_convergent_second_column_is_previous_prefix (x7) - 0033
specialize cf_convergent_second_column_is_previous_prefix (x8) - 0034
specialize cf_convergent_second_column_is_previous_prefix (u) - 0035
specialize cf_convergent_second_column_is_previous_prefix (x5) - 0036
specialize cf_convergent_second_column_is_previous_prefix (v) - 0037
specialize cf_convergent_second_column_is_previous_prefix (x6) - 0038
apply cf_convergent_second_column_is_previous_prefix - 0039
exact hc_witness_witness_witness_witness_right - 0040
cases hp - 0041
cases hp_witness - 0042
cases hp_witness_witness - 0043
cases hp_witness_witness_witness - 0044
have heq : ((p = x5) /\ ((x9 = x15) /\ ((q = x6) /\ (x10 = x16)))) - 0045
specialize cf_convergent_matrix_prefix_functional (S i) - 0046
specialize cf_convergent_matrix_prefix_functional (s) - 0047
specialize cf_convergent_matrix_prefix_functional (x11) - 0048
specialize cf_convergent_matrix_prefix_functional (x12) - 0049
specialize cf_convergent_matrix_prefix_functional (x13) - 0050
specialize cf_convergent_matrix_prefix_functional (x14) - 0051
specialize cf_convergent_matrix_prefix_functional (p) - 0052
specialize cf_convergent_matrix_prefix_functional (x9) - 0053
specialize cf_convergent_matrix_prefix_functional (q) - 0054
specialize cf_convergent_matrix_prefix_functional (x10) - 0055
specialize cf_convergent_matrix_prefix_functional (x5) - 0056
specialize cf_convergent_matrix_prefix_functional (x15) - 0057
specialize cf_convergent_matrix_prefix_functional (x6) - 0058
specialize cf_convergent_matrix_prefix_functional (x16) - 0059
apply cf_convergent_matrix_prefix_functional - 0060
exact hv_witness_witness_witness_witness_right - 0061
exact hp_witness_witness_witness_witness - 0062
cases heq - 0063
cases heq_right - 0064
cases heq_right_right - 0065
rewrite heq_left - 0066
rewrite heq_left - 0067
rewrite heq_right_right_left - 0068
rewrite heq_right_right_left - 0069
specialize cf_approximation_derived_invariant_determinant (a) - 0070
specialize cf_approximation_derived_invariant_determinant (b) - 0071
specialize cf_approximation_derived_invariant_determinant (u) - 0072
specialize cf_approximation_derived_invariant_determinant (x5) - 0073
specialize cf_approximation_derived_invariant_determinant (v) - 0074
specialize cf_approximation_derived_invariant_determinant (x6) - 0075
apply cf_approximation_derived_invariant_determinant - 0076
specialize cf_convergent_actual_prefix_error_invariant (S i) - 0077
specialize cf_convergent_actual_prefix_error_invariant (a) - 0078
specialize cf_convergent_actual_prefix_error_invariant (b) - 0079
specialize cf_convergent_actual_prefix_error_invariant (s) - 0080
specialize cf_convergent_actual_prefix_error_invariant (x2) - 0081
specialize cf_convergent_actual_prefix_error_invariant (x3) - 0082
specialize cf_convergent_actual_prefix_error_invariant (S x4) - 0083
specialize cf_convergent_actual_prefix_error_invariant (x7) - 0084
specialize cf_convergent_actual_prefix_error_invariant (x8) - 0085
specialize cf_convergent_actual_prefix_error_invariant (u) - 0086
specialize cf_convergent_actual_prefix_error_invariant (x5) - 0087
specialize cf_convergent_actual_prefix_error_invariant (v) - 0088
specialize cf_convergent_actual_prefix_error_invariant (x6) - 0089
apply cf_convergent_actual_prefix_error_invariant - 0090
exact hcf_witness_witness_witness_witness_witness_right_right - 0091
exact hc_witness_witness_witness_witness_right