BA000F

cf_approximation_opposite_errors_linear_absolute

Opposite signed errors combine without cancellation after subtracting the previous coefficient vector.

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

∀ a. ∀ b. ∀ u. ∀ U. ∀ v. ∀ V. ∀ E. ∀ F. ∀ c. ∀ d. a · v = b · u + E ∧ b · U = a · V + F ∨ b · u = a · v + E ∧ a · V = b · U + F → NaturalAbsDifference(c · (a · v) + d · (b · U),c · (b · u) + d · (a · V),c · E + d · F)

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

Definition DAG

Actual proof prerequisites

mul_add · checked external prerequisitemul_comm · checked external prerequisiteadd_assoc · checked external prerequisiteadd_comm · checked external prerequisitefour_square_add_swap_right_tail · checked external prerequisite
Original expanded first-order statement
forall a b u U v V E F c d. (((a * v = b * u + E) /\ (b * U = a * V + F)) \/ ((b * u = a * v + E) /\ (a * V = b * U + F))) -> (((c * (a * v) + d * (b * U)) = (c * (b * u) + d * (a * V)) + (c * E + d * F)) \/ ((c * (b * u) + d * (a * V)) = (c * (a * v) + d * (b * U)) + (c * E + d * F)))

Complete tactic proof in conservative notation

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

22 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.

01Fix variables and assumptionsL1–10

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro u
  4. L4
    intro U
  5. L5
    intro v
  6. L6
    intro V
  7. L7
    intro E
  8. L8
    intro F
  9. L9
    intro c
  10. L10
    intro d
02Fix variables and assumptionsL11–11

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

  1. L11
    intro h
03Separate the logical casesL12–14

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L12
    cases h
  2. L13
    cases h_left
  3. L14
    left
04Calculate and transport equalitiesL15–17

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L15
    rewrite h_left_left
  2. L16
    rewrite h_left_right
  3. L17
    simp [mul_add, mul_comm, add_assoc, add_comm, four_square_add_swap_right_tail]
05Separate the logical casesL18–19

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L18
    cases h_right
  2. L19
    right
06Calculate and transport equalitiesL20–22

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L20
    rewrite h_right_left
  2. L21
    rewrite h_right_right
  3. L22
    simp [mul_add, mul_comm, add_assoc, add_comm, four_square_add_swap_right_tail]

Library-wide reading audit

Original defined command ledger · 22 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro u
  4. 0004intro U
  5. 0005intro v
  6. 0006intro V
  7. 0007intro E
  8. 0008intro F
  9. 0009intro c
  10. 0010intro d
  11. 0011intro h
  12. 0012cases h
  13. 0013cases h_left
  14. 0014left
  15. 0015rewrite h_left_left
  16. 0016rewrite h_left_right
  17. 0017simp [mul_add, mul_comm, add_assoc, add_comm, four_square_add_swap_right_tail]
  18. 0018cases h_right
  19. 0019right
  20. 0020rewrite h_right_left
  21. 0021rewrite h_right_right
  22. 0022simp [mul_add, mul_comm, add_assoc, add_comm, four_square_add_swap_right_tail]