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. Prime(p) → PolynomialShift(bb,bc,M,BB,BC) → FpPolyProduct(p,ab,ac,L,bb,bc,M,cb,cc,N) → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. FpPolyProduct(p,ab,ac,L,BB,BC,S M,y,z,x) ∧ (PolynomialShift(cb,cc,N,n,m) ∧ PolynomialEquivalent(y,z,x,n,m,S N))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 95 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–10
02Fix variables and assumptionsL11–15
03Establish hcopyL16–17
Establish this local claim before using it. It is not an additional assumption.
- L16
have hcopy : FpPolyProduct(p,ab,ac,L,bb,bc,M,cb,cc,N)Definitions: FpPolyProduct(p,ab,ac,L,bb,bc,M,cb,cc,N)Original native command in the exact edition - L17
exact hc
04Separate the logical casesL18–20
05Establish hpL21–26
06Establish hlengthL27–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length exists.
- L27
have hlength : ∃ K. PolynomialProductLength(L,S M,K)Definitions: PolynomialProductLength(L,S M,K)Original native command in the exact edition - L28
specialize polynomial_product_length_exists (L) - L29
specialize polynomial_product_length_exists (S M) - L30
apply polynomial_product_length_exists
07Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hlength
08Establish hvL32–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L32
have hv : ∃ d. ∃ e. FpPolyProduct(p,ab,ac,L,BB,BC,S M,d,e,x)Definitions: FpPolyProduct(p,ab,ac,L,BB,BC,S M,d,e,x)Original native command in the exact edition - L33
specialize prime_field_polynomial_convolution_at_length_exists (p) - L34
specialize prime_field_polynomial_convolution_at_length_exists (ab) - L35
specialize prime_field_polynomial_convolution_at_length_exists (ac) - L36
specialize prime_field_polynomial_convolution_at_length_exists (L) - L37
specialize prime_field_polynomial_convolution_at_length_exists (BB) - L38
specialize prime_field_polynomial_convolution_at_length_exists (BC) - L39
specialize prime_field_polynomial_convolution_at_length_exists (S M) - L40
specialize prime_field_polynomial_convolution_at_length_exists (x) - L41
apply prime_field_polynomial_convolution_at_length_exists
09Use earlier factsL42–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hp - L43
exact hcopy_left - L44
specialize prime_field_polynomial_shift_bounded (p) - L45
specialize prime_field_polynomial_shift_bounded (bb) - L46
specialize prime_field_polynomial_shift_bounded (bc) - L47
specialize prime_field_polynomial_shift_bounded (M) - L48
specialize prime_field_polynomial_shift_bounded (BB) - L49
specialize prime_field_polynomial_shift_bounded (BC) - L50
apply prime_field_polynomial_shift_bounded - L51
exact hprime
10Use earlier factsL52–54
11Separate the logical casesL55–56
12Establish heL57–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift exists.
- L57
have he : ∃ e. ∃ f. PolynomialShift(cb,cc,N,e,f)Definitions: PolynomialShift(cb,cc,N,e,f)Original native command in the exact edition - L58
specialize prime_field_polynomial_shift_exists (cb) - L59
specialize prime_field_polynomial_shift_exists (cc) - L60
specialize prime_field_polynomial_shift_exists (N) - L61
apply prime_field_polynomial_shift_exists
13Separate the logical casesL62–63
14Construct an explicit witnessL64–68
15Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
16Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hv_witness_witness
17Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
18Use earlier factsL72–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact he_witness_witness - L73
specialize prime_field_polynomial_convolution_shift_right_equivalent (p) - L74
specialize prime_field_polynomial_convolution_shift_right_equivalent (ab) - L75
specialize prime_field_polynomial_convolution_shift_right_equivalent (ac) - L76
specialize prime_field_polynomial_convolution_shift_right_equivalent (L) - L77
specialize prime_field_polynomial_convolution_shift_right_equivalent (bb) - L78
specialize prime_field_polynomial_convolution_shift_right_equivalent (bc) - L79
specialize prime_field_polynomial_convolution_shift_right_equivalent (M) - L80
specialize prime_field_polynomial_convolution_shift_right_equivalent (cb) - L81
specialize prime_field_polynomial_convolution_shift_right_equivalent (cc)
19Use earlier factsL82–91
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L82
specialize prime_field_polynomial_convolution_shift_right_equivalent (N) - L83
specialize prime_field_polynomial_convolution_shift_right_equivalent (BB) - L84
specialize prime_field_polynomial_convolution_shift_right_equivalent (BC) - L85
specialize prime_field_polynomial_convolution_shift_right_equivalent (x1) - L86
specialize prime_field_polynomial_convolution_shift_right_equivalent (x2) - L87
specialize prime_field_polynomial_convolution_shift_right_equivalent (x) - L88
specialize prime_field_polynomial_convolution_shift_right_equivalent (x3) - L89
specialize prime_field_polynomial_convolution_shift_right_equivalent (x4) - L90
apply prime_field_polynomial_convolution_shift_right_equivalent - L91
exact hp
Original defined command ledger · 95 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 hprime - 0014
intro hs - 0015
intro hc - 0016
have hcopy : FpPolyProduct(p,ab,ac,L,bb,bc,M,cb,cc,N) - 0017
exact hc - 0018
cases hcopy - 0019
cases hcopy_right - 0020
cases hcopy_right_right - 0021
have hp : ~(p=0) - 0022
intro hz - 0023
specialize prime_nonzero (p) - 0024
apply prime_nonzero - 0025
exact hprime - 0026
exact hz - 0027
have hlength : ∃ K. PolynomialProductLength(L,S M,K) - 0028
specialize polynomial_product_length_exists (L) - 0029
specialize polynomial_product_length_exists (S M) - 0030
apply polynomial_product_length_exists - 0031
cases hlength - 0032
have hv : ∃ d. ∃ e. FpPolyProduct(p,ab,ac,L,BB,BC,S M,d,e,x) - 0033
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0034
specialize prime_field_polynomial_convolution_at_length_exists (ab) - 0035
specialize prime_field_polynomial_convolution_at_length_exists (ac) - 0036
specialize prime_field_polynomial_convolution_at_length_exists (L) - 0037
specialize prime_field_polynomial_convolution_at_length_exists (BB) - 0038
specialize prime_field_polynomial_convolution_at_length_exists (BC) - 0039
specialize prime_field_polynomial_convolution_at_length_exists (S M) - 0040
specialize prime_field_polynomial_convolution_at_length_exists (x) - 0041
apply prime_field_polynomial_convolution_at_length_exists - 0042
exact hp - 0043
exact hcopy_left - 0044
specialize prime_field_polynomial_shift_bounded (p) - 0045
specialize prime_field_polynomial_shift_bounded (bb) - 0046
specialize prime_field_polynomial_shift_bounded (bc) - 0047
specialize prime_field_polynomial_shift_bounded (M) - 0048
specialize prime_field_polynomial_shift_bounded (BB) - 0049
specialize prime_field_polynomial_shift_bounded (BC) - 0050
apply prime_field_polynomial_shift_bounded - 0051
exact hprime - 0052
exact hcopy_right_left - 0053
exact hs - 0054
exact hlength_witness - 0055
cases hv - 0056
cases hv_witness - 0057
have he : ∃ e. ∃ f. PolynomialShift(cb,cc,N,e,f) - 0058
specialize prime_field_polynomial_shift_exists (cb) - 0059
specialize prime_field_polynomial_shift_exists (cc) - 0060
specialize prime_field_polynomial_shift_exists (N) - 0061
apply prime_field_polynomial_shift_exists - 0062
cases he - 0063
cases he_witness - 0064
exists x - 0065
exists x1 - 0066
exists x2 - 0067
exists x3 - 0068
exists x4 - 0069
split - 0070
exact hv_witness_witness - 0071
split - 0072
exact he_witness_witness - 0073
specialize prime_field_polynomial_convolution_shift_right_equivalent (p) - 0074
specialize prime_field_polynomial_convolution_shift_right_equivalent (ab) - 0075
specialize prime_field_polynomial_convolution_shift_right_equivalent (ac) - 0076
specialize prime_field_polynomial_convolution_shift_right_equivalent (L) - 0077
specialize prime_field_polynomial_convolution_shift_right_equivalent (bb) - 0078
specialize prime_field_polynomial_convolution_shift_right_equivalent (bc) - 0079
specialize prime_field_polynomial_convolution_shift_right_equivalent (M) - 0080
specialize prime_field_polynomial_convolution_shift_right_equivalent (cb) - 0081
specialize prime_field_polynomial_convolution_shift_right_equivalent (cc) - 0082
specialize prime_field_polynomial_convolution_shift_right_equivalent (N) - 0083
specialize prime_field_polynomial_convolution_shift_right_equivalent (BB) - 0084
specialize prime_field_polynomial_convolution_shift_right_equivalent (BC) - 0085
specialize prime_field_polynomial_convolution_shift_right_equivalent (x1) - 0086
specialize prime_field_polynomial_convolution_shift_right_equivalent (x2) - 0087
specialize prime_field_polynomial_convolution_shift_right_equivalent (x) - 0088
specialize prime_field_polynomial_convolution_shift_right_equivalent (x3) - 0089
specialize prime_field_polynomial_convolution_shift_right_equivalent (x4) - 0090
apply prime_field_polynomial_convolution_shift_right_equivalent - 0091
exact hp - 0092
exact hs - 0093
exact hc - 0094
exact hv_witness_witness - 0095
exact he_witness_witness