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. Prime(p) → BetaPrefixInto(ab,ac,L,p) → ∃ x. ∃ y. ∃ z. ∃ n. BetaPrefixInto(x,y,1,p) ∧ (BetaAt(x,y,0,1) ∧ (FpPolyProduct(p,x,y,1,ab,ac,L,z,n,L) ∧ PolynomialEquivalent(z,n,L,ab,ac,L)))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 81 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–6
02Establish hp0L7–12
03Establish huL13–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial repeat exists.
- L13
have hu : ∃ ub. ∃ uc. BetaPrefixInto(ub,uc,1,p) ∧ Repeat(ub,uc,1,1)Definitions: BetaPrefixInto(ub,uc,1,p)Repeat(ub,uc,1,1)Original native command in the exact edition - L14
specialize prime_field_polynomial_repeat_exists (p) - L15
specialize prime_field_polynomial_repeat_exists (1) - L16
specialize prime_field_polynomial_repeat_exists (1) - L17
apply prime_field_polynomial_repeat_exists - L18
specialize prime_two_le (p) - L19
apply prime_two_le - L20
exact hp
04Separate the logical casesL21–23
05Establish honeL24–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hu witness witness right.
- L24
have hone : BetaAt(x,x1,0,1)Definitions: BetaAt(x,x1,0,1)Original native command in the exact edition - L25
specialize hu_witness_witness_right (0) - L26
apply hu_witness_witness_right
06Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists 0
07Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
apply zero_add
08Establish hcL29–38
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.
- L29
have hc : ∃ cb. ∃ cc. FpPolyProduct(p,x,x1,1,ab,ac,L,cb,cc,L)Definitions: FpPolyProduct(p,x,x1,1,ab,ac,L,cb,cc,L)Original native command in the exact edition - L30
specialize prime_field_polynomial_convolution_at_length_exists (p) - L31
specialize prime_field_polynomial_convolution_at_length_exists (x) - L32
specialize prime_field_polynomial_convolution_at_length_exists (x1) - L33
specialize prime_field_polynomial_convolution_at_length_exists (1) - 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 (L) - L38
apply prime_field_polynomial_convolution_at_length_exists
09Use earlier factsL39–41
10Establish hzeroL42–45
11Separate the logical casesL46–49
12Use earlier factsL50–51
13Separate the logical casesL52–53
14Use earlier factsL54–55
15Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
16Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hzero_right
17Calculate and transport equalitiesL58–58
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L58
simp [add_succ_left,zero_add]
18Separate the logical casesL59–60
19Construct an explicit witnessL61–64
20Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
split
21Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
exact hu_witness_witness_left
22Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
23Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hone
24Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
25Use earlier factsL70–79
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hc_witness_witness - L71
specialize prime_field_polynomial_convolution_left_unit_equivalent (p) - L72
specialize prime_field_polynomial_convolution_left_unit_equivalent (x) - L73
specialize prime_field_polynomial_convolution_left_unit_equivalent (x1) - L74
specialize prime_field_polynomial_convolution_left_unit_equivalent (ab) - L75
specialize prime_field_polynomial_convolution_left_unit_equivalent (ac) - L76
specialize prime_field_polynomial_convolution_left_unit_equivalent (L) - L77
specialize prime_field_polynomial_convolution_left_unit_equivalent (x2) - L78
specialize prime_field_polynomial_convolution_left_unit_equivalent (x3) - L79
apply prime_field_polynomial_convolution_left_unit_equivalent
Original defined command ledger · 81 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro hp - 0006
intro hA - 0007
have hp0 : ~(p=0) - 0008
intro hz - 0009
specialize prime_nonzero (p) - 0010
apply prime_nonzero - 0011
exact hp - 0012
exact hz - 0013
have hu : ∃ ub. ∃ uc. BetaPrefixInto(ub,uc,1,p) ∧ Repeat(ub,uc,1,1) - 0014
specialize prime_field_polynomial_repeat_exists (p) - 0015
specialize prime_field_polynomial_repeat_exists (1) - 0016
specialize prime_field_polynomial_repeat_exists (1) - 0017
apply prime_field_polynomial_repeat_exists - 0018
specialize prime_two_le (p) - 0019
apply prime_two_le - 0020
exact hp - 0021
cases hu - 0022
cases hu_witness - 0023
cases hu_witness_witness - 0024
have hone : BetaAt(x,x1,0,1) - 0025
specialize hu_witness_witness_right (0) - 0026
apply hu_witness_witness_right - 0027
exists 0 - 0028
apply zero_add - 0029
have hc : ∃ cb. ∃ cc. FpPolyProduct(p,x,x1,1,ab,ac,L,cb,cc,L) - 0030
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0031
specialize prime_field_polynomial_convolution_at_length_exists (x) - 0032
specialize prime_field_polynomial_convolution_at_length_exists (x1) - 0033
specialize prime_field_polynomial_convolution_at_length_exists (1) - 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 (L) - 0038
apply prime_field_polynomial_convolution_at_length_exists - 0039
exact hp0 - 0040
exact hu_witness_witness_left - 0041
exact hA - 0042
have hzero : L=0 \/ ~(L=0) - 0043
specialize eq_decidable (L) - 0044
specialize eq_decidable (0) - 0045
apply eq_decidable - 0046
cases hzero - 0047
left - 0048
split - 0049
right - 0050
exact hzero_left - 0051
exact hzero_left - 0052
right - 0053
split - 0054
specialize succ_ne_zero (0) - 0055
apply succ_ne_zero - 0056
split - 0057
exact hzero_right - 0058
simp [add_succ_left,zero_add] - 0059
cases hc - 0060
cases hc_witness - 0061
exists x - 0062
exists x1 - 0063
exists x2 - 0064
exists x3 - 0065
split - 0066
exact hu_witness_witness_left - 0067
split - 0068
exact hone - 0069
split - 0070
exact hc_witness_witness - 0071
specialize prime_field_polynomial_convolution_left_unit_equivalent (p) - 0072
specialize prime_field_polynomial_convolution_left_unit_equivalent (x) - 0073
specialize prime_field_polynomial_convolution_left_unit_equivalent (x1) - 0074
specialize prime_field_polynomial_convolution_left_unit_equivalent (ab) - 0075
specialize prime_field_polynomial_convolution_left_unit_equivalent (ac) - 0076
specialize prime_field_polynomial_convolution_left_unit_equivalent (L) - 0077
specialize prime_field_polynomial_convolution_left_unit_equivalent (x2) - 0078
specialize prime_field_polynomial_convolution_left_unit_equivalent (x3) - 0079
apply prime_field_polynomial_convolution_left_unit_equivalent - 0080
exact hone - 0081
exact hc_witness_witness