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. ∀ k. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ sb. ∀ sc. ∀ cb. ∀ cc. ∀ N. ∀ db. ∀ dc. ∀ K. FpPolyScale(p,k,bb,bc,sb,sc,M) → FpPolyProduct(p,ab,ac,L,bb,bc,M,cb,cc,N) → FpPolyProduct(p,ab,ac,L,sb,sc,M,db,dc,K) → K = N ∧ FpPolyScale(p,k,cb,cc,db,dc,N)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 78 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–19
03Separate the logical casesL20–25
04Establish hkL26–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length functional.
- L26
have hk : K=N - L27
specialize polynomial_product_length_functional (L) - L28
specialize polynomial_product_length_functional (M) - L29
specialize polynomial_product_length_functional (K) - L30
specialize polynomial_product_length_functional (N) - L31
apply polynomial_product_length_functional - L32
exact hd_right_right_left - L33
exact hc_right_right_left
05Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
split
06Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hk
07Establish hcopyL36–37
Establish this local claim before using it. It is not an additional assumption.
- L36
have hcopy : FpPolyScale(p,k,bb,bc,sb,sc,M)Definitions: FpPolyScale(p,k,bb,bc,sb,sc,M)Original native command in the exact edition - L37
exact hs
08Separate the logical casesL38–39
09Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hcopy_left
10Fix variables and assumptionsL41–42
11Establish haL43–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc right right right.
- L43
have ha : ∃ a. BetaAt(cb,cc,i,a) ∧ FpConvolutionCoefficient(p,ab,ac,L,bb,bc,M,i,a)Definitions: BetaAt(cb,cc,i,a)FpConvolutionCoefficient(p,ab,ac,L,bb,bc,M,i,a)Original native command in the exact edition - L44
specialize hc_right_right_right (i) - L45
apply hc_right_right_right - L46
exact hi
12Separate the logical casesL47–48
13Establish hbL49–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hd right right right.
- L49
have hb : ∃ a. BetaAt(db,dc,i,a) ∧ FpConvolutionCoefficient(p,ab,ac,L,sb,sc,M,i,a)Definitions: BetaAt(db,dc,i,a)FpConvolutionCoefficient(p,ab,ac,L,sb,sc,M,i,a)Original native command in the exact edition - L50
specialize hd_right_right_right (i) - L51
apply hd_right_right_right - L52
rewrite hk - L53
exact hi
14Separate the logical casesL54–55
15Construct an explicit witnessL56–57
16Separate the logical casesL58–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
split
17Use earlier factsL59–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact ha_witness_left
18Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
split
19Use earlier factsL61–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
exact hb_witness_left - L62
specialize prime_field_convolution_coefficient_right_scale (p) - L63
specialize prime_field_convolution_coefficient_right_scale (k) - L64
specialize prime_field_convolution_coefficient_right_scale (ab) - L65
specialize prime_field_convolution_coefficient_right_scale (ac) - L66
specialize prime_field_convolution_coefficient_right_scale (L) - L67
specialize prime_field_convolution_coefficient_right_scale (bb) - L68
specialize prime_field_convolution_coefficient_right_scale (bc) - L69
specialize prime_field_convolution_coefficient_right_scale (M) - L70
specialize prime_field_convolution_coefficient_right_scale (sb)
20Use earlier factsL71–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
specialize prime_field_convolution_coefficient_right_scale (sc) - L72
specialize prime_field_convolution_coefficient_right_scale (i) - L73
specialize prime_field_convolution_coefficient_right_scale (x) - L74
specialize prime_field_convolution_coefficient_right_scale (x1) - L75
apply prime_field_convolution_coefficient_right_scale - L76
exact hs - L77
exact ha_witness_right - L78
exact hb_witness_right
Original defined command ledger · 78 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro L - 0006
intro bb - 0007
intro bc - 0008
intro M - 0009
intro sb - 0010
intro sc - 0011
intro cb - 0012
intro cc - 0013
intro N - 0014
intro db - 0015
intro dc - 0016
intro K - 0017
intro hs - 0018
intro hc - 0019
intro hd - 0020
cases hc - 0021
cases hc_right - 0022
cases hc_right_right - 0023
cases hd - 0024
cases hd_right - 0025
cases hd_right_right - 0026
have hk : K=N - 0027
specialize polynomial_product_length_functional (L) - 0028
specialize polynomial_product_length_functional (M) - 0029
specialize polynomial_product_length_functional (K) - 0030
specialize polynomial_product_length_functional (N) - 0031
apply polynomial_product_length_functional - 0032
exact hd_right_right_left - 0033
exact hc_right_right_left - 0034
split - 0035
exact hk - 0036
have hcopy : FpPolyScale(p,k,bb,bc,sb,sc,M) - 0037
exact hs - 0038
cases hcopy - 0039
split - 0040
exact hcopy_left - 0041
intro i - 0042
intro hi - 0043
have ha : ∃ a. BetaAt(cb,cc,i,a) ∧ FpConvolutionCoefficient(p,ab,ac,L,bb,bc,M,i,a) - 0044
specialize hc_right_right_right (i) - 0045
apply hc_right_right_right - 0046
exact hi - 0047
cases ha - 0048
cases ha_witness - 0049
have hb : ∃ a. BetaAt(db,dc,i,a) ∧ FpConvolutionCoefficient(p,ab,ac,L,sb,sc,M,i,a) - 0050
specialize hd_right_right_right (i) - 0051
apply hd_right_right_right - 0052
rewrite hk - 0053
exact hi - 0054
cases hb - 0055
cases hb_witness - 0056
exists x - 0057
exists x1 - 0058
split - 0059
exact ha_witness_left - 0060
split - 0061
exact hb_witness_left - 0062
specialize prime_field_convolution_coefficient_right_scale (p) - 0063
specialize prime_field_convolution_coefficient_right_scale (k) - 0064
specialize prime_field_convolution_coefficient_right_scale (ab) - 0065
specialize prime_field_convolution_coefficient_right_scale (ac) - 0066
specialize prime_field_convolution_coefficient_right_scale (L) - 0067
specialize prime_field_convolution_coefficient_right_scale (bb) - 0068
specialize prime_field_convolution_coefficient_right_scale (bc) - 0069
specialize prime_field_convolution_coefficient_right_scale (M) - 0070
specialize prime_field_convolution_coefficient_right_scale (sb) - 0071
specialize prime_field_convolution_coefficient_right_scale (sc) - 0072
specialize prime_field_convolution_coefficient_right_scale (i) - 0073
specialize prime_field_convolution_coefficient_right_scale (x) - 0074
specialize prime_field_convolution_coefficient_right_scale (x1) - 0075
apply prime_field_convolution_coefficient_right_scale - 0076
exact hs - 0077
exact ha_witness_right - 0078
exact hb_witness_right