BA0019

cf_approximation_determinant_one_signed_basis

Every signed candidate numerator and natural denominator have actual integral coordinates in a determinant-one adjacent basis.

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 38 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

38 script commands · 4 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 (3)
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 (V * rp)
  9. L17
    specialize cf_approximation_signed_basis_normalization (V * rn + U * t)
  10. L18
    specialize cf_approximation_signed_basis_normalization (u * t + v * rn)
03Use earlier factsL19–28

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

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

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

  1. L29
    exact hd
  2. L30
    specialize cf_approximation_cofactor_denominator_balance (u)
  3. L31
    specialize cf_approximation_cofactor_denominator_balance (U)
  4. L32
    specialize cf_approximation_cofactor_denominator_balance (v)
  5. L33
    specialize cf_approximation_cofactor_denominator_balance (V)
  6. L34
    specialize cf_approximation_cofactor_denominator_balance (rp)
  7. L35
    specialize cf_approximation_cofactor_denominator_balance (rn)
  8. L36
    specialize cf_approximation_cofactor_denominator_balance (t)
  9. L37
    apply cf_approximation_cofactor_denominator_balance
  10. L38
    exact hd

Library-wide reading audit

Original defined command ledger · 38 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 (V * rp)
  17. 0017specialize cf_approximation_signed_basis_normalization (V * rn + U * t)
  18. 0018specialize cf_approximation_signed_basis_normalization (u * t + v * rn)
  19. 0019specialize cf_approximation_signed_basis_normalization (v * rp)
  20. 0020apply cf_approximation_signed_basis_normalization
  21. 0021specialize cf_approximation_cofactor_numerator_balance (u)
  22. 0022specialize cf_approximation_cofactor_numerator_balance (U)
  23. 0023specialize cf_approximation_cofactor_numerator_balance (v)
  24. 0024specialize cf_approximation_cofactor_numerator_balance (V)
  25. 0025specialize cf_approximation_cofactor_numerator_balance (rp)
  26. 0026specialize cf_approximation_cofactor_numerator_balance (rn)
  27. 0027specialize cf_approximation_cofactor_numerator_balance (t)
  28. 0028apply cf_approximation_cofactor_numerator_balance
  29. 0029exact hd
  30. 0030specialize cf_approximation_cofactor_denominator_balance (u)
  31. 0031specialize cf_approximation_cofactor_denominator_balance (U)
  32. 0032specialize cf_approximation_cofactor_denominator_balance (v)
  33. 0033specialize cf_approximation_cofactor_denominator_balance (V)
  34. 0034specialize cf_approximation_cofactor_denominator_balance (rp)
  35. 0035specialize cf_approximation_cofactor_denominator_balance (rn)
  36. 0036specialize cf_approximation_cofactor_denominator_balance (t)
  37. 0037apply cf_approximation_cofactor_denominator_balance
  38. 0038exact hd