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 c d. (((a * v = b * u + E) /\ (b * U = a * V + F)) \/ ((b * u = a * v + E) /\ (a * V = b * U + F))) -> (((rp + d * U = rn + c * u) /\ (t + d * V = c * v))) -> (((a * t + b * rn) = (b * rp) + (c * E + d * F)) \/ ((b * rp) = (a * t + b * rn) + (c * E + d * F)))Constructive proof overview
Generated structural guide
The actual absolute error of a signed numerator difference is the nonnegative sum of the two error contributions.
The unchanged tactic script uses 3 declared prerequisites and contains 49 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BA000F cf_approximation_opposite_errors_linear_absolute BA0010 cf_approximation_subtract_previous_error_balance matrix_lattice_absolute_difference_integer_transport Alpha 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Establish hbL16–25
Establish this local claim before using it. It is not an additional assumption.
- L16
have hb : (a * t + b * rn) + (c * (b * u) + d * (a * V)) = (c * (a * v) + d * (b * U)) + (b * rp) - L17
specialize cf_approximation_subtract_previous_error_balance (a) - L18
specialize cf_approximation_subtract_previous_error_balance (b) - L19
specialize cf_approximation_subtract_previous_error_balance (u) - L20
specialize cf_approximation_subtract_previous_error_balance (U) - L21
specialize cf_approximation_subtract_previous_error_balance (v) - L22
specialize cf_approximation_subtract_previous_error_balance (V) - L23
specialize cf_approximation_subtract_previous_error_balance (rp) - L24
specialize cf_approximation_subtract_previous_error_balance (rn) - L25
specialize cf_approximation_subtract_previous_error_balance (t)
04Use earlier factsL26–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
specialize cf_approximation_subtract_previous_error_balance (c) - L27
specialize cf_approximation_subtract_previous_error_balance (d) - L28
apply cf_approximation_subtract_previous_error_balance - L29
exact hc - L30
specialize matrix_lattice_absolute_difference_integer_transport (c * (a * v) + d * (b * U)) - L31
specialize matrix_lattice_absolute_difference_integer_transport (c * (b * u) + d * (a * V)) - L32
specialize matrix_lattice_absolute_difference_integer_transport (a * t + b * rn) - L33
specialize matrix_lattice_absolute_difference_integer_transport (b * rp) - L34
specialize matrix_lattice_absolute_difference_integer_transport (c * E + d * F) - L35
apply matrix_lattice_absolute_difference_integer_transport
05Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
symm
06Use earlier factsL37–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hb - L38
specialize cf_approximation_opposite_errors_linear_absolute (a) - L39
specialize cf_approximation_opposite_errors_linear_absolute (b) - L40
specialize cf_approximation_opposite_errors_linear_absolute (u) - L41
specialize cf_approximation_opposite_errors_linear_absolute (U) - L42
specialize cf_approximation_opposite_errors_linear_absolute (v) - L43
specialize cf_approximation_opposite_errors_linear_absolute (V) - L44
specialize cf_approximation_opposite_errors_linear_absolute (E) - L45
specialize cf_approximation_opposite_errors_linear_absolute (F) - L46
specialize cf_approximation_opposite_errors_linear_absolute (c)
Original exact command ledger · 49 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 c - 0013
intro d - 0014
intro he - 0015
intro hc - 0016
have hb : (a * t + b * rn) + (c * (b * u) + d * (a * V)) = (c * (a * v) + d * (b * U)) + (b * rp) - 0017
specialize cf_approximation_subtract_previous_error_balance (a) - 0018
specialize cf_approximation_subtract_previous_error_balance (b) - 0019
specialize cf_approximation_subtract_previous_error_balance (u) - 0020
specialize cf_approximation_subtract_previous_error_balance (U) - 0021
specialize cf_approximation_subtract_previous_error_balance (v) - 0022
specialize cf_approximation_subtract_previous_error_balance (V) - 0023
specialize cf_approximation_subtract_previous_error_balance (rp) - 0024
specialize cf_approximation_subtract_previous_error_balance (rn) - 0025
specialize cf_approximation_subtract_previous_error_balance (t) - 0026
specialize cf_approximation_subtract_previous_error_balance (c) - 0027
specialize cf_approximation_subtract_previous_error_balance (d) - 0028
apply cf_approximation_subtract_previous_error_balance - 0029
exact hc - 0030
specialize matrix_lattice_absolute_difference_integer_transport (c * (a * v) + d * (b * U)) - 0031
specialize matrix_lattice_absolute_difference_integer_transport (c * (b * u) + d * (a * V)) - 0032
specialize matrix_lattice_absolute_difference_integer_transport (a * t + b * rn) - 0033
specialize matrix_lattice_absolute_difference_integer_transport (b * rp) - 0034
specialize matrix_lattice_absolute_difference_integer_transport (c * E + d * F) - 0035
apply matrix_lattice_absolute_difference_integer_transport - 0036
symm - 0037
exact hb - 0038
specialize cf_approximation_opposite_errors_linear_absolute (a) - 0039
specialize cf_approximation_opposite_errors_linear_absolute (b) - 0040
specialize cf_approximation_opposite_errors_linear_absolute (u) - 0041
specialize cf_approximation_opposite_errors_linear_absolute (U) - 0042
specialize cf_approximation_opposite_errors_linear_absolute (v) - 0043
specialize cf_approximation_opposite_errors_linear_absolute (V) - 0044
specialize cf_approximation_opposite_errors_linear_absolute (E) - 0045
specialize cf_approximation_opposite_errors_linear_absolute (F) - 0046
specialize cf_approximation_opposite_errors_linear_absolute (c) - 0047
specialize cf_approximation_opposite_errors_linear_absolute (d) - 0048
apply cf_approximation_opposite_errors_linear_absolute - 0049
exact he