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. ∀ ub. ∀ uc. ∀ L. ∀ t. ∀ rb. ∀ rc. ∀ R. ∀ q. Le(q,L) → Repeat(ub,uc,0,q) → FpPolynomialTrim(p,ub,uc,L,t,rb,rc,R) → Le(q,t)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 53 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–12
03Establish horderL13–16
04Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases horder
05Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact horder_left
06Establish hRL19–22
07Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hR
08Establish hcopyL24–25
Establish this local claim before using it. It is not an additional assumption.
- L24
have hcopy : FpPolynomialTrim(p,ub,uc,L,t,rb,rc,R)Definitions: FpPolynomialTrim(p,ub,uc,L,t,rb,rc,R)Original native command in the exact edition - L25
exact ht
09Separate the logical casesL26–29
10Establish hLtL30–36
11Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
exfalso
12Use earlier factsL38–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
specialize prime_field_polynomial_trim_leading_source_nonzero (p) - L39
specialize prime_field_polynomial_trim_leading_source_nonzero (ub) - L40
specialize prime_field_polynomial_trim_leading_source_nonzero (uc) - L41
specialize prime_field_polynomial_trim_leading_source_nonzero (L) - L42
specialize prime_field_polynomial_trim_leading_source_nonzero (t) - L43
specialize prime_field_polynomial_trim_leading_source_nonzero (rb) - L44
specialize prime_field_polynomial_trim_leading_source_nonzero (rc) - L45
specialize prime_field_polynomial_trim_leading_source_nonzero (R) - L46
specialize prime_field_polynomial_trim_leading_source_nonzero (0) - L47
apply prime_field_polynomial_trim_leading_source_nonzero
13Use earlier factsL48–52
14Calculate and transport equalitiesL53–53
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L53
refl
Original defined command ledger · 53 lines
- 0001
intro p - 0002
intro ub - 0003
intro uc - 0004
intro L - 0005
intro t - 0006
intro rb - 0007
intro rc - 0008
intro R - 0009
intro q - 0010
intro hlen - 0011
intro hz - 0012
intro ht - 0013
have horder : Le(q,t) ∨ Lt(t,q) - 0014
specialize le_or_lt (q) - 0015
specialize le_or_lt (t) - 0016
apply le_or_lt - 0017
cases horder - 0018
exact horder_left - 0019
have hR : R=0 \/ ~(R=0) - 0020
specialize eq_decidable (R) - 0021
specialize eq_decidable (0) - 0022
apply eq_decidable - 0023
cases hR - 0024
have hcopy : FpPolynomialTrim(p,ub,uc,L,t,rb,rc,R) - 0025
exact ht - 0026
cases hcopy - 0027
cases hcopy_right - 0028
cases hcopy_right_right - 0029
cases hcopy_right_right_right - 0030
have hLt : L=t - 0031
trans t+R - 0032
exact hcopy_left - 0033
rewrite hR_left - 0034
simp - 0035
rewrite hLt at hlen - 0036
exact hlen - 0037
exfalso - 0038
specialize prime_field_polynomial_trim_leading_source_nonzero (p) - 0039
specialize prime_field_polynomial_trim_leading_source_nonzero (ub) - 0040
specialize prime_field_polynomial_trim_leading_source_nonzero (uc) - 0041
specialize prime_field_polynomial_trim_leading_source_nonzero (L) - 0042
specialize prime_field_polynomial_trim_leading_source_nonzero (t) - 0043
specialize prime_field_polynomial_trim_leading_source_nonzero (rb) - 0044
specialize prime_field_polynomial_trim_leading_source_nonzero (rc) - 0045
specialize prime_field_polynomial_trim_leading_source_nonzero (R) - 0046
specialize prime_field_polynomial_trim_leading_source_nonzero (0) - 0047
apply prime_field_polynomial_trim_leading_source_nonzero - 0048
exact ht - 0049
exact hR_right - 0050
specialize hz (t) - 0051
apply hz - 0052
exact horder_right - 0053
refl