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
∀ b. ∀ c. ∀ L. PolynomialEquivalent(b,c,L,b,c,L)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 57 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–8
02Separate the logical casesL9–14
03Establish heqL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add right cancel.
04Calculate and transport equalitiesL25–25
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L25
rewrite heq at ha_left_witness_right
05Use earlier factsL26–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
06Separate the logical casesL34–35
07Use earlier factsL36–38
08Construct an explicit witnessL39–39
Supply the displayed value, then prove that it has the required property.
- L39
exists x
09Use earlier factsL40–41
10Separate the logical casesL42–46
11Use earlier factsL47–49
12Construct an explicit witnessL50–50
Supply the displayed value, then prove that it has the required property.
- L50
exists x
13Use earlier factsL51–52
14Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
cases hr_right
15Calculate and transport equalitiesL54–54
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L54
trans 0
16Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact ha_right_right
17Calculate and transport equalitiesL56–56
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L56
symm
18Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hr_right_right
Original defined command ledger · 57 lines
- 0001
intro b - 0002
intro c - 0003
intro L - 0004
intro k - 0005
intro a - 0006
intro r - 0007
intro ha - 0008
intro hr - 0009
cases ha - 0010
cases ha_left - 0011
cases ha_left_witness - 0012
cases hr - 0013
cases hr_left - 0014
cases hr_left_witness - 0015
have heq : x=x1 - 0016
specialize add_right_cancel (x) - 0017
specialize add_right_cancel (x1) - 0018
specialize add_right_cancel (S k) - 0019
apply add_right_cancel - 0020
trans L - 0021
exact ha_left_witness_left - 0022
symm - 0023
exact hr_left_witness_left - 0024
rewrite heq at ha_left_witness_right - 0025
rewrite heq at ha_left_witness_right - 0026
specialize beta_at_unique (b) - 0027
specialize beta_at_unique (c) - 0028
specialize beta_at_unique (x1) - 0029
specialize beta_at_unique (a) - 0030
specialize beta_at_unique (r) - 0031
apply beta_at_unique - 0032
exact ha_left_witness_right - 0033
exact hr_left_witness_right - 0034
cases hr_right - 0035
exfalso - 0036
specialize lt_not_le (k) - 0037
specialize lt_not_le (L) - 0038
apply lt_not_le - 0039
exists x - 0040
exact ha_left_witness_left - 0041
exact hr_right_left - 0042
cases ha_right - 0043
cases hr - 0044
cases hr_left - 0045
cases hr_left_witness - 0046
exfalso - 0047
specialize lt_not_le (k) - 0048
specialize lt_not_le (L) - 0049
apply lt_not_le - 0050
exists x - 0051
exact hr_left_witness_left - 0052
exact ha_right_left - 0053
cases hr_right - 0054
trans 0 - 0055
exact ha_right_right - 0056
symm - 0057
exact hr_right_right