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 products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ cb. ∀ cc. ∀ N. ∀ BB. ∀ BC. ∀ db. ∀ dc. ∀ K. ¬p = 0 → PolynomialShift(bb,bc,M,BB,BC) → FpPolyProduct(p,ab,ac,L,bb,bc,M,cb,cc,N) → FpPolyProduct(p,ab,ac,L,BB,BC,S M,db,dc,K) → L = 0 ∨ M = 0 → Repeat(cb,cc,0,N) ∧ Repeat(db,dc,0,K)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 108 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–20
03Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hempty
04Establish hzL22–25
Establish this local claim before using it. It is not an additional assumption.
- L22
have hz : Repeat(ab,ac,0,L)Definitions: Repeat(ab,ac,0,L)Original native command in the exact edition - L23
intro i - L24
intro hi - L25
rewrite hempty_left at hi
05Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
exfalso
06Use earlier factsL27–32
07Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
split
08Use earlier factsL34–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
specialize prime_field_polynomial_convolution_zero_left (p) - L35
specialize prime_field_polynomial_convolution_zero_left (ab) - L36
specialize prime_field_polynomial_convolution_zero_left (ac) - L37
specialize prime_field_polynomial_convolution_zero_left (L) - L38
specialize prime_field_polynomial_convolution_zero_left (bb) - L39
specialize prime_field_polynomial_convolution_zero_left (bc) - L40
specialize prime_field_polynomial_convolution_zero_left (M) - L41
specialize prime_field_polynomial_convolution_zero_left (cb) - L42
specialize prime_field_polynomial_convolution_zero_left (cc) - L43
specialize prime_field_polynomial_convolution_zero_left (N)
09Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply prime_field_polynomial_convolution_zero_left - L45
exact hp - L46
exact hz - L47
exact hc - L48
specialize prime_field_polynomial_convolution_zero_left (p) - L49
specialize prime_field_polynomial_convolution_zero_left (ab) - L50
specialize prime_field_polynomial_convolution_zero_left (ac) - L51
specialize prime_field_polynomial_convolution_zero_left (L) - L52
specialize prime_field_polynomial_convolution_zero_left (BB) - L53
specialize prime_field_polynomial_convolution_zero_left (BC)
10Use earlier factsL54–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize prime_field_polynomial_convolution_zero_left (S M) - L55
specialize prime_field_polynomial_convolution_zero_left (db) - L56
specialize prime_field_polynomial_convolution_zero_left (dc) - L57
specialize prime_field_polynomial_convolution_zero_left (K) - L58
apply prime_field_polynomial_convolution_zero_left - L59
exact hp - L60
exact hz - L61
exact hd
11Establish hzL62–65
Establish this local claim before using it. It is not an additional assumption.
- L62
have hz : Repeat(bb,bc,0,M)Definitions: Repeat(bb,bc,0,M)Original native command in the exact edition - L63
intro i - L64
intro hi - L65
rewrite hempty_right at hi
12Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
exfalso
13Use earlier factsL67–72
14Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
15Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
specialize prime_field_polynomial_convolution_zero_right (p) - L75
specialize prime_field_polynomial_convolution_zero_right (ab) - L76
specialize prime_field_polynomial_convolution_zero_right (ac) - L77
specialize prime_field_polynomial_convolution_zero_right (L) - L78
specialize prime_field_polynomial_convolution_zero_right (bb) - L79
specialize prime_field_polynomial_convolution_zero_right (bc) - L80
specialize prime_field_polynomial_convolution_zero_right (M) - L81
specialize prime_field_polynomial_convolution_zero_right (cb) - L82
specialize prime_field_polynomial_convolution_zero_right (cc) - L83
specialize prime_field_polynomial_convolution_zero_right (N)
16Use earlier factsL84–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
apply prime_field_polynomial_convolution_zero_right - L85
exact hp - L86
exact hz - L87
exact hc - L88
specialize prime_field_polynomial_convolution_zero_right (p) - L89
specialize prime_field_polynomial_convolution_zero_right (ab) - L90
specialize prime_field_polynomial_convolution_zero_right (ac) - L91
specialize prime_field_polynomial_convolution_zero_right (L) - L92
specialize prime_field_polynomial_convolution_zero_right (BB) - L93
specialize prime_field_polynomial_convolution_zero_right (BC)
17Use earlier factsL94–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L94
specialize prime_field_polynomial_convolution_zero_right (S M) - L95
specialize prime_field_polynomial_convolution_zero_right (db) - L96
specialize prime_field_polynomial_convolution_zero_right (dc) - L97
specialize prime_field_polynomial_convolution_zero_right (K) - L98
apply prime_field_polynomial_convolution_zero_right - L99
exact hp - L100
specialize prime_field_polynomial_shift_zero_prefix (bb) - L101
specialize prime_field_polynomial_shift_zero_prefix (bc) - L102
specialize prime_field_polynomial_shift_zero_prefix (M) - L103
specialize prime_field_polynomial_shift_zero_prefix (BB)
Original defined command ledger · 108 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro cb - 0009
intro cc - 0010
intro N - 0011
intro BB - 0012
intro BC - 0013
intro db - 0014
intro dc - 0015
intro K - 0016
intro hp - 0017
intro hs - 0018
intro hc - 0019
intro hd - 0020
intro hempty - 0021
cases hempty - 0022
have hz : Repeat(ab,ac,0,L) - 0023
intro i - 0024
intro hi - 0025
rewrite hempty_left at hi - 0026
exfalso - 0027
specialize lt_not_le (i) - 0028
specialize lt_not_le (0) - 0029
apply lt_not_le - 0030
exact hi - 0031
specialize zero_le (i) - 0032
apply zero_le - 0033
split - 0034
specialize prime_field_polynomial_convolution_zero_left (p) - 0035
specialize prime_field_polynomial_convolution_zero_left (ab) - 0036
specialize prime_field_polynomial_convolution_zero_left (ac) - 0037
specialize prime_field_polynomial_convolution_zero_left (L) - 0038
specialize prime_field_polynomial_convolution_zero_left (bb) - 0039
specialize prime_field_polynomial_convolution_zero_left (bc) - 0040
specialize prime_field_polynomial_convolution_zero_left (M) - 0041
specialize prime_field_polynomial_convolution_zero_left (cb) - 0042
specialize prime_field_polynomial_convolution_zero_left (cc) - 0043
specialize prime_field_polynomial_convolution_zero_left (N) - 0044
apply prime_field_polynomial_convolution_zero_left - 0045
exact hp - 0046
exact hz - 0047
exact hc - 0048
specialize prime_field_polynomial_convolution_zero_left (p) - 0049
specialize prime_field_polynomial_convolution_zero_left (ab) - 0050
specialize prime_field_polynomial_convolution_zero_left (ac) - 0051
specialize prime_field_polynomial_convolution_zero_left (L) - 0052
specialize prime_field_polynomial_convolution_zero_left (BB) - 0053
specialize prime_field_polynomial_convolution_zero_left (BC) - 0054
specialize prime_field_polynomial_convolution_zero_left (S M) - 0055
specialize prime_field_polynomial_convolution_zero_left (db) - 0056
specialize prime_field_polynomial_convolution_zero_left (dc) - 0057
specialize prime_field_polynomial_convolution_zero_left (K) - 0058
apply prime_field_polynomial_convolution_zero_left - 0059
exact hp - 0060
exact hz - 0061
exact hd - 0062
have hz : Repeat(bb,bc,0,M) - 0063
intro i - 0064
intro hi - 0065
rewrite hempty_right at hi - 0066
exfalso - 0067
specialize lt_not_le (i) - 0068
specialize lt_not_le (0) - 0069
apply lt_not_le - 0070
exact hi - 0071
specialize zero_le (i) - 0072
apply zero_le - 0073
split - 0074
specialize prime_field_polynomial_convolution_zero_right (p) - 0075
specialize prime_field_polynomial_convolution_zero_right (ab) - 0076
specialize prime_field_polynomial_convolution_zero_right (ac) - 0077
specialize prime_field_polynomial_convolution_zero_right (L) - 0078
specialize prime_field_polynomial_convolution_zero_right (bb) - 0079
specialize prime_field_polynomial_convolution_zero_right (bc) - 0080
specialize prime_field_polynomial_convolution_zero_right (M) - 0081
specialize prime_field_polynomial_convolution_zero_right (cb) - 0082
specialize prime_field_polynomial_convolution_zero_right (cc) - 0083
specialize prime_field_polynomial_convolution_zero_right (N) - 0084
apply prime_field_polynomial_convolution_zero_right - 0085
exact hp - 0086
exact hz - 0087
exact hc - 0088
specialize prime_field_polynomial_convolution_zero_right (p) - 0089
specialize prime_field_polynomial_convolution_zero_right (ab) - 0090
specialize prime_field_polynomial_convolution_zero_right (ac) - 0091
specialize prime_field_polynomial_convolution_zero_right (L) - 0092
specialize prime_field_polynomial_convolution_zero_right (BB) - 0093
specialize prime_field_polynomial_convolution_zero_right (BC) - 0094
specialize prime_field_polynomial_convolution_zero_right (S M) - 0095
specialize prime_field_polynomial_convolution_zero_right (db) - 0096
specialize prime_field_polynomial_convolution_zero_right (dc) - 0097
specialize prime_field_polynomial_convolution_zero_right (K) - 0098
apply prime_field_polynomial_convolution_zero_right - 0099
exact hp - 0100
specialize prime_field_polynomial_shift_zero_prefix (bb) - 0101
specialize prime_field_polynomial_shift_zero_prefix (bc) - 0102
specialize prime_field_polynomial_shift_zero_prefix (M) - 0103
specialize prime_field_polynomial_shift_zero_prefix (BB) - 0104
specialize prime_field_polynomial_shift_zero_prefix (BC) - 0105
apply prime_field_polynomial_shift_zero_prefix - 0106
exact hz - 0107
exact hs - 0108
exact hd