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. ∀ d. Le(q,L) → Le(L,q + d) → Repeat(ub,uc,0,q) → FpPolynomialTrim(p,ub,uc,L,t,rb,rc,R) → Le(R,d)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 65 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Establish hqtL15–24
Establish this local claim before using it. It is not an additional assumption.
- L15
- L16
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (p) - L17
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (ub) - L18
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (uc) - L19
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (L) - L20
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (t) - L21
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (rb) - L22
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (rc) - L23
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (R) - L24
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (q)
04Use earlier factsL25–28
05Establish hcopyL29–30
Establish this local claim before using it. It is not an additional assumption.
- L29
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 - L30
exact ht
06Separate the logical casesL31–34
07Establish htotalL35–41
08Establish hpartialL42–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add left.
- L42
have hpartial : Le(R + q,R + t)Definitions: Le(R + q,R + t)Original native command in the exact edition - L43
specialize add_le_add_left (q) - L44
specialize add_le_add_left (t) - L45
specialize add_le_add_left (R) - L46
apply add_le_add_left - L47
exact hqt - L48
rewrite htotal at hpartial
09Establish hfullL49–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L49
have hfull : Le(R + q,q + d)Definitions: Le(R + q,q + d)Original native command in the exact edition - L50
specialize le_trans (R+q) - L51
specialize le_trans (L) - L52
specialize le_trans (q+d) - L53
apply le_trans - L54
exact hpartial - L55
exact hLd
10Establish hcommL56–65
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
Original defined command ledger · 65 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 d - 0011
intro hqL - 0012
intro hLd - 0013
intro hz - 0014
intro ht - 0015
have hqt : Le(q,t) - 0016
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (p) - 0017
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (ub) - 0018
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (uc) - 0019
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (L) - 0020
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (t) - 0021
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (rb) - 0022
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (rc) - 0023
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (R) - 0024
specialize prime_field_polynomial_trim_zero_prefix_cut_bound (q) - 0025
apply prime_field_polynomial_trim_zero_prefix_cut_bound - 0026
exact hqL - 0027
exact hz - 0028
exact ht - 0029
have hcopy : FpPolynomialTrim(p,ub,uc,L,t,rb,rc,R) - 0030
exact ht - 0031
cases hcopy - 0032
cases hcopy_right - 0033
cases hcopy_right_right - 0034
cases hcopy_right_right_right - 0035
have htotal : R+t=L - 0036
trans t+R - 0037
specialize add_comm (R) - 0038
specialize add_comm (t) - 0039
apply add_comm - 0040
symm - 0041
exact hcopy_left - 0042
have hpartial : Le(R + q,R + t) - 0043
specialize add_le_add_left (q) - 0044
specialize add_le_add_left (t) - 0045
specialize add_le_add_left (R) - 0046
apply add_le_add_left - 0047
exact hqt - 0048
rewrite htotal at hpartial - 0049
have hfull : Le(R + q,q + d) - 0050
specialize le_trans (R+q) - 0051
specialize le_trans (L) - 0052
specialize le_trans (q+d) - 0053
apply le_trans - 0054
exact hpartial - 0055
exact hLd - 0056
have hcomm : q+d=d+q - 0057
specialize add_comm (q) - 0058
specialize add_comm (d) - 0059
apply add_comm - 0060
rewrite hcomm at hfull - 0061
specialize add_le_cancel_right (R) - 0062
specialize add_le_cancel_right (d) - 0063
specialize add_le_cancel_right (q) - 0064
apply add_le_cancel_right - 0065
exact hfull