Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
All coefficients retain the established highest-degree-first order. Trimming handles empty and all-zero prefixes; monic normalization requires a nonzero leading coefficient. Synthetic division has a nonempty input of length S n and a quotient of length n, unique in decoded values. Its coefficient recurrence, actual evaluation remainder and positive-degree drop are checked. General polynomial Euclidean division, gcd/Bezout, an arbitrary-convolution factor theorem, irreducible-polynomial existence and the full G091 prime-power-field endpoint remain open. These exact theorems are first admitted to Alpha v32; Stable remains unchanged.
Exact theorem in conservative defined notation
∀ p. ∀ b. ∀ c. ∀ L. ∀ t. ∀ d. ∀ e. ∀ M. ∀ u. ∀ f. ∀ g. ∀ N. FpPolynomialTrim(p,b,c,L,t,d,e,M) → FpPolynomialTrim(p,b,c,L,u,f,g,N) → Le(t,u)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 79 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Establish hboundL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial trim length bounds.
- L15
have hbound : Le(t,L) ∧ Le(M,L)Definitions: Le(t,L)Le(M,L)Original native command in the exact edition - L16
specialize prime_field_polynomial_trim_length_bounds (p) - L17
specialize prime_field_polynomial_trim_length_bounds (b) - L18
specialize prime_field_polynomial_trim_length_bounds (c) - L19
specialize prime_field_polynomial_trim_length_bounds (L) - L20
specialize prime_field_polynomial_trim_length_bounds (t) - L21
specialize prime_field_polynomial_trim_length_bounds (d) - L22
specialize prime_field_polynomial_trim_length_bounds (e) - L23
specialize prime_field_polynomial_trim_length_bounds (M) - L24
apply prime_field_polynomial_trim_length_bounds
04Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact h
05Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hbound
06Establish horderL27–30
07Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases horder
08Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact horder_left
09Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
exfalso
10Establish hNL34–37
11Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hN
12Establish hkcopyL39–40
Establish this local claim before using it. It is not an additional assumption.
- L39
have hkcopy : FpPolynomialTrim(p,b,c,L,u,f,g,N)Definitions: FpPolynomialTrim(p,b,c,L,u,f,g,N)Original native command in the exact edition - L40
exact hk
13Separate the logical casesL41–44
14Establish hlenL45–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt not le.
15Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hbound_left
16Establish hcopyL56–57
Establish this local claim before using it. It is not an additional assumption.
- L56
have hcopy : 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 - L57
exact h
17Separate the logical casesL58–61
18Establish hzL62–71
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcopy right right left.
- L62
- L63
specialize hcopy_right_right_left (u) - L64
apply hcopy_right_right_left - L65
exact horder_right - L66
specialize prime_field_polynomial_trim_leading_source_nonzero (p) - L67
specialize prime_field_polynomial_trim_leading_source_nonzero (b) - L68
specialize prime_field_polynomial_trim_leading_source_nonzero (c) - L69
specialize prime_field_polynomial_trim_leading_source_nonzero (L) - L70
specialize prime_field_polynomial_trim_leading_source_nonzero (u) - L71
specialize prime_field_polynomial_trim_leading_source_nonzero (f)
19Use earlier factsL72–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
specialize prime_field_polynomial_trim_leading_source_nonzero (g) - L73
specialize prime_field_polynomial_trim_leading_source_nonzero (N) - L74
specialize prime_field_polynomial_trim_leading_source_nonzero (0) - L75
apply prime_field_polynomial_trim_leading_source_nonzero - L76
exact hk - L77
exact hN_right - L78
exact hz
20Calculate and transport equalitiesL79–79
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L79
refl
Original defined command ledger · 79 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 u - 0010
intro f - 0011
intro g - 0012
intro N - 0013
intro h - 0014
intro hk - 0015
have hbound : Le(t,L) ∧ Le(M,L) - 0016
specialize prime_field_polynomial_trim_length_bounds (p) - 0017
specialize prime_field_polynomial_trim_length_bounds (b) - 0018
specialize prime_field_polynomial_trim_length_bounds (c) - 0019
specialize prime_field_polynomial_trim_length_bounds (L) - 0020
specialize prime_field_polynomial_trim_length_bounds (t) - 0021
specialize prime_field_polynomial_trim_length_bounds (d) - 0022
specialize prime_field_polynomial_trim_length_bounds (e) - 0023
specialize prime_field_polynomial_trim_length_bounds (M) - 0024
apply prime_field_polynomial_trim_length_bounds - 0025
exact h - 0026
cases hbound - 0027
have horder : Le(t,u) ∨ Lt(u,t) - 0028
specialize le_or_lt (t) - 0029
specialize le_or_lt (u) - 0030
apply le_or_lt - 0031
cases horder - 0032
exact horder_left - 0033
exfalso - 0034
have hN : N=0 \/ ~(N=0) - 0035
specialize eq_decidable (N) - 0036
specialize eq_decidable (0) - 0037
apply eq_decidable - 0038
cases hN - 0039
have hkcopy : FpPolynomialTrim(p,b,c,L,u,f,g,N) - 0040
exact hk - 0041
cases hkcopy - 0042
cases hkcopy_right - 0043
cases hkcopy_right_right - 0044
cases hkcopy_right_right_right - 0045
have hlen : L=u - 0046
trans u+N - 0047
exact hkcopy_left - 0048
rewrite hN_left - 0049
simp - 0050
rewrite hlen at hbound_left - 0051
specialize lt_not_le (u) - 0052
specialize lt_not_le (t) - 0053
apply lt_not_le - 0054
exact horder_right - 0055
exact hbound_left - 0056
have hcopy : FpPolynomialTrim(p,b,c,L,t,d,e,M) - 0057
exact h - 0058
cases hcopy - 0059
cases hcopy_right - 0060
cases hcopy_right_right - 0061
cases hcopy_right_right_right - 0062
have hz : BetaAt(b,c,u,0) - 0063
specialize hcopy_right_right_left (u) - 0064
apply hcopy_right_right_left - 0065
exact horder_right - 0066
specialize prime_field_polynomial_trim_leading_source_nonzero (p) - 0067
specialize prime_field_polynomial_trim_leading_source_nonzero (b) - 0068
specialize prime_field_polynomial_trim_leading_source_nonzero (c) - 0069
specialize prime_field_polynomial_trim_leading_source_nonzero (L) - 0070
specialize prime_field_polynomial_trim_leading_source_nonzero (u) - 0071
specialize prime_field_polynomial_trim_leading_source_nonzero (f) - 0072
specialize prime_field_polynomial_trim_leading_source_nonzero (g) - 0073
specialize prime_field_polynomial_trim_leading_source_nonzero (N) - 0074
specialize prime_field_polynomial_trim_leading_source_nonzero (0) - 0075
apply prime_field_polynomial_trim_leading_source_nonzero - 0076
exact hk - 0077
exact hN_right - 0078
exact hz - 0079
refl