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
∀ u. ∀ U. ∀ v. ∀ V. ∀ rp. ∀ rn. ∀ t. u · V + 1 = U · v ∨ U · v + 1 = u · V → ¬t = 0 → Lt(t,v) → ∃ x. ∃ y. ¬x = 0 ∧ (rp + y · U = rn + x · u ∧ t + y · V = 0 + x · v) ∨ ¬y = 0 ∧ (rp + x · u = rn + y · U ∧ t + x · v = 0 + y · V)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 103 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
02Establish hbL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf approximation unimodular signed basis.
- L11
have hb : exists c d. (((((rp) = (rn) + ((c) * (u) + (d) * (U))) /\ ((t) = (0) + ((c) * (v) + (d) * (V))))) \/ (((((rp) + (d) * (U) = (rn) + (c) * (u)) /\ ((t) + (d) * (V) = (0) + (c) * (v)))) \/ (((((rp) + (c) * (u) = (rn) + (d) * (U)) /\ ((t) + (c) * (v) = (0) + (d) * (V)))) \/ ((((rp) + ((c) * (u) + (d) * (U)) = (rn)) /\ ((t) + ((c) * (v) + (d) * (V)) = (0))))))) - L12
specialize cf_approximation_unimodular_signed_basis (u) - L13
specialize cf_approximation_unimodular_signed_basis (U) - L14
specialize cf_approximation_unimodular_signed_basis (v) - L15
specialize cf_approximation_unimodular_signed_basis (V) - L16
specialize cf_approximation_unimodular_signed_basis (rp) - L17
specialize cf_approximation_unimodular_signed_basis (rn) - L18
specialize cf_approximation_unimodular_signed_basis (t) - L19
apply cf_approximation_unimodular_signed_basis - L20
exact hd
03Separate the logical casesL21–24
04Establish hcL25–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf approximation small positive sum current zero.
- L25
have hc : x = 0 - L26
specialize cf_approximation_small_positive_sum_current_zero (t) - L27
specialize cf_approximation_small_positive_sum_current_zero (v) - L28
specialize cf_approximation_small_positive_sum_current_zero (V) - L29
specialize cf_approximation_small_positive_sum_current_zero (x) - L30
specialize cf_approximation_small_positive_sum_current_zero (x1) - L31
apply cf_approximation_small_positive_sum_current_zero - L32
exact hb_witness_witness_left_right - L33
exact hlt
05Establish hnL34–43
Establish this local claim before using it. It is not an additional assumption.
- L34
have hn : (((rp) + (0) * (u) = (rn) + (x1) * (U)) /\ ((t) + (0) * (v) = (0) + (x1) * (V))) - L35
specialize cf_approximation_zero_current_sum_as_difference (u) - L36
specialize cf_approximation_zero_current_sum_as_difference (U) - L37
specialize cf_approximation_zero_current_sum_as_difference (v) - L38
specialize cf_approximation_zero_current_sum_as_difference (V) - L39
specialize cf_approximation_zero_current_sum_as_difference (rp) - L40
specialize cf_approximation_zero_current_sum_as_difference (rn) - L41
specialize cf_approximation_zero_current_sum_as_difference (t) - L42
specialize cf_approximation_zero_current_sum_as_difference (x) - L43
specialize cf_approximation_zero_current_sum_as_difference (x1)
06Use earlier factsL44–46
07Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
cases hn
08Construct an explicit witnessL48–49
09Separate the logical casesL50–51
10Fix variables and assumptionsL52–52
Work with arbitrary variables or the premises of the current implication.
- L52
intro hzero
11Use earlier factsL53–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
specialize cf_approximation_positive_difference_coefficient_nonzero (t) - L54
specialize cf_approximation_positive_difference_coefficient_nonzero (V) - L55
specialize cf_approximation_positive_difference_coefficient_nonzero (v) - L56
specialize cf_approximation_positive_difference_coefficient_nonzero (x1) - L57
specialize cf_approximation_positive_difference_coefficient_nonzero (0) - L58
apply cf_approximation_positive_difference_coefficient_nonzero - L59
exact ht - L60
exact hn_right - L61
exact hzero - L62
exact hn
12Separate the logical casesL63–64
13Construct an explicit witnessL65–66
14Separate the logical casesL67–68
15Fix variables and assumptionsL69–69
Work with arbitrary variables or the premises of the current implication.
- L69
intro hzero
16Use earlier factsL70–79
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
specialize cf_approximation_positive_difference_coefficient_nonzero (t) - L71
specialize cf_approximation_positive_difference_coefficient_nonzero (v) - L72
specialize cf_approximation_positive_difference_coefficient_nonzero (V) - L73
specialize cf_approximation_positive_difference_coefficient_nonzero (x) - L74
specialize cf_approximation_positive_difference_coefficient_nonzero (x1) - L75
apply cf_approximation_positive_difference_coefficient_nonzero - L76
exact ht - L77
exact hb_witness_witness_right_left_right - L78
exact hzero - L79
exact hb_witness_witness_right_left
17Separate the logical casesL80–81
18Construct an explicit witnessL82–83
19Separate the logical casesL84–85
20Fix variables and assumptionsL86–86
Work with arbitrary variables or the premises of the current implication.
- L86
intro hzero
21Use earlier factsL87–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
specialize cf_approximation_positive_difference_coefficient_nonzero (t) - L88
specialize cf_approximation_positive_difference_coefficient_nonzero (V) - L89
specialize cf_approximation_positive_difference_coefficient_nonzero (v) - L90
specialize cf_approximation_positive_difference_coefficient_nonzero (x1) - L91
specialize cf_approximation_positive_difference_coefficient_nonzero (x) - L92
apply cf_approximation_positive_difference_coefficient_nonzero - L93
exact ht - L94
exact hb_witness_witness_right_right_left_right - L95
exact hzero - L96
exact hb_witness_witness_right_right_left
22Separate the logical casesL97–98
Original defined command ledger · 103 lines
- 0001
intro u - 0002
intro U - 0003
intro v - 0004
intro V - 0005
intro rp - 0006
intro rn - 0007
intro t - 0008
intro hd - 0009
intro ht - 0010
intro hlt - 0011
have hb : exists c d. (((((rp) = (rn) + ((c) * (u) + (d) * (U))) /\ ((t) = (0) + ((c) * (v) + (d) * (V))))) \/ (((((rp) + (d) * (U) = (rn) + (c) * (u)) /\ ((t) + (d) * (V) = (0) + (c) * (v)))) \/ (((((rp) + (c) * (u) = (rn) + (d) * (U)) /\ ((t) + (c) * (v) = (0) + (d) * (V)))) \/ ((((rp) + ((c) * (u) + (d) * (U)) = (rn)) /\ ((t) + ((c) * (v) + (d) * (V)) = (0))))))) - 0012
specialize cf_approximation_unimodular_signed_basis (u) - 0013
specialize cf_approximation_unimodular_signed_basis (U) - 0014
specialize cf_approximation_unimodular_signed_basis (v) - 0015
specialize cf_approximation_unimodular_signed_basis (V) - 0016
specialize cf_approximation_unimodular_signed_basis (rp) - 0017
specialize cf_approximation_unimodular_signed_basis (rn) - 0018
specialize cf_approximation_unimodular_signed_basis (t) - 0019
apply cf_approximation_unimodular_signed_basis - 0020
exact hd - 0021
cases hb - 0022
cases hb_witness - 0023
cases hb_witness_witness - 0024
cases hb_witness_witness_left - 0025
have hc : x = 0 - 0026
specialize cf_approximation_small_positive_sum_current_zero (t) - 0027
specialize cf_approximation_small_positive_sum_current_zero (v) - 0028
specialize cf_approximation_small_positive_sum_current_zero (V) - 0029
specialize cf_approximation_small_positive_sum_current_zero (x) - 0030
specialize cf_approximation_small_positive_sum_current_zero (x1) - 0031
apply cf_approximation_small_positive_sum_current_zero - 0032
exact hb_witness_witness_left_right - 0033
exact hlt - 0034
have hn : (((rp) + (0) * (u) = (rn) + (x1) * (U)) /\ ((t) + (0) * (v) = (0) + (x1) * (V))) - 0035
specialize cf_approximation_zero_current_sum_as_difference (u) - 0036
specialize cf_approximation_zero_current_sum_as_difference (U) - 0037
specialize cf_approximation_zero_current_sum_as_difference (v) - 0038
specialize cf_approximation_zero_current_sum_as_difference (V) - 0039
specialize cf_approximation_zero_current_sum_as_difference (rp) - 0040
specialize cf_approximation_zero_current_sum_as_difference (rn) - 0041
specialize cf_approximation_zero_current_sum_as_difference (t) - 0042
specialize cf_approximation_zero_current_sum_as_difference (x) - 0043
specialize cf_approximation_zero_current_sum_as_difference (x1) - 0044
apply cf_approximation_zero_current_sum_as_difference - 0045
exact hb_witness_witness_left - 0046
exact hc - 0047
cases hn - 0048
exists 0 - 0049
exists x1 - 0050
right - 0051
split - 0052
intro hzero - 0053
specialize cf_approximation_positive_difference_coefficient_nonzero (t) - 0054
specialize cf_approximation_positive_difference_coefficient_nonzero (V) - 0055
specialize cf_approximation_positive_difference_coefficient_nonzero (v) - 0056
specialize cf_approximation_positive_difference_coefficient_nonzero (x1) - 0057
specialize cf_approximation_positive_difference_coefficient_nonzero (0) - 0058
apply cf_approximation_positive_difference_coefficient_nonzero - 0059
exact ht - 0060
exact hn_right - 0061
exact hzero - 0062
exact hn - 0063
cases hb_witness_witness_right - 0064
cases hb_witness_witness_right_left - 0065
exists x - 0066
exists x1 - 0067
left - 0068
split - 0069
intro hzero - 0070
specialize cf_approximation_positive_difference_coefficient_nonzero (t) - 0071
specialize cf_approximation_positive_difference_coefficient_nonzero (v) - 0072
specialize cf_approximation_positive_difference_coefficient_nonzero (V) - 0073
specialize cf_approximation_positive_difference_coefficient_nonzero (x) - 0074
specialize cf_approximation_positive_difference_coefficient_nonzero (x1) - 0075
apply cf_approximation_positive_difference_coefficient_nonzero - 0076
exact ht - 0077
exact hb_witness_witness_right_left_right - 0078
exact hzero - 0079
exact hb_witness_witness_right_left - 0080
cases hb_witness_witness_right_right - 0081
cases hb_witness_witness_right_right_left - 0082
exists x - 0083
exists x1 - 0084
right - 0085
split - 0086
intro hzero - 0087
specialize cf_approximation_positive_difference_coefficient_nonzero (t) - 0088
specialize cf_approximation_positive_difference_coefficient_nonzero (V) - 0089
specialize cf_approximation_positive_difference_coefficient_nonzero (v) - 0090
specialize cf_approximation_positive_difference_coefficient_nonzero (x1) - 0091
specialize cf_approximation_positive_difference_coefficient_nonzero (x) - 0092
apply cf_approximation_positive_difference_coefficient_nonzero - 0093
exact ht - 0094
exact hb_witness_witness_right_right_left_right - 0095
exact hzero - 0096
exact hb_witness_witness_right_right_left - 0097
cases hb_witness_witness_right_right_right - 0098
exfalso - 0099
apply ht - 0100
specialize add_eq_zero_left (t) - 0101
specialize add_eq_zero_left (x * v + x1 * V) - 0102
apply add_eq_zero_left - 0103
exact hb_witness_witness_right_right_right_right