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. ∀ kb. ∀ kc. ∀ ab. ∀ ac. ∀ hb. ∀ hc. ∀ L. BetaAt(kb,kc,0,k) → FpPolyProduct(p,kb,kc,1,ab,ac,L,hb,hc,L) → FpPolyScale(p,k,ab,ac,hb,hc,L)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 74 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–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hproduct
03Separate the logical casesL12–14
04Establish hkbL15–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank bounded prefix value.
- L15
- L16
specialize matrix_rank_bounded_prefix_value (kb) - L17
specialize matrix_rank_bounded_prefix_value (kc) - L18
specialize matrix_rank_bounded_prefix_value (1) - L19
specialize matrix_rank_bounded_prefix_value (p) - L20
specialize matrix_rank_bounded_prefix_value (0) - L21
specialize matrix_rank_bounded_prefix_value (k) - L22
apply matrix_rank_bounded_prefix_value - L23
exact hproduct_left
05Construct an explicit witnessL24–24
Supply the displayed value, then prove that it has the required property.
- L24
exists 0
06Use earlier factsL25–26
07Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
08Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact hkb
09Fix variables and assumptionsL29–30
10Establish haL31–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L31
have ha : ∃ a. BetaAt(ab,ac,i,a)Definitions: BetaAt(ab,ac,i,a)Original native command in the exact edition - L32
specialize beta_at_exists (ab) - L33
specialize beta_at_exists (ac) - L34
specialize beta_at_exists (i) - L35
apply beta_at_exists
11Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases ha
12Establish hrL37–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hproduct right right right.
- L37
have hr : ∃ r. BetaAt(hb,hc,i,r) ∧ FpConvolutionCoefficient(p,kb,kc,1,ab,ac,L,i,r)Definitions: BetaAt(hb,hc,i,r)FpConvolutionCoefficient(p,kb,kc,1,ab,ac,L,i,r)Original native command in the exact edition - L38
specialize hproduct_right_right_right (i) - L39
apply hproduct_right_right_right - L40
exact hi
13Separate the logical casesL41–42
14Construct an explicit witnessL43–44
15Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
split
16Use earlier factsL46–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
exact ha_witness
17Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
split
18Use earlier factsL48–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
exact hr_witness_left - L49
specialize prime_field_convolution_coefficient_left_constant (p) - L50
specialize prime_field_convolution_coefficient_left_constant (k) - L51
specialize prime_field_convolution_coefficient_left_constant (kb) - L52
specialize prime_field_convolution_coefficient_left_constant (kc) - L53
specialize prime_field_convolution_coefficient_left_constant (ab) - L54
specialize prime_field_convolution_coefficient_left_constant (ac) - L55
specialize prime_field_convolution_coefficient_left_constant (L) - L56
specialize prime_field_convolution_coefficient_left_constant (i) - L57
specialize prime_field_convolution_coefficient_left_constant (x)
19Use earlier factsL58–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
specialize prime_field_convolution_coefficient_left_constant (x1) - L59
apply prime_field_convolution_coefficient_left_constant - L60
exact hk - L61
exact hi - L62
exact ha_witness - L63
exact hkb - L64
specialize matrix_rank_bounded_prefix_value (ab) - L65
specialize matrix_rank_bounded_prefix_value (ac) - L66
specialize matrix_rank_bounded_prefix_value (L) - L67
specialize matrix_rank_bounded_prefix_value (p)
20Use earlier factsL68–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 74 lines
- 0001
intro p - 0002
intro k - 0003
intro kb - 0004
intro kc - 0005
intro ab - 0006
intro ac - 0007
intro hb - 0008
intro hc - 0009
intro L - 0010
intro hk - 0011
intro hproduct - 0012
cases hproduct - 0013
cases hproduct_right - 0014
cases hproduct_right_right - 0015
have hkb : Lt(k,p) - 0016
specialize matrix_rank_bounded_prefix_value (kb) - 0017
specialize matrix_rank_bounded_prefix_value (kc) - 0018
specialize matrix_rank_bounded_prefix_value (1) - 0019
specialize matrix_rank_bounded_prefix_value (p) - 0020
specialize matrix_rank_bounded_prefix_value (0) - 0021
specialize matrix_rank_bounded_prefix_value (k) - 0022
apply matrix_rank_bounded_prefix_value - 0023
exact hproduct_left - 0024
exists 0 - 0025
apply zero_add - 0026
exact hk - 0027
split - 0028
exact hkb - 0029
intro i - 0030
intro hi - 0031
have ha : ∃ a. BetaAt(ab,ac,i,a) - 0032
specialize beta_at_exists (ab) - 0033
specialize beta_at_exists (ac) - 0034
specialize beta_at_exists (i) - 0035
apply beta_at_exists - 0036
cases ha - 0037
have hr : ∃ r. BetaAt(hb,hc,i,r) ∧ FpConvolutionCoefficient(p,kb,kc,1,ab,ac,L,i,r) - 0038
specialize hproduct_right_right_right (i) - 0039
apply hproduct_right_right_right - 0040
exact hi - 0041
cases hr - 0042
cases hr_witness - 0043
exists x - 0044
exists x1 - 0045
split - 0046
exact ha_witness - 0047
split - 0048
exact hr_witness_left - 0049
specialize prime_field_convolution_coefficient_left_constant (p) - 0050
specialize prime_field_convolution_coefficient_left_constant (k) - 0051
specialize prime_field_convolution_coefficient_left_constant (kb) - 0052
specialize prime_field_convolution_coefficient_left_constant (kc) - 0053
specialize prime_field_convolution_coefficient_left_constant (ab) - 0054
specialize prime_field_convolution_coefficient_left_constant (ac) - 0055
specialize prime_field_convolution_coefficient_left_constant (L) - 0056
specialize prime_field_convolution_coefficient_left_constant (i) - 0057
specialize prime_field_convolution_coefficient_left_constant (x) - 0058
specialize prime_field_convolution_coefficient_left_constant (x1) - 0059
apply prime_field_convolution_coefficient_left_constant - 0060
exact hk - 0061
exact hi - 0062
exact ha_witness - 0063
exact hkb - 0064
specialize matrix_rank_bounded_prefix_value (ab) - 0065
specialize matrix_rank_bounded_prefix_value (ac) - 0066
specialize matrix_rank_bounded_prefix_value (L) - 0067
specialize matrix_rank_bounded_prefix_value (p) - 0068
specialize matrix_rank_bounded_prefix_value (i) - 0069
specialize matrix_rank_bounded_prefix_value (x) - 0070
apply matrix_rank_bounded_prefix_value - 0071
exact hproduct_right_left - 0072
exact hi - 0073
exact ha_witness - 0074
exact hr_witness_right