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. ∀ c. ∀ L. ∀ t. ∀ d. ∀ e. ∀ M. FpPolynomialTrim(p,b,c,L,t,d,e,M) → PolynomialEquivalent(b,c,L,d,e,M)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 41 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 (3)
01Fix variables and assumptionsL1–9
02Establish hcL10–11
Establish this local claim before using it. It is not an additional assumption.
- L10
have hc : FpPolynomialTrim(p,b,c,L,t,d,e,M)Definitions: FpPolynomialTrim(p,b,c,L,t,d,e,M)Original native command in the exact edition - L11
exact h
03Separate the logical casesL12–15
04Calculate and transport equalitiesL16–17
05Use earlier factsL18–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
specialize prime_field_polynomial_equivalent_symmetric (d) - L19
specialize prime_field_polynomial_equivalent_symmetric (e) - L20
specialize prime_field_polynomial_equivalent_symmetric (M) - L21
specialize prime_field_polynomial_equivalent_symmetric (b) - L22
specialize prime_field_polynomial_equivalent_symmetric (c) - L23
specialize prime_field_polynomial_equivalent_symmetric (t+M) - L24
apply prime_field_polynomial_equivalent_symmetric - L25
specialize prime_field_polynomial_left_pad_equivalent (d) - L26
specialize prime_field_polynomial_left_pad_equivalent (e) - L27
specialize prime_field_polynomial_left_pad_equivalent (M)
06Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize prime_field_polynomial_left_pad_equivalent (t) - L29
specialize prime_field_polynomial_left_pad_equivalent (b) - L30
specialize prime_field_polynomial_left_pad_equivalent (c) - L31
apply prime_field_polynomial_left_pad_equivalent - L32
specialize prime_field_polynomial_trim_left_pad (p) - L33
specialize prime_field_polynomial_trim_left_pad (b) - L34
specialize prime_field_polynomial_trim_left_pad (c) - L35
specialize prime_field_polynomial_trim_left_pad (L) - L36
specialize prime_field_polynomial_trim_left_pad (t) - L37
specialize prime_field_polynomial_trim_left_pad (d)
Original defined command ledger · 41 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro L - 0005
intro t - 0006
intro d - 0007
intro e - 0008
intro M - 0009
intro h - 0010
have hc : FpPolynomialTrim(p,b,c,L,t,d,e,M) - 0011
exact h - 0012
cases hc - 0013
cases hc_right - 0014
cases hc_right_right - 0015
cases hc_right_right_right - 0016
rewrite hc_left - 0017
rewrite hc_left - 0018
specialize prime_field_polynomial_equivalent_symmetric (d) - 0019
specialize prime_field_polynomial_equivalent_symmetric (e) - 0020
specialize prime_field_polynomial_equivalent_symmetric (M) - 0021
specialize prime_field_polynomial_equivalent_symmetric (b) - 0022
specialize prime_field_polynomial_equivalent_symmetric (c) - 0023
specialize prime_field_polynomial_equivalent_symmetric (t+M) - 0024
apply prime_field_polynomial_equivalent_symmetric - 0025
specialize prime_field_polynomial_left_pad_equivalent (d) - 0026
specialize prime_field_polynomial_left_pad_equivalent (e) - 0027
specialize prime_field_polynomial_left_pad_equivalent (M) - 0028
specialize prime_field_polynomial_left_pad_equivalent (t) - 0029
specialize prime_field_polynomial_left_pad_equivalent (b) - 0030
specialize prime_field_polynomial_left_pad_equivalent (c) - 0031
apply prime_field_polynomial_left_pad_equivalent - 0032
specialize prime_field_polynomial_trim_left_pad (p) - 0033
specialize prime_field_polynomial_trim_left_pad (b) - 0034
specialize prime_field_polynomial_trim_left_pad (c) - 0035
specialize prime_field_polynomial_trim_left_pad (L) - 0036
specialize prime_field_polynomial_trim_left_pad (t) - 0037
specialize prime_field_polynomial_trim_left_pad (d) - 0038
specialize prime_field_polynomial_trim_left_pad (e) - 0039
specialize prime_field_polynomial_trim_left_pad (M) - 0040
apply prime_field_polynomial_trim_left_pad - 0041
exact h