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.
Exact expanded first-order arithmetic statement
forall a b u U v V E F rp rn t D. (u * V + 1 = U * v \/ U * v + 1 = u * V) -> (((a * v = b * u + E) /\ (b * U = a * V + F)) \/ ((b * u = a * v + E) /\ (a * V = b * U + F))) -> (exists cfba_bound_comparison_errors. cfba_bound_comparison_errors + (E) = (F)) -> ~(t = 0) -> (exists cfba_gap_comparison_denominator. cfba_gap_comparison_denominator + S (t) = (v)) -> (((a * t + b * rn) = (b * rp) + (D)) \/ ((b * rp) = (a * t + b * rn) + (D))) -> (exists cfba_bound_comparison_result. cfba_bound_comparison_result + (E) = (D))Constructive proof overview
Generated structural guide
Complete signed-numerator comparison from a genuine unimodular pair and its opposite decreasing errors; these premises still need the actual continued-fraction alignment theorem.
The unchanged tactic script uses 4 declared prerequisites and contains 87 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BA0021 cf_approximation_small_denominator_signed_coordinates BA0023 cf_approximation_subtractive_error_lower_bound BA0022 cf_approximation_errors_exchange_columns le_trans Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish hcL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf approximation small denominator signed coordinates.
- L19
have hc : exists c d. ((((~(c = 0)) /\ ((((rp) + (d) * (U) = (rn) + (c) * (u)) /\ ((t) + (d) * (V) = (0) + (c) * (v)))))) \/ (((~(d = 0)) /\ ((((rp) + (c) * (u) = (rn) + (d) * (U)) /\ ((t) + (c) * (v) = (0) + (d) * (V))))))) - L20
specialize cf_approximation_small_denominator_signed_coordinates (u) - L21
specialize cf_approximation_small_denominator_signed_coordinates (U) - L22
specialize cf_approximation_small_denominator_signed_coordinates (v) - L23
specialize cf_approximation_small_denominator_signed_coordinates (V) - L24
specialize cf_approximation_small_denominator_signed_coordinates (rp) - L25
specialize cf_approximation_small_denominator_signed_coordinates (rn) - L26
specialize cf_approximation_small_denominator_signed_coordinates (t) - L27
apply cf_approximation_small_denominator_signed_coordinates - L28
exact hd
04Use earlier factsL29–30
05Separate the logical casesL31–34
06Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize cf_approximation_subtractive_error_lower_bound (a) - L36
specialize cf_approximation_subtractive_error_lower_bound (b) - L37
specialize cf_approximation_subtractive_error_lower_bound (u) - L38
specialize cf_approximation_subtractive_error_lower_bound (U) - L39
specialize cf_approximation_subtractive_error_lower_bound (v) - L40
specialize cf_approximation_subtractive_error_lower_bound (V) - L41
specialize cf_approximation_subtractive_error_lower_bound (E) - L42
specialize cf_approximation_subtractive_error_lower_bound (F) - L43
specialize cf_approximation_subtractive_error_lower_bound (rp) - L44
specialize cf_approximation_subtractive_error_lower_bound (rn)
07Use earlier factsL45–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize cf_approximation_subtractive_error_lower_bound (t) - L46
specialize cf_approximation_subtractive_error_lower_bound (D) - L47
specialize cf_approximation_subtractive_error_lower_bound (x) - L48
specialize cf_approximation_subtractive_error_lower_bound (x1) - L49
apply cf_approximation_subtractive_error_lower_bound - L50
exact he - L51
exact hc_witness_witness_left_right - L52
exact hc_witness_witness_left_left - L53
exact herror
08Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases hc_witness_witness_right
09Use earlier factsL55–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
specialize le_trans (E) - L56
specialize le_trans (F) - L57
specialize le_trans (D) - L58
apply le_trans - L59
exact hEF - L60
specialize cf_approximation_subtractive_error_lower_bound (a) - L61
specialize cf_approximation_subtractive_error_lower_bound (b) - L62
specialize cf_approximation_subtractive_error_lower_bound (U) - L63
specialize cf_approximation_subtractive_error_lower_bound (u) - L64
specialize cf_approximation_subtractive_error_lower_bound (V)
10Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize cf_approximation_subtractive_error_lower_bound (v) - L66
specialize cf_approximation_subtractive_error_lower_bound (F) - L67
specialize cf_approximation_subtractive_error_lower_bound (E) - L68
specialize cf_approximation_subtractive_error_lower_bound (rp) - L69
specialize cf_approximation_subtractive_error_lower_bound (rn) - L70
specialize cf_approximation_subtractive_error_lower_bound (t) - L71
specialize cf_approximation_subtractive_error_lower_bound (D) - L72
specialize cf_approximation_subtractive_error_lower_bound (x1) - L73
specialize cf_approximation_subtractive_error_lower_bound (x) - L74
apply cf_approximation_subtractive_error_lower_bound
11Use earlier factsL75–84
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
specialize cf_approximation_errors_exchange_columns (a) - L76
specialize cf_approximation_errors_exchange_columns (b) - L77
specialize cf_approximation_errors_exchange_columns (u) - L78
specialize cf_approximation_errors_exchange_columns (U) - L79
specialize cf_approximation_errors_exchange_columns (v) - L80
specialize cf_approximation_errors_exchange_columns (V) - L81
specialize cf_approximation_errors_exchange_columns (E) - L82
specialize cf_approximation_errors_exchange_columns (F) - L83
apply cf_approximation_errors_exchange_columns - L84
exact he
Original exact command ledger · 87 lines
- 0001
intro a - 0002
intro b - 0003
intro u - 0004
intro U - 0005
intro v - 0006
intro V - 0007
intro E - 0008
intro F - 0009
intro rp - 0010
intro rn - 0011
intro t - 0012
intro D - 0013
intro hd - 0014
intro he - 0015
intro hEF - 0016
intro ht - 0017
intro hlt - 0018
intro herror - 0019
have hc : exists c d. ((((~(c = 0)) /\ ((((rp) + (d) * (U) = (rn) + (c) * (u)) /\ ((t) + (d) * (V) = (0) + (c) * (v)))))) \/ (((~(d = 0)) /\ ((((rp) + (c) * (u) = (rn) + (d) * (U)) /\ ((t) + (c) * (v) = (0) + (d) * (V))))))) - 0020
specialize cf_approximation_small_denominator_signed_coordinates (u) - 0021
specialize cf_approximation_small_denominator_signed_coordinates (U) - 0022
specialize cf_approximation_small_denominator_signed_coordinates (v) - 0023
specialize cf_approximation_small_denominator_signed_coordinates (V) - 0024
specialize cf_approximation_small_denominator_signed_coordinates (rp) - 0025
specialize cf_approximation_small_denominator_signed_coordinates (rn) - 0026
specialize cf_approximation_small_denominator_signed_coordinates (t) - 0027
apply cf_approximation_small_denominator_signed_coordinates - 0028
exact hd - 0029
exact ht - 0030
exact hlt - 0031
cases hc - 0032
cases hc_witness - 0033
cases hc_witness_witness - 0034
cases hc_witness_witness_left - 0035
specialize cf_approximation_subtractive_error_lower_bound (a) - 0036
specialize cf_approximation_subtractive_error_lower_bound (b) - 0037
specialize cf_approximation_subtractive_error_lower_bound (u) - 0038
specialize cf_approximation_subtractive_error_lower_bound (U) - 0039
specialize cf_approximation_subtractive_error_lower_bound (v) - 0040
specialize cf_approximation_subtractive_error_lower_bound (V) - 0041
specialize cf_approximation_subtractive_error_lower_bound (E) - 0042
specialize cf_approximation_subtractive_error_lower_bound (F) - 0043
specialize cf_approximation_subtractive_error_lower_bound (rp) - 0044
specialize cf_approximation_subtractive_error_lower_bound (rn) - 0045
specialize cf_approximation_subtractive_error_lower_bound (t) - 0046
specialize cf_approximation_subtractive_error_lower_bound (D) - 0047
specialize cf_approximation_subtractive_error_lower_bound (x) - 0048
specialize cf_approximation_subtractive_error_lower_bound (x1) - 0049
apply cf_approximation_subtractive_error_lower_bound - 0050
exact he - 0051
exact hc_witness_witness_left_right - 0052
exact hc_witness_witness_left_left - 0053
exact herror - 0054
cases hc_witness_witness_right - 0055
specialize le_trans (E) - 0056
specialize le_trans (F) - 0057
specialize le_trans (D) - 0058
apply le_trans - 0059
exact hEF - 0060
specialize cf_approximation_subtractive_error_lower_bound (a) - 0061
specialize cf_approximation_subtractive_error_lower_bound (b) - 0062
specialize cf_approximation_subtractive_error_lower_bound (U) - 0063
specialize cf_approximation_subtractive_error_lower_bound (u) - 0064
specialize cf_approximation_subtractive_error_lower_bound (V) - 0065
specialize cf_approximation_subtractive_error_lower_bound (v) - 0066
specialize cf_approximation_subtractive_error_lower_bound (F) - 0067
specialize cf_approximation_subtractive_error_lower_bound (E) - 0068
specialize cf_approximation_subtractive_error_lower_bound (rp) - 0069
specialize cf_approximation_subtractive_error_lower_bound (rn) - 0070
specialize cf_approximation_subtractive_error_lower_bound (t) - 0071
specialize cf_approximation_subtractive_error_lower_bound (D) - 0072
specialize cf_approximation_subtractive_error_lower_bound (x1) - 0073
specialize cf_approximation_subtractive_error_lower_bound (x) - 0074
apply cf_approximation_subtractive_error_lower_bound - 0075
specialize cf_approximation_errors_exchange_columns (a) - 0076
specialize cf_approximation_errors_exchange_columns (b) - 0077
specialize cf_approximation_errors_exchange_columns (u) - 0078
specialize cf_approximation_errors_exchange_columns (U) - 0079
specialize cf_approximation_errors_exchange_columns (v) - 0080
specialize cf_approximation_errors_exchange_columns (V) - 0081
specialize cf_approximation_errors_exchange_columns (E) - 0082
specialize cf_approximation_errors_exchange_columns (F) - 0083
apply cf_approximation_errors_exchange_columns - 0084
exact he - 0085
exact hc_witness_witness_right_right - 0086
exact hc_witness_witness_right_left - 0087
exact herror