Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Coefficients are highest-degree-first. The divisor has a nonzero decoded head; primality supplies its actual inverse. Empty quotients and remainders are included. Functionality compares the constructed execution lengths and decoded coefficients, never arbitrary beta codes. Formal polynomial equivalence compares every coefficient, not evaluations on a finite field. The formal identity and remainder-degree bound are proved separately, not assumed by the execution graph. Arbitrary quotient/remainder-pair uniqueness from a formal identity, multiplication associativity, gcd/Bezout, irreducible-polynomial existence, and the full G091 prime-power-field goal remain open. The seven displayed new names are conservative first-order notation, not new kernel primitives.
Exact theorem in conservative defined notation
∀ p. ∀ b. ∀ k. ∀ c. ∀ s. ∀ a. ∀ q. ∀ t. ∀ r. Prime(p) → FpInv(p,b,k) → FpAdd(p,c,s,a) → FpMul(p,k,s,q) → FpMul(p,q,b,t) → FpAdd(p,c,t,r) → r = a
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 51 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–15
03Separate the logical casesL16–18
04Establish heqL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field multiply associative.
- L19
have heq : s=t - L20
specialize prime_field_multiply_associative (p) - L21
specialize prime_field_multiply_associative (b) - L22
specialize prime_field_multiply_associative (k) - L23
specialize prime_field_multiply_associative (s) - L24
specialize prime_field_multiply_associative (1) - L25
specialize prime_field_multiply_associative (q) - L26
specialize prime_field_multiply_associative (s) - L27
specialize prime_field_multiply_associative (t) - L28
apply prime_field_multiply_associative
05Use earlier factsL29–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hk_right - L30
specialize prime_field_multiply_one_left (p) - L31
specialize prime_field_multiply_one_left (s) - L32
apply prime_field_multiply_one_left - L33
exact hp - L34
exact hq_right_left - L35
exact hq - L36
specialize prime_field_multiply_commutative (p) - L37
specialize prime_field_multiply_commutative (q) - L38
specialize prime_field_multiply_commutative (b)
06Use earlier factsL39–41
07Calculate and transport equalitiesL42–43
08Use earlier factsL44–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 51 lines
- 0001
intro p - 0002
intro b - 0003
intro k - 0004
intro c - 0005
intro s - 0006
intro a - 0007
intro q - 0008
intro t - 0009
intro r - 0010
intro hp - 0011
intro hk - 0012
intro ha - 0013
intro hq - 0014
intro ht - 0015
intro hr - 0016
cases hk - 0017
cases hq - 0018
cases hq_right - 0019
have heq : s=t - 0020
specialize prime_field_multiply_associative (p) - 0021
specialize prime_field_multiply_associative (b) - 0022
specialize prime_field_multiply_associative (k) - 0023
specialize prime_field_multiply_associative (s) - 0024
specialize prime_field_multiply_associative (1) - 0025
specialize prime_field_multiply_associative (q) - 0026
specialize prime_field_multiply_associative (s) - 0027
specialize prime_field_multiply_associative (t) - 0028
apply prime_field_multiply_associative - 0029
exact hk_right - 0030
specialize prime_field_multiply_one_left (p) - 0031
specialize prime_field_multiply_one_left (s) - 0032
apply prime_field_multiply_one_left - 0033
exact hp - 0034
exact hq_right_left - 0035
exact hq - 0036
specialize prime_field_multiply_commutative (p) - 0037
specialize prime_field_multiply_commutative (q) - 0038
specialize prime_field_multiply_commutative (b) - 0039
specialize prime_field_multiply_commutative (t) - 0040
apply prime_field_multiply_commutative - 0041
exact ht - 0042
rewrite heq at ha - 0043
rewrite heq at ha - 0044
specialize prime_field_add_functional (p) - 0045
specialize prime_field_add_functional (c) - 0046
specialize prime_field_add_functional (t) - 0047
specialize prime_field_add_functional (r) - 0048
specialize prime_field_add_functional (a) - 0049
apply prime_field_add_functional - 0050
exact hr - 0051
exact ha