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. ∀ A. ∀ bb. ∀ bc. ∀ B. ∀ gb. ∀ gc. ∀ G. Prime(p) → BetaPrefixInto(bb,bc,B,p) → FpPolynomialRightDivides(p,ab,ac,A,gb,gc,G) → ∃ x. ∃ y. ∃ z. FpPolynomialBezoutRepresentation(p,ab,ac,A,bb,bc,B,gb,gc,G,x,y,z,0,0,0)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 109 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–10
02Fix variables and assumptionsL11–13
03Separate the logical casesL14–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hdivides - L15
cases hdivides_right - L16
cases hdivides_right_witness - L17
cases hdivides_right_witness_witness - L18
cases hdivides_right_witness_witness_witness - L19
cases hdivides_right_witness_witness_witness_witness - L20
cases hdivides_right_witness_witness_witness_witness_witness - L21
cases hdivides_right_witness_witness_witness_witness_witness_witness
04Establish hproduct_boundL22–31
Establish this local claim before using it. It is not an additional assumption.
- L22
have hproduct_bound : BetaPrefixInto(x3,x4,x5,p)Definitions: BetaPrefixInto(x3,x4,x5,p)Original native command in the exact edition - L23
specialize prime_field_polynomial_convolution_bounded (p) - L24
specialize prime_field_polynomial_convolution_bounded (x) - L25
specialize prime_field_polynomial_convolution_bounded (x1) - L26
specialize prime_field_polynomial_convolution_bounded (x2) - L27
specialize prime_field_polynomial_convolution_bounded (ab) - L28
specialize prime_field_polynomial_convolution_bounded (ac) - L29
specialize prime_field_polynomial_convolution_bounded (A) - L30
specialize prime_field_polynomial_convolution_bounded (x3) - L31
specialize prime_field_polynomial_convolution_bounded (x4)
05Use earlier factsL32–34
06Establish hempty_productL35–44
Establish this local claim before using it. It is not an additional assumption.
- L35
have hempty_product : FpPolyProduct(p,0,0,0,bb,bc,B,0,0,0)Definitions: FpPolyProduct(p,0,0,0,bb,bc,B,0,0,0)Original native command in the exact edition - L36
specialize prime_field_polynomial_convolution_empty (p) - L37
specialize prime_field_polynomial_convolution_empty (0) - L38
specialize prime_field_polynomial_convolution_empty (0) - L39
specialize prime_field_polynomial_convolution_empty (0) - L40
specialize prime_field_polynomial_convolution_empty (bb) - L41
specialize prime_field_polynomial_convolution_empty (bc) - L42
specialize prime_field_polynomial_convolution_empty (B) - L43
specialize prime_field_polynomial_convolution_empty (0) - L44
specialize prime_field_polynomial_convolution_empty (0)
07Use earlier factsL45–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
left
09Calculate and transport equalitiesL52–52
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L52
refl
10Establish hsumL53–62
Establish this local claim before using it. It is not an additional assumption.
- L53
have hsum : FpPolynomialAlignedAdd(p,x3,x4,x5,0,0,0,gb,gc,G)Definitions: FpPolynomialAlignedAdd(p,x3,x4,x5,0,0,0,gb,gc,G)Original native command in the exact edition - L54
specialize prime_field_polynomial_aligned_add_transport (p) - L55
specialize prime_field_polynomial_aligned_add_transport (x3) - L56
specialize prime_field_polynomial_aligned_add_transport (x4) - L57
specialize prime_field_polynomial_aligned_add_transport (x5) - L58
specialize prime_field_polynomial_aligned_add_transport (0) - L59
specialize prime_field_polynomial_aligned_add_transport (0) - L60
specialize prime_field_polynomial_aligned_add_transport (0) - L61
specialize prime_field_polynomial_aligned_add_transport (x3) - L62
specialize prime_field_polynomial_aligned_add_transport (x4)
11Use earlier factsL63–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L63
specialize prime_field_polynomial_aligned_add_transport (x5) - L64
specialize prime_field_polynomial_aligned_add_transport (x3) - L65
specialize prime_field_polynomial_aligned_add_transport (x4) - L66
specialize prime_field_polynomial_aligned_add_transport (x5) - L67
specialize prime_field_polynomial_aligned_add_transport (0) - L68
specialize prime_field_polynomial_aligned_add_transport (0) - L69
specialize prime_field_polynomial_aligned_add_transport (0) - L70
specialize prime_field_polynomial_aligned_add_transport (gb) - L71
specialize prime_field_polynomial_aligned_add_transport (gc) - L72
specialize prime_field_polynomial_aligned_add_transport (G)
12Use earlier factsL73–82
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L73
apply prime_field_polynomial_aligned_add_transport - L74
exact hproduct_bound - L75
specialize matrix_rank_bounded_prefix_empty (0) - L76
specialize matrix_rank_bounded_prefix_empty (0) - L77
specialize matrix_rank_bounded_prefix_empty (p) - L78
apply matrix_rank_bounded_prefix_empty - L79
exact hdivides_left - L80
specialize prime_field_polynomial_power_coefficient_functional (x3) - L81
specialize prime_field_polynomial_power_coefficient_functional (x4) - L82
specialize prime_field_polynomial_power_coefficient_functional (x5)
13Use earlier factsL83–92
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L83
apply prime_field_polynomial_power_coefficient_functional - L84
specialize prime_field_polynomial_power_coefficient_functional (0) - L85
specialize prime_field_polynomial_power_coefficient_functional (0) - L86
specialize prime_field_polynomial_power_coefficient_functional (0) - L87
apply prime_field_polynomial_power_coefficient_functional - L88
exact hdivides_right_witness_witness_witness_witness_witness_witness_right - L89
specialize prime_field_polynomial_aligned_add_empty_right (p) - L90
specialize prime_field_polynomial_aligned_add_empty_right (x3) - L91
specialize prime_field_polynomial_aligned_add_empty_right (x4) - L92
specialize prime_field_polynomial_aligned_add_empty_right (x5)
14Use earlier factsL93–95
15Construct an explicit witnessL96–104
16Separate the logical casesL105–105
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L105
split
17Use earlier factsL106–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L106
exact hdivides_right_witness_witness_witness_witness_witness_witness_left
18Separate the logical casesL107–107
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L107
split
Original defined command ledger · 109 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro A - 0005
intro bb - 0006
intro bc - 0007
intro B - 0008
intro gb - 0009
intro gc - 0010
intro G - 0011
intro hp - 0012
intro hb - 0013
intro hdivides - 0014
cases hdivides - 0015
cases hdivides_right - 0016
cases hdivides_right_witness - 0017
cases hdivides_right_witness_witness - 0018
cases hdivides_right_witness_witness_witness - 0019
cases hdivides_right_witness_witness_witness_witness - 0020
cases hdivides_right_witness_witness_witness_witness_witness - 0021
cases hdivides_right_witness_witness_witness_witness_witness_witness - 0022
have hproduct_bound : BetaPrefixInto(x3,x4,x5,p) - 0023
specialize prime_field_polynomial_convolution_bounded (p) - 0024
specialize prime_field_polynomial_convolution_bounded (x) - 0025
specialize prime_field_polynomial_convolution_bounded (x1) - 0026
specialize prime_field_polynomial_convolution_bounded (x2) - 0027
specialize prime_field_polynomial_convolution_bounded (ab) - 0028
specialize prime_field_polynomial_convolution_bounded (ac) - 0029
specialize prime_field_polynomial_convolution_bounded (A) - 0030
specialize prime_field_polynomial_convolution_bounded (x3) - 0031
specialize prime_field_polynomial_convolution_bounded (x4) - 0032
specialize prime_field_polynomial_convolution_bounded (x5) - 0033
apply prime_field_polynomial_convolution_bounded - 0034
exact hdivides_right_witness_witness_witness_witness_witness_witness_left - 0035
have hempty_product : FpPolyProduct(p,0,0,0,bb,bc,B,0,0,0) - 0036
specialize prime_field_polynomial_convolution_empty (p) - 0037
specialize prime_field_polynomial_convolution_empty (0) - 0038
specialize prime_field_polynomial_convolution_empty (0) - 0039
specialize prime_field_polynomial_convolution_empty (0) - 0040
specialize prime_field_polynomial_convolution_empty (bb) - 0041
specialize prime_field_polynomial_convolution_empty (bc) - 0042
specialize prime_field_polynomial_convolution_empty (B) - 0043
specialize prime_field_polynomial_convolution_empty (0) - 0044
specialize prime_field_polynomial_convolution_empty (0) - 0045
apply prime_field_polynomial_convolution_empty - 0046
specialize matrix_rank_bounded_prefix_empty (0) - 0047
specialize matrix_rank_bounded_prefix_empty (0) - 0048
specialize matrix_rank_bounded_prefix_empty (p) - 0049
apply matrix_rank_bounded_prefix_empty - 0050
exact hb - 0051
left - 0052
refl - 0053
have hsum : FpPolynomialAlignedAdd(p,x3,x4,x5,0,0,0,gb,gc,G) - 0054
specialize prime_field_polynomial_aligned_add_transport (p) - 0055
specialize prime_field_polynomial_aligned_add_transport (x3) - 0056
specialize prime_field_polynomial_aligned_add_transport (x4) - 0057
specialize prime_field_polynomial_aligned_add_transport (x5) - 0058
specialize prime_field_polynomial_aligned_add_transport (0) - 0059
specialize prime_field_polynomial_aligned_add_transport (0) - 0060
specialize prime_field_polynomial_aligned_add_transport (0) - 0061
specialize prime_field_polynomial_aligned_add_transport (x3) - 0062
specialize prime_field_polynomial_aligned_add_transport (x4) - 0063
specialize prime_field_polynomial_aligned_add_transport (x5) - 0064
specialize prime_field_polynomial_aligned_add_transport (x3) - 0065
specialize prime_field_polynomial_aligned_add_transport (x4) - 0066
specialize prime_field_polynomial_aligned_add_transport (x5) - 0067
specialize prime_field_polynomial_aligned_add_transport (0) - 0068
specialize prime_field_polynomial_aligned_add_transport (0) - 0069
specialize prime_field_polynomial_aligned_add_transport (0) - 0070
specialize prime_field_polynomial_aligned_add_transport (gb) - 0071
specialize prime_field_polynomial_aligned_add_transport (gc) - 0072
specialize prime_field_polynomial_aligned_add_transport (G) - 0073
apply prime_field_polynomial_aligned_add_transport - 0074
exact hproduct_bound - 0075
specialize matrix_rank_bounded_prefix_empty (0) - 0076
specialize matrix_rank_bounded_prefix_empty (0) - 0077
specialize matrix_rank_bounded_prefix_empty (p) - 0078
apply matrix_rank_bounded_prefix_empty - 0079
exact hdivides_left - 0080
specialize prime_field_polynomial_power_coefficient_functional (x3) - 0081
specialize prime_field_polynomial_power_coefficient_functional (x4) - 0082
specialize prime_field_polynomial_power_coefficient_functional (x5) - 0083
apply prime_field_polynomial_power_coefficient_functional - 0084
specialize prime_field_polynomial_power_coefficient_functional (0) - 0085
specialize prime_field_polynomial_power_coefficient_functional (0) - 0086
specialize prime_field_polynomial_power_coefficient_functional (0) - 0087
apply prime_field_polynomial_power_coefficient_functional - 0088
exact hdivides_right_witness_witness_witness_witness_witness_witness_right - 0089
specialize prime_field_polynomial_aligned_add_empty_right (p) - 0090
specialize prime_field_polynomial_aligned_add_empty_right (x3) - 0091
specialize prime_field_polynomial_aligned_add_empty_right (x4) - 0092
specialize prime_field_polynomial_aligned_add_empty_right (x5) - 0093
apply prime_field_polynomial_aligned_add_empty_right - 0094
exact hp - 0095
exact hproduct_bound - 0096
exists x - 0097
exists x1 - 0098
exists x2 - 0099
exists x3 - 0100
exists x4 - 0101
exists x5 - 0102
exists 0 - 0103
exists 0 - 0104
exists 0 - 0105
split - 0106
exact hdivides_right_witness_witness_witness_witness_witness_witness_left - 0107
split - 0108
exact hempty_product - 0109
exact hsum