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. ∀ db. ∀ dc. ∀ D. ∀ ab. ∀ ac. BetaPrefixInto(db,dc,D,p) → FpPolynomialRightDivides(p,db,dc,D,ab,ac,0)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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–7
02Use earlier factsL8–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
specialize prime_field_polynomial_right_divides_from_product (p) - L9
specialize prime_field_polynomial_right_divides_from_product (db) - L10
specialize prime_field_polynomial_right_divides_from_product (dc) - L11
specialize prime_field_polynomial_right_divides_from_product (D) - L12
specialize prime_field_polynomial_right_divides_from_product (ab) - L13
specialize prime_field_polynomial_right_divides_from_product (ac) - L14
specialize prime_field_polynomial_right_divides_from_product (0) - L15
specialize prime_field_polynomial_right_divides_from_product (0) - L16
specialize prime_field_polynomial_right_divides_from_product (0) - L17
specialize prime_field_polynomial_right_divides_from_product (0)
03Use earlier factsL18–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
specialize prime_field_polynomial_right_divides_from_product (ab) - L19
specialize prime_field_polynomial_right_divides_from_product (ac) - L20
specialize prime_field_polynomial_right_divides_from_product (0) - L21
apply prime_field_polynomial_right_divides_from_product - L22
specialize matrix_rank_bounded_prefix_empty (ab) - L23
specialize matrix_rank_bounded_prefix_empty (ac) - L24
specialize matrix_rank_bounded_prefix_empty (p) - L25
apply matrix_rank_bounded_prefix_empty - L26
specialize prime_field_polynomial_convolution_empty (p) - L27
specialize prime_field_polynomial_convolution_empty (0)
04Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize prime_field_polynomial_convolution_empty (0) - L29
specialize prime_field_polynomial_convolution_empty (0) - L30
specialize prime_field_polynomial_convolution_empty (db) - L31
specialize prime_field_polynomial_convolution_empty (dc) - L32
specialize prime_field_polynomial_convolution_empty (D) - L33
specialize prime_field_polynomial_convolution_empty (ab) - L34
specialize prime_field_polynomial_convolution_empty (ac) - L35
apply prime_field_polynomial_convolution_empty - L36
specialize matrix_rank_bounded_prefix_empty (0) - L37
specialize matrix_rank_bounded_prefix_empty (0)
05Use earlier factsL38–40
06Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
left
07Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
refl
08Fix variables and assumptionsL43–47
09Use earlier factsL48–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
specialize prime_field_polynomial_power_coefficient_functional (ab) - L49
specialize prime_field_polynomial_power_coefficient_functional (ac) - L50
specialize prime_field_polynomial_power_coefficient_functional (0) - L51
specialize prime_field_polynomial_power_coefficient_functional (k) - L52
specialize prime_field_polynomial_power_coefficient_functional (a) - L53
specialize prime_field_polynomial_power_coefficient_functional (r) - L54
apply prime_field_polynomial_power_coefficient_functional - L55
exact ha - L56
exact hr
Original defined command ledger · 56 lines
- 0001
intro p - 0002
intro db - 0003
intro dc - 0004
intro D - 0005
intro ab - 0006
intro ac - 0007
intro hD - 0008
specialize prime_field_polynomial_right_divides_from_product (p) - 0009
specialize prime_field_polynomial_right_divides_from_product (db) - 0010
specialize prime_field_polynomial_right_divides_from_product (dc) - 0011
specialize prime_field_polynomial_right_divides_from_product (D) - 0012
specialize prime_field_polynomial_right_divides_from_product (ab) - 0013
specialize prime_field_polynomial_right_divides_from_product (ac) - 0014
specialize prime_field_polynomial_right_divides_from_product (0) - 0015
specialize prime_field_polynomial_right_divides_from_product (0) - 0016
specialize prime_field_polynomial_right_divides_from_product (0) - 0017
specialize prime_field_polynomial_right_divides_from_product (0) - 0018
specialize prime_field_polynomial_right_divides_from_product (ab) - 0019
specialize prime_field_polynomial_right_divides_from_product (ac) - 0020
specialize prime_field_polynomial_right_divides_from_product (0) - 0021
apply prime_field_polynomial_right_divides_from_product - 0022
specialize matrix_rank_bounded_prefix_empty (ab) - 0023
specialize matrix_rank_bounded_prefix_empty (ac) - 0024
specialize matrix_rank_bounded_prefix_empty (p) - 0025
apply matrix_rank_bounded_prefix_empty - 0026
specialize prime_field_polynomial_convolution_empty (p) - 0027
specialize prime_field_polynomial_convolution_empty (0) - 0028
specialize prime_field_polynomial_convolution_empty (0) - 0029
specialize prime_field_polynomial_convolution_empty (0) - 0030
specialize prime_field_polynomial_convolution_empty (db) - 0031
specialize prime_field_polynomial_convolution_empty (dc) - 0032
specialize prime_field_polynomial_convolution_empty (D) - 0033
specialize prime_field_polynomial_convolution_empty (ab) - 0034
specialize prime_field_polynomial_convolution_empty (ac) - 0035
apply prime_field_polynomial_convolution_empty - 0036
specialize matrix_rank_bounded_prefix_empty (0) - 0037
specialize matrix_rank_bounded_prefix_empty (0) - 0038
specialize matrix_rank_bounded_prefix_empty (p) - 0039
apply matrix_rank_bounded_prefix_empty - 0040
exact hD - 0041
left - 0042
refl - 0043
intro k - 0044
intro a - 0045
intro r - 0046
intro ha - 0047
intro hr - 0048
specialize prime_field_polynomial_power_coefficient_functional (ab) - 0049
specialize prime_field_polynomial_power_coefficient_functional (ac) - 0050
specialize prime_field_polynomial_power_coefficient_functional (0) - 0051
specialize prime_field_polynomial_power_coefficient_functional (k) - 0052
specialize prime_field_polynomial_power_coefficient_functional (a) - 0053
specialize prime_field_polynomial_power_coefficient_functional (r) - 0054
apply prime_field_polynomial_power_coefficient_functional - 0055
exact ha - 0056
exact hr