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
∀ ab. ∀ ac. ∀ L. ∀ AB. ∀ AC. ∀ K. ∀ bb. ∀ bc. ∀ M. ∀ N. ∀ i. ∀ j. ∀ t. Le(N,L) → Le(N,K) → BetaPrefixEqual(ab,ac,AB,AC,N) → Lt(j,N) → PolynomialDiagonalTerm(ab,ac,L,bb,bc,M,i,j,t) → PolynomialDiagonalTerm(AB,AC,K,bb,bc,M,i,j,t)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 64 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–18
03Separate the logical casesL19–24
04Establish hjlL25–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
05Establish hjkL32–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
06Establish haL39–47
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial zero extended entry inside.
- L39
have ha : BetaAt(ab,ac,j,x1)Definitions: BetaAt(ab,ac,j,x1)Original native command in the exact edition - L40
specialize polynomial_zero_extended_entry_inside (ab) - L41
specialize polynomial_zero_extended_entry_inside (ac) - L42
specialize polynomial_zero_extended_entry_inside (L) - L43
specialize polynomial_zero_extended_entry_inside (j) - L44
specialize polynomial_zero_extended_entry_inside (x1) - L45
apply polynomial_zero_extended_entry_inside - L46
exact hjl - L47
exact ht_witness_witness_witness_right_left
07Construct an explicit witnessL48–50
08Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
split
09Use earlier factsL52–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L52
exact ht_witness_witness_witness_left
10Separate the logical casesL53–55
11Use earlier factsL56–61
12Separate the logical casesL62–62
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L62
split
Original defined command ledger · 64 lines
- 0001
intro ab - 0002
intro ac - 0003
intro L - 0004
intro AB - 0005
intro AC - 0006
intro K - 0007
intro bb - 0008
intro bc - 0009
intro M - 0010
intro N - 0011
intro i - 0012
intro j - 0013
intro t - 0014
intro hl - 0015
intro hk - 0016
intro he - 0017
intro hj - 0018
intro ht - 0019
cases ht - 0020
cases ht_witness - 0021
cases ht_witness_witness - 0022
cases ht_witness_witness_witness - 0023
cases ht_witness_witness_witness_right - 0024
cases ht_witness_witness_witness_right_right - 0025
have hjl : Lt(j,L) - 0026
specialize lt_of_lt_of_le (j) - 0027
specialize lt_of_lt_of_le (N) - 0028
specialize lt_of_lt_of_le (L) - 0029
apply lt_of_lt_of_le - 0030
exact hj - 0031
exact hl - 0032
have hjk : Lt(j,K) - 0033
specialize lt_of_lt_of_le (j) - 0034
specialize lt_of_lt_of_le (N) - 0035
specialize lt_of_lt_of_le (K) - 0036
apply lt_of_lt_of_le - 0037
exact hj - 0038
exact hk - 0039
have ha : BetaAt(ab,ac,j,x1) - 0040
specialize polynomial_zero_extended_entry_inside (ab) - 0041
specialize polynomial_zero_extended_entry_inside (ac) - 0042
specialize polynomial_zero_extended_entry_inside (L) - 0043
specialize polynomial_zero_extended_entry_inside (j) - 0044
specialize polynomial_zero_extended_entry_inside (x1) - 0045
apply polynomial_zero_extended_entry_inside - 0046
exact hjl - 0047
exact ht_witness_witness_witness_right_left - 0048
exists x - 0049
exists x1 - 0050
exists x2 - 0051
split - 0052
exact ht_witness_witness_witness_left - 0053
split - 0054
left - 0055
split - 0056
exact hjk - 0057
specialize he (j) - 0058
specialize he (x1) - 0059
apply he - 0060
exact hj - 0061
exact ha - 0062
split - 0063
exact ht_witness_witness_witness_right_right_left - 0064
exact ht_witness_witness_witness_right_right_right