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) → FpPolynomialRightDivides(p,ab,ac,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 38 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 (2)
01Fix variables and assumptionsL1–6
02Establish huL7–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution left unit exists.
- L7
have hu : ∃ ub. ∃ uc. ∃ cb. ∃ cc. BetaPrefixInto(ub,uc,1,p) ∧ (BetaAt(ub,uc,0,1) ∧ (FpPolyProduct(p,ub,uc,1,ab,ac,L,cb,cc,L) ∧ PolynomialEquivalent(cb,cc,L,ab,ac,L)))Definitions: BetaPrefixInto(ub,uc,1,p)BetaAt(ub,uc,0,1)FpPolyProduct(p,ub,uc,1,ab,ac,L,cb,cc,L)PolynomialEquivalent(cb,cc,L,ab,ac,L)Original native command in the exact edition - L8
specialize prime_field_polynomial_convolution_left_unit_exists (p) - L9
specialize prime_field_polynomial_convolution_left_unit_exists (ab) - L10
specialize prime_field_polynomial_convolution_left_unit_exists (ac) - L11
specialize prime_field_polynomial_convolution_left_unit_exists (L) - L12
apply prime_field_polynomial_convolution_left_unit_exists - L13
exact hp - L14
exact hA
03Separate the logical casesL15–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Use earlier factsL22–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
specialize prime_field_polynomial_right_divides_from_product (p) - L23
specialize prime_field_polynomial_right_divides_from_product (ab) - L24
specialize prime_field_polynomial_right_divides_from_product (ac) - L25
specialize prime_field_polynomial_right_divides_from_product (L) - L26
specialize prime_field_polynomial_right_divides_from_product (ab) - L27
specialize prime_field_polynomial_right_divides_from_product (ac) - L28
specialize prime_field_polynomial_right_divides_from_product (L) - L29
specialize prime_field_polynomial_right_divides_from_product (x) - L30
specialize prime_field_polynomial_right_divides_from_product (x1) - L31
specialize prime_field_polynomial_right_divides_from_product (1)
05Use earlier factsL32–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
specialize prime_field_polynomial_right_divides_from_product (x2) - L33
specialize prime_field_polynomial_right_divides_from_product (x3) - L34
specialize prime_field_polynomial_right_divides_from_product (L) - L35
apply prime_field_polynomial_right_divides_from_product - L36
exact hA - L37
exact hu_witness_witness_witness_witness_right_right_left - L38
exact hu_witness_witness_witness_witness_right_right_right
Original defined command ledger · 38 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro hp - 0006
intro hA - 0007
have hu : ∃ ub. ∃ uc. ∃ cb. ∃ cc. BetaPrefixInto(ub,uc,1,p) ∧ (BetaAt(ub,uc,0,1) ∧ (FpPolyProduct(p,ub,uc,1,ab,ac,L,cb,cc,L) ∧ PolynomialEquivalent(cb,cc,L,ab,ac,L))) - 0008
specialize prime_field_polynomial_convolution_left_unit_exists (p) - 0009
specialize prime_field_polynomial_convolution_left_unit_exists (ab) - 0010
specialize prime_field_polynomial_convolution_left_unit_exists (ac) - 0011
specialize prime_field_polynomial_convolution_left_unit_exists (L) - 0012
apply prime_field_polynomial_convolution_left_unit_exists - 0013
exact hp - 0014
exact hA - 0015
cases hu - 0016
cases hu_witness - 0017
cases hu_witness_witness - 0018
cases hu_witness_witness_witness - 0019
cases hu_witness_witness_witness_witness - 0020
cases hu_witness_witness_witness_witness_right - 0021
cases hu_witness_witness_witness_witness_right_right - 0022
specialize prime_field_polynomial_right_divides_from_product (p) - 0023
specialize prime_field_polynomial_right_divides_from_product (ab) - 0024
specialize prime_field_polynomial_right_divides_from_product (ac) - 0025
specialize prime_field_polynomial_right_divides_from_product (L) - 0026
specialize prime_field_polynomial_right_divides_from_product (ab) - 0027
specialize prime_field_polynomial_right_divides_from_product (ac) - 0028
specialize prime_field_polynomial_right_divides_from_product (L) - 0029
specialize prime_field_polynomial_right_divides_from_product (x) - 0030
specialize prime_field_polynomial_right_divides_from_product (x1) - 0031
specialize prime_field_polynomial_right_divides_from_product (1) - 0032
specialize prime_field_polynomial_right_divides_from_product (x2) - 0033
specialize prime_field_polynomial_right_divides_from_product (x3) - 0034
specialize prime_field_polynomial_right_divides_from_product (L) - 0035
apply prime_field_polynomial_right_divides_from_product - 0036
exact hA - 0037
exact hu_witness_witness_witness_witness_right_right_left - 0038
exact hu_witness_witness_witness_witness_right_right_right