BA001B

cf_approximation_determinant_minus_one_signed_basis

The opposite unimodular orientation gives the same complete four-case signed basis decomposition.

Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable

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 → ∃ x. ∃ y. rp = rn + (x · u + y · U) ∧ t = 0 + (x · v + y · V) ∨ (rp + y · U = rn + x · u ∧ t + y · V = 0 + x · v ∨ (rp + x · u = rn + y · U ∧ t + x · v = 0 + y · V ∨ rp + (x · u + y · U) = rn ∧ t + (x · v + y · V) = 0))

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

none

Actual proof prerequisites

Original expanded first-order statement
forall u U v V rp rn t. u * V + 1 = U * v -> 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)))))))

Complete tactic proof in conservative notation

All 56 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

56 script commands · 6 reading checkpoints · 0 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (4)
01Fix variables and assumptionsL1–8

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro u
  2. L2
    intro U
  3. L3
    intro v
  4. L4
    intro V
  5. L5
    intro rp
  6. L6
    intro rn
  7. L7
    intro t
  8. L8
    intro hd
02Use earlier factsL9–18

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L9
    specialize cf_approximation_signed_basis_normalization (u)
  2. L10
    specialize cf_approximation_signed_basis_normalization (U)
  3. L11
    specialize cf_approximation_signed_basis_normalization (v)
  4. L12
    specialize cf_approximation_signed_basis_normalization (V)
  5. L13
    specialize cf_approximation_signed_basis_normalization (rp)
  6. L14
    specialize cf_approximation_signed_basis_normalization (rn)
  7. L15
    specialize cf_approximation_signed_basis_normalization (t)
  8. L16
    specialize cf_approximation_signed_basis_normalization (U * t + V * rn)
  9. L17
    specialize cf_approximation_signed_basis_normalization (V * rp)
  10. L18
    specialize cf_approximation_signed_basis_normalization (v * rp)
03Use earlier factsL19–28

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L19
    specialize cf_approximation_signed_basis_normalization (v * rn + u * t)
  2. L20
    apply cf_approximation_signed_basis_normalization
  3. L21
    specialize cf_approximation_balance_exchange_columns (rp)
  4. L22
    specialize cf_approximation_balance_exchange_columns (rn)
  5. L23
    specialize cf_approximation_balance_exchange_columns (U)
  6. L24
    specialize cf_approximation_balance_exchange_columns (u)
  7. L25
    specialize cf_approximation_balance_exchange_columns (v * rp)
  8. L26
    specialize cf_approximation_balance_exchange_columns (v * rn + u * t)
  9. L27
    specialize cf_approximation_balance_exchange_columns (U * t + V * rn)
  10. L28
    specialize cf_approximation_balance_exchange_columns (V * rp)
04Use earlier factsL29–38

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L29
    apply cf_approximation_balance_exchange_columns
  2. L30
    specialize cf_approximation_cofactor_numerator_balance (U)
  3. L31
    specialize cf_approximation_cofactor_numerator_balance (u)
  4. L32
    specialize cf_approximation_cofactor_numerator_balance (V)
  5. L33
    specialize cf_approximation_cofactor_numerator_balance (v)
  6. L34
    specialize cf_approximation_cofactor_numerator_balance (rp)
  7. L35
    specialize cf_approximation_cofactor_numerator_balance (rn)
  8. L36
    specialize cf_approximation_cofactor_numerator_balance (t)
  9. L37
    apply cf_approximation_cofactor_numerator_balance
  10. L38
    exact hd
05Use earlier factsL39–48

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L39
    specialize cf_approximation_balance_exchange_columns (t)
  2. L40
    specialize cf_approximation_balance_exchange_columns (0)
  3. L41
    specialize cf_approximation_balance_exchange_columns (V)
  4. L42
    specialize cf_approximation_balance_exchange_columns (v)
  5. L43
    specialize cf_approximation_balance_exchange_columns (v * rp)
  6. L44
    specialize cf_approximation_balance_exchange_columns (v * rn + u * t)
  7. L45
    specialize cf_approximation_balance_exchange_columns (U * t + V * rn)
  8. L46
    specialize cf_approximation_balance_exchange_columns (V * rp)
  9. L47
    apply cf_approximation_balance_exchange_columns
  10. L48
    specialize cf_approximation_cofactor_denominator_balance (U)
06Use earlier factsL49–56

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L49
    specialize cf_approximation_cofactor_denominator_balance (u)
  2. L50
    specialize cf_approximation_cofactor_denominator_balance (V)
  3. L51
    specialize cf_approximation_cofactor_denominator_balance (v)
  4. L52
    specialize cf_approximation_cofactor_denominator_balance (rp)
  5. L53
    specialize cf_approximation_cofactor_denominator_balance (rn)
  6. L54
    specialize cf_approximation_cofactor_denominator_balance (t)
  7. L55
    apply cf_approximation_cofactor_denominator_balance
  8. L56
    exact hd

Library-wide reading audit

Original defined command ledger · 56 lines
  1. 0001intro u
  2. 0002intro U
  3. 0003intro v
  4. 0004intro V
  5. 0005intro rp
  6. 0006intro rn
  7. 0007intro t
  8. 0008intro hd
  9. 0009specialize cf_approximation_signed_basis_normalization (u)
  10. 0010specialize cf_approximation_signed_basis_normalization (U)
  11. 0011specialize cf_approximation_signed_basis_normalization (v)
  12. 0012specialize cf_approximation_signed_basis_normalization (V)
  13. 0013specialize cf_approximation_signed_basis_normalization (rp)
  14. 0014specialize cf_approximation_signed_basis_normalization (rn)
  15. 0015specialize cf_approximation_signed_basis_normalization (t)
  16. 0016specialize cf_approximation_signed_basis_normalization (U * t + V * rn)
  17. 0017specialize cf_approximation_signed_basis_normalization (V * rp)
  18. 0018specialize cf_approximation_signed_basis_normalization (v * rp)
  19. 0019specialize cf_approximation_signed_basis_normalization (v * rn + u * t)
  20. 0020apply cf_approximation_signed_basis_normalization
  21. 0021specialize cf_approximation_balance_exchange_columns (rp)
  22. 0022specialize cf_approximation_balance_exchange_columns (rn)
  23. 0023specialize cf_approximation_balance_exchange_columns (U)
  24. 0024specialize cf_approximation_balance_exchange_columns (u)
  25. 0025specialize cf_approximation_balance_exchange_columns (v * rp)
  26. 0026specialize cf_approximation_balance_exchange_columns (v * rn + u * t)
  27. 0027specialize cf_approximation_balance_exchange_columns (U * t + V * rn)
  28. 0028specialize cf_approximation_balance_exchange_columns (V * rp)
  29. 0029apply cf_approximation_balance_exchange_columns
  30. 0030specialize cf_approximation_cofactor_numerator_balance (U)
  31. 0031specialize cf_approximation_cofactor_numerator_balance (u)
  32. 0032specialize cf_approximation_cofactor_numerator_balance (V)
  33. 0033specialize cf_approximation_cofactor_numerator_balance (v)
  34. 0034specialize cf_approximation_cofactor_numerator_balance (rp)
  35. 0035specialize cf_approximation_cofactor_numerator_balance (rn)
  36. 0036specialize cf_approximation_cofactor_numerator_balance (t)
  37. 0037apply cf_approximation_cofactor_numerator_balance
  38. 0038exact hd
  39. 0039specialize cf_approximation_balance_exchange_columns (t)
  40. 0040specialize cf_approximation_balance_exchange_columns (0)
  41. 0041specialize cf_approximation_balance_exchange_columns (V)
  42. 0042specialize cf_approximation_balance_exchange_columns (v)
  43. 0043specialize cf_approximation_balance_exchange_columns (v * rp)
  44. 0044specialize cf_approximation_balance_exchange_columns (v * rn + u * t)
  45. 0045specialize cf_approximation_balance_exchange_columns (U * t + V * rn)
  46. 0046specialize cf_approximation_balance_exchange_columns (V * rp)
  47. 0047apply cf_approximation_balance_exchange_columns
  48. 0048specialize cf_approximation_cofactor_denominator_balance (U)
  49. 0049specialize cf_approximation_cofactor_denominator_balance (u)
  50. 0050specialize cf_approximation_cofactor_denominator_balance (V)
  51. 0051specialize cf_approximation_cofactor_denominator_balance (v)
  52. 0052specialize cf_approximation_cofactor_denominator_balance (rp)
  53. 0053specialize cf_approximation_cofactor_denominator_balance (rn)
  54. 0054specialize cf_approximation_cofactor_denominator_balance (t)
  55. 0055apply cf_approximation_cofactor_denominator_balance
  56. 0056exact hd