Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Operation tables contain actual beta-coded entries and compare represented signed values, not encodings. The strict sum window is i<l and the separately certified endpoint i=l is unused. Rectangular Fubini and full finite signed Möbius inversion are separate, now-admitted families.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ c. ∀ bc. ∀ ab. ∀ ac. ∀ out. SignedAdd(b,c,bc) → SignedMul(a,b,ab) → SignedMul(a,c,ac) → SignedAdd(ab,ac,out) → SignedMul(a,bc,out)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
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
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
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hout
03Establish hwL12–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul total.
- L12
have hw : ∃ w. SignedMul(a,bc,w)Definitions: SignedMul(a,bc,w)Original native command in the exact edition - L13
specialize signed_mul_total (a) - L14
specialize signed_mul_total (bc) - L15
apply signed_mul_total
04Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hw
05Establish heqL17–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed add functional.
- L17
have heq : x = out - L18
specialize signed_add_functional (ab) - L19
specialize signed_add_functional (ac) - L20
specialize signed_add_functional (x) - L21
specialize signed_add_functional (out) - L22
apply signed_add_functional - L23
specialize signed_mul_left_distributive (a) - L24
specialize signed_mul_left_distributive (b) - L25
specialize signed_mul_left_distributive (c) - L26
specialize signed_mul_left_distributive (bc)
06Use earlier factsL27–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
07Calculate and transport equalitiesL36–37
08Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hw_witness
Original defined command ledger · 38 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro bc - 0005
intro ab - 0006
intro ac - 0007
intro out - 0008
intro hbc - 0009
intro hab - 0010
intro hac - 0011
intro hout - 0012
have hw : ∃ w. SignedMul(a,bc,w) - 0013
specialize signed_mul_total (a) - 0014
specialize signed_mul_total (bc) - 0015
apply signed_mul_total - 0016
cases hw - 0017
have heq : x = out - 0018
specialize signed_add_functional (ab) - 0019
specialize signed_add_functional (ac) - 0020
specialize signed_add_functional (x) - 0021
specialize signed_add_functional (out) - 0022
apply signed_add_functional - 0023
specialize signed_mul_left_distributive (a) - 0024
specialize signed_mul_left_distributive (b) - 0025
specialize signed_mul_left_distributive (c) - 0026
specialize signed_mul_left_distributive (bc) - 0027
specialize signed_mul_left_distributive (ab) - 0028
specialize signed_mul_left_distributive (ac) - 0029
specialize signed_mul_left_distributive (x) - 0030
apply signed_mul_left_distributive - 0031
exact hbc - 0032
exact hab - 0033
exact hac - 0034
exact hw_witness - 0035
exact hout - 0036
rewrite heq at hw_witness - 0037
rewrite heq at hw_witness - 0038
exact hw_witness