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 ap an bp bn cp cn dp dn. ap + bn = bp + an -> cp + dn = dp + cn -> ((ap) * (cp) + (an) * (cn)) + ((bp) * (dn) + (bn) * (dp)) = ((bp) * (dp) + (bn) * (dn)) + ((ap) * (cn) + (an) * (cp))Constructive proof overview
Generated structural guide
Actual signed-pair multiplication preserves integer equality in both inputs, by two checked multiplication transports and cancellative cross-sum composition.
The unchanged tactic script uses 3 declared prerequisites and contains 49 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_pair_mul_cross_transport Alpha theorem; checked-use authorized add_comm Stable theorem; checked-use authorized add_cross_sum_chain 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.
01Fix variables and assumptionsL1–10
02Establish hroworientedL11–14
03Establish hcoforientedL15–18
04Establish hfirstL19–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed pair mul cross transport.
- L19
have hfirst : ((((ap) * (cp) + (an) * (cn)) + ((bp) * (cn) + (bn) * (cp)) = ((ap) * (cn) + (an) * (cp)) + ((bp) * (cp) + (bn) * (cn))) /\ (((cp) * (ap) + (cn) * (an)) + ((cp) * (bn) + (cn) * (bp)) = ((cp) * (an) + (cn) * (ap)) + ((cp) * (bp) + (cn) * (bn)))) - L20
specialize signed_pair_mul_cross_transport (ap) - L21
specialize signed_pair_mul_cross_transport (an) - L22
specialize signed_pair_mul_cross_transport (bp) - L23
specialize signed_pair_mul_cross_transport (bn) - L24
specialize signed_pair_mul_cross_transport (cp) - L25
specialize signed_pair_mul_cross_transport (cn) - L26
apply signed_pair_mul_cross_transport - L27
exact hroworiented
05Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hfirst
06Establish hsecondL29–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed pair mul cross transport.
- L29
have hsecond : ((((cp) * (bp) + (cn) * (bn)) + ((dp) * (bn) + (dn) * (bp)) = ((cp) * (bn) + (cn) * (bp)) + ((dp) * (bp) + (dn) * (bn))) /\ (((bp) * (cp) + (bn) * (cn)) + ((bp) * (dn) + (bn) * (dp)) = ((bp) * (cn) + (bn) * (cp)) + ((bp) * (dp) + (bn) * (dn)))) - L30
specialize signed_pair_mul_cross_transport (cp) - L31
specialize signed_pair_mul_cross_transport (cn) - L32
specialize signed_pair_mul_cross_transport (dp) - L33
specialize signed_pair_mul_cross_transport (dn) - L34
specialize signed_pair_mul_cross_transport (bp) - L35
specialize signed_pair_mul_cross_transport (bn) - L36
apply signed_pair_mul_cross_transport - L37
exact hcoforiented
07Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hsecond
08Calculate and transport equalitiesL39–39
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L39
trans ((ap) * (cn) + (an) * (cp)) + ((bp) * (dp) + (bn) * (dn))
09Use earlier factsL40–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
specialize add_cross_sum_chain ((ap) * (cp) + (an) * (cn)) - L41
specialize add_cross_sum_chain ((ap) * (cn) + (an) * (cp)) - L42
specialize add_cross_sum_chain ((bp) * (cn) + (bn) * (cp)) - L43
specialize add_cross_sum_chain ((bp) * (cp) + (bn) * (cn)) - L44
specialize add_cross_sum_chain ((bp) * (dn) + (bn) * (dp)) - L45
specialize add_cross_sum_chain ((bp) * (dp) + (bn) * (dn)) - L46
apply add_cross_sum_chain - L47
exact hfirst_left - L48
exact hsecond_right - L49
apply add_comm
Original exact command ledger · 49 lines
- 0001
intro ap - 0002
intro an - 0003
intro bp - 0004
intro bn - 0005
intro cp - 0006
intro cn - 0007
intro dp - 0008
intro dn - 0009
intro hrow - 0010
intro hcofactor - 0011
have hroworiented : ap + bn = an + bp - 0012
trans bp + an - 0013
exact hrow - 0014
apply add_comm - 0015
have hcoforiented : cp + dn = cn + dp - 0016
trans dp + cn - 0017
exact hcofactor - 0018
apply add_comm - 0019
have hfirst : ((((ap) * (cp) + (an) * (cn)) + ((bp) * (cn) + (bn) * (cp)) = ((ap) * (cn) + (an) * (cp)) + ((bp) * (cp) + (bn) * (cn))) /\ (((cp) * (ap) + (cn) * (an)) + ((cp) * (bn) + (cn) * (bp)) = ((cp) * (an) + (cn) * (ap)) + ((cp) * (bp) + (cn) * (bn)))) - 0020
specialize signed_pair_mul_cross_transport (ap) - 0021
specialize signed_pair_mul_cross_transport (an) - 0022
specialize signed_pair_mul_cross_transport (bp) - 0023
specialize signed_pair_mul_cross_transport (bn) - 0024
specialize signed_pair_mul_cross_transport (cp) - 0025
specialize signed_pair_mul_cross_transport (cn) - 0026
apply signed_pair_mul_cross_transport - 0027
exact hroworiented - 0028
cases hfirst - 0029
have hsecond : ((((cp) * (bp) + (cn) * (bn)) + ((dp) * (bn) + (dn) * (bp)) = ((cp) * (bn) + (cn) * (bp)) + ((dp) * (bp) + (dn) * (bn))) /\ (((bp) * (cp) + (bn) * (cn)) + ((bp) * (dn) + (bn) * (dp)) = ((bp) * (cn) + (bn) * (cp)) + ((bp) * (dp) + (bn) * (dn)))) - 0030
specialize signed_pair_mul_cross_transport (cp) - 0031
specialize signed_pair_mul_cross_transport (cn) - 0032
specialize signed_pair_mul_cross_transport (dp) - 0033
specialize signed_pair_mul_cross_transport (dn) - 0034
specialize signed_pair_mul_cross_transport (bp) - 0035
specialize signed_pair_mul_cross_transport (bn) - 0036
apply signed_pair_mul_cross_transport - 0037
exact hcoforiented - 0038
cases hsecond - 0039
trans ((ap) * (cn) + (an) * (cp)) + ((bp) * (dp) + (bn) * (dn)) - 0040
specialize add_cross_sum_chain ((ap) * (cp) + (an) * (cn)) - 0041
specialize add_cross_sum_chain ((ap) * (cn) + (an) * (cp)) - 0042
specialize add_cross_sum_chain ((bp) * (cn) + (bn) * (cp)) - 0043
specialize add_cross_sum_chain ((bp) * (cp) + (bn) * (cn)) - 0044
specialize add_cross_sum_chain ((bp) * (dn) + (bn) * (dp)) - 0045
specialize add_cross_sum_chain ((bp) * (dp) + (bn) * (dn)) - 0046
apply add_cross_sum_chain - 0047
exact hfirst_left - 0048
exact hsecond_right - 0049
apply add_comm