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. ∀ ab. ∀ cb. ∀ out. SignedMul(a,b,ab) → SignedMul(c,b,cb) → SignedMul(c,ab,out) → SignedMul(a,cb,out)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 42 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–9
02Establish hwL10–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul total.
- L10
have hw : ∃ w. SignedMul(a,cb,w)Definitions: SignedMul(a,cb,w)Original native command in the exact edition - L11
specialize signed_mul_total (a) - L12
specialize signed_mul_total (cb) - L13
apply signed_mul_total
03Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hw
04Establish heqL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul functional.
- L15
have heq : x = out - L16
specialize signed_mul_functional (c) - L17
specialize signed_mul_functional (ab) - L18
specialize signed_mul_functional (x) - L19
specialize signed_mul_functional (out) - L20
apply signed_mul_functional - L21
specialize signed_mul_associative (c) - L22
specialize signed_mul_associative (b) - L23
specialize signed_mul_associative (a) - L24
specialize signed_mul_associative (cb)
05Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize signed_mul_associative (ab) - L26
specialize signed_mul_associative (x) - L27
apply signed_mul_associative - L28
exact hcb - L29
specialize signed_mul_commutative (a) - L30
specialize signed_mul_commutative (cb) - L31
specialize signed_mul_commutative (x) - L32
apply signed_mul_commutative - L33
exact hw_witness - L34
specialize signed_mul_commutative (a)
06Use earlier factsL35–39
07Calculate and transport equalitiesL40–41
08Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hw_witness
Original defined command ledger · 42 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro ab - 0005
intro cb - 0006
intro out - 0007
intro hab - 0008
intro hcb - 0009
intro hout - 0010
have hw : ∃ w. SignedMul(a,cb,w) - 0011
specialize signed_mul_total (a) - 0012
specialize signed_mul_total (cb) - 0013
apply signed_mul_total - 0014
cases hw - 0015
have heq : x = out - 0016
specialize signed_mul_functional (c) - 0017
specialize signed_mul_functional (ab) - 0018
specialize signed_mul_functional (x) - 0019
specialize signed_mul_functional (out) - 0020
apply signed_mul_functional - 0021
specialize signed_mul_associative (c) - 0022
specialize signed_mul_associative (b) - 0023
specialize signed_mul_associative (a) - 0024
specialize signed_mul_associative (cb) - 0025
specialize signed_mul_associative (ab) - 0026
specialize signed_mul_associative (x) - 0027
apply signed_mul_associative - 0028
exact hcb - 0029
specialize signed_mul_commutative (a) - 0030
specialize signed_mul_commutative (cb) - 0031
specialize signed_mul_commutative (x) - 0032
apply signed_mul_commutative - 0033
exact hw_witness - 0034
specialize signed_mul_commutative (a) - 0035
specialize signed_mul_commutative (b) - 0036
specialize signed_mul_commutative (ab) - 0037
apply signed_mul_commutative - 0038
exact hab - 0039
exact hout - 0040
rewrite heq at hw_witness - 0041
rewrite heq at hw_witness - 0042
exact hw_witness