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. ∀ ab. ∀ ac. ∀ hb. ∀ hc. ∀ L. Prime(p) → FpPolyScale(p,k,ab,ac,hb,hc,L) → FpPolynomialRightDivides(p,ab,ac,L,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 76 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–9
02Establish hcopyL10–11
Establish this local claim before using it. It is not an additional assumption.
- L10
have hcopy : FpPolyScale(p,k,ab,ac,hb,hc,L)Definitions: FpPolyScale(p,k,ab,ac,hb,hc,L)Original native command in the exact edition - L11
exact hs
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hcopy
04Establish hboundsL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial scale bounded.
- L13
have hbounds : BetaPrefixInto(ab,ac,L,p) ∧ BetaPrefixInto(hb,hc,L,p)Definitions: BetaPrefixInto(ab,ac,L,p)BetaPrefixInto(hb,hc,L,p)Original native command in the exact edition - L14
specialize prime_field_polynomial_scale_bounded (p) - L15
specialize prime_field_polynomial_scale_bounded (k) - L16
specialize prime_field_polynomial_scale_bounded (ab) - L17
specialize prime_field_polynomial_scale_bounded (ac) - L18
specialize prime_field_polynomial_scale_bounded (hb) - L19
specialize prime_field_polynomial_scale_bounded (hc) - L20
specialize prime_field_polynomial_scale_bounded (L) - L21
apply prime_field_polynomial_scale_bounded - L22
exact hs
05Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hbounds
06Establish hactualL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left constant product exists.
- L24
have hactual : ∃ ub. ∃ uc. ∃ vb. ∃ vc. BetaPrefixInto(ub,uc,1,p) ∧ (BetaAt(ub,uc,0,k) ∧ (FpPolyScale(p,k,ab,ac,vb,vc,L) ∧ FpPolyProduct(p,ub,uc,1,ab,ac,L,vb,vc,L)))Definitions: BetaPrefixInto(ub,uc,1,p)BetaAt(ub,uc,0,k)FpPolyScale(p,k,ab,ac,vb,vc,L)FpPolyProduct(p,ub,uc,1,ab,ac,L,vb,vc,L)Original native command in the exact edition - L25
specialize prime_field_polynomial_left_constant_product_exists (p) - L26
specialize prime_field_polynomial_left_constant_product_exists (k) - L27
specialize prime_field_polynomial_left_constant_product_exists (ab) - L28
specialize prime_field_polynomial_left_constant_product_exists (ac) - L29
specialize prime_field_polynomial_left_constant_product_exists (L) - L30
apply prime_field_polynomial_left_constant_product_exists - L31
exact hp - L32
exact hcopy_left - L33
exact hbounds_left
07Separate the logical casesL34–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
08Establish hequalL41–50
Establish this local claim before using it. It is not an additional assumption.
- L41
have hequal : BetaPrefixEqual(x2,x3,hb,hc,L)Definitions: BetaPrefixEqual(x2,x3,hb,hc,L)Original native command in the exact edition - L42
specialize prime_field_polynomial_scale_functional (p) - L43
specialize prime_field_polynomial_scale_functional (k) - L44
specialize prime_field_polynomial_scale_functional (ab) - L45
specialize prime_field_polynomial_scale_functional (ac) - L46
specialize prime_field_polynomial_scale_functional (x2) - L47
specialize prime_field_polynomial_scale_functional (x3) - L48
specialize prime_field_polynomial_scale_functional (hb) - L49
specialize prime_field_polynomial_scale_functional (hc) - L50
specialize prime_field_polynomial_scale_functional (L)
09Use earlier factsL51–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
apply prime_field_polynomial_scale_functional - L52
exact hactual_witness_witness_witness_witness_right_right_left - L53
exact hs - L54
specialize prime_field_polynomial_right_divides_from_product (p) - L55
specialize prime_field_polynomial_right_divides_from_product (ab) - L56
specialize prime_field_polynomial_right_divides_from_product (ac) - L57
specialize prime_field_polynomial_right_divides_from_product (L) - L58
specialize prime_field_polynomial_right_divides_from_product (hb) - L59
specialize prime_field_polynomial_right_divides_from_product (hc) - L60
specialize prime_field_polynomial_right_divides_from_product (L)
10Use earlier factsL61–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
specialize prime_field_polynomial_right_divides_from_product (x) - L62
specialize prime_field_polynomial_right_divides_from_product (x1) - L63
specialize prime_field_polynomial_right_divides_from_product (1) - L64
specialize prime_field_polynomial_right_divides_from_product (x2) - L65
specialize prime_field_polynomial_right_divides_from_product (x3) - L66
specialize prime_field_polynomial_right_divides_from_product (L) - L67
apply prime_field_polynomial_right_divides_from_product - L68
exact hbounds_right - L69
exact hactual_witness_witness_witness_witness_right_right_right - L70
specialize prime_field_polynomial_equal_implies_equivalent (x2)
11Use earlier factsL71–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
specialize prime_field_polynomial_equal_implies_equivalent (x3) - L72
specialize prime_field_polynomial_equal_implies_equivalent (hb) - L73
specialize prime_field_polynomial_equal_implies_equivalent (hc) - L74
specialize prime_field_polynomial_equal_implies_equivalent (L) - L75
apply prime_field_polynomial_equal_implies_equivalent - L76
exact hequal
Original defined command ledger · 76 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro hb - 0006
intro hc - 0007
intro L - 0008
intro hp - 0009
intro hs - 0010
have hcopy : FpPolyScale(p,k,ab,ac,hb,hc,L) - 0011
exact hs - 0012
cases hcopy - 0013
have hbounds : BetaPrefixInto(ab,ac,L,p) ∧ BetaPrefixInto(hb,hc,L,p) - 0014
specialize prime_field_polynomial_scale_bounded (p) - 0015
specialize prime_field_polynomial_scale_bounded (k) - 0016
specialize prime_field_polynomial_scale_bounded (ab) - 0017
specialize prime_field_polynomial_scale_bounded (ac) - 0018
specialize prime_field_polynomial_scale_bounded (hb) - 0019
specialize prime_field_polynomial_scale_bounded (hc) - 0020
specialize prime_field_polynomial_scale_bounded (L) - 0021
apply prime_field_polynomial_scale_bounded - 0022
exact hs - 0023
cases hbounds - 0024
have hactual : ∃ ub. ∃ uc. ∃ vb. ∃ vc. BetaPrefixInto(ub,uc,1,p) ∧ (BetaAt(ub,uc,0,k) ∧ (FpPolyScale(p,k,ab,ac,vb,vc,L) ∧ FpPolyProduct(p,ub,uc,1,ab,ac,L,vb,vc,L))) - 0025
specialize prime_field_polynomial_left_constant_product_exists (p) - 0026
specialize prime_field_polynomial_left_constant_product_exists (k) - 0027
specialize prime_field_polynomial_left_constant_product_exists (ab) - 0028
specialize prime_field_polynomial_left_constant_product_exists (ac) - 0029
specialize prime_field_polynomial_left_constant_product_exists (L) - 0030
apply prime_field_polynomial_left_constant_product_exists - 0031
exact hp - 0032
exact hcopy_left - 0033
exact hbounds_left - 0034
cases hactual - 0035
cases hactual_witness - 0036
cases hactual_witness_witness - 0037
cases hactual_witness_witness_witness - 0038
cases hactual_witness_witness_witness_witness - 0039
cases hactual_witness_witness_witness_witness_right - 0040
cases hactual_witness_witness_witness_witness_right_right - 0041
have hequal : BetaPrefixEqual(x2,x3,hb,hc,L) - 0042
specialize prime_field_polynomial_scale_functional (p) - 0043
specialize prime_field_polynomial_scale_functional (k) - 0044
specialize prime_field_polynomial_scale_functional (ab) - 0045
specialize prime_field_polynomial_scale_functional (ac) - 0046
specialize prime_field_polynomial_scale_functional (x2) - 0047
specialize prime_field_polynomial_scale_functional (x3) - 0048
specialize prime_field_polynomial_scale_functional (hb) - 0049
specialize prime_field_polynomial_scale_functional (hc) - 0050
specialize prime_field_polynomial_scale_functional (L) - 0051
apply prime_field_polynomial_scale_functional - 0052
exact hactual_witness_witness_witness_witness_right_right_left - 0053
exact hs - 0054
specialize prime_field_polynomial_right_divides_from_product (p) - 0055
specialize prime_field_polynomial_right_divides_from_product (ab) - 0056
specialize prime_field_polynomial_right_divides_from_product (ac) - 0057
specialize prime_field_polynomial_right_divides_from_product (L) - 0058
specialize prime_field_polynomial_right_divides_from_product (hb) - 0059
specialize prime_field_polynomial_right_divides_from_product (hc) - 0060
specialize prime_field_polynomial_right_divides_from_product (L) - 0061
specialize prime_field_polynomial_right_divides_from_product (x) - 0062
specialize prime_field_polynomial_right_divides_from_product (x1) - 0063
specialize prime_field_polynomial_right_divides_from_product (1) - 0064
specialize prime_field_polynomial_right_divides_from_product (x2) - 0065
specialize prime_field_polynomial_right_divides_from_product (x3) - 0066
specialize prime_field_polynomial_right_divides_from_product (L) - 0067
apply prime_field_polynomial_right_divides_from_product - 0068
exact hbounds_right - 0069
exact hactual_witness_witness_witness_witness_right_right_right - 0070
specialize prime_field_polynomial_equal_implies_equivalent (x2) - 0071
specialize prime_field_polynomial_equal_implies_equivalent (x3) - 0072
specialize prime_field_polynomial_equal_implies_equivalent (hb) - 0073
specialize prime_field_polynomial_equal_implies_equivalent (hc) - 0074
specialize prime_field_polynomial_equal_implies_equivalent (L) - 0075
apply prime_field_polynomial_equal_implies_equivalent - 0076
exact hequal