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. ∀ ab. ∀ ac. ∀ d. Prime(p) → FpMonic(p,db,dc,S d) → FpMonic(p,ab,ac,S d) → FpPolynomialRightDivides(p,db,dc,S d,ab,ac,S d) → PolynomialEquivalent(db,dc,S d,ab,ac,S d)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 84 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
02Establish hddL11–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial monic represented degree.
- L11
have hdd : FpRepresentedDegree(p,db,dc,S d,d)Definitions: FpRepresentedDegree(p,db,dc,S d,d)Original native command in the exact edition - L12
specialize prime_field_polynomial_monic_represented_degree (p) - L13
specialize prime_field_polynomial_monic_represented_degree (db) - L14
specialize prime_field_polynomial_monic_represented_degree (dc) - L15
specialize prime_field_polynomial_monic_represented_degree (S d) - L16
specialize prime_field_polynomial_monic_represented_degree (d) - L17
apply prime_field_polynomial_monic_represented_degree - L18
exact hd - L19
refl
03Establish hadL20–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial monic represented degree.
- L20
have had : FpRepresentedDegree(p,ab,ac,S d,d)Definitions: FpRepresentedDegree(p,ab,ac,S d,d)Original native command in the exact edition - L21
specialize prime_field_polynomial_monic_represented_degree (p) - L22
specialize prime_field_polynomial_monic_represented_degree (ab) - L23
specialize prime_field_polynomial_monic_represented_degree (ac) - L24
specialize prime_field_polynomial_monic_represented_degree (S d) - L25
specialize prime_field_polynomial_monic_represented_degree (d) - L26
apply prime_field_polynomial_monic_represented_degree - L27
exact ha - L28
refl
04Establish hfL29–38
Establish this local claim before using it. It is not an additional assumption.
- L29Definitions: FpRepresentedDegree(p,pfgu_qb_monic_degree_factor,pfgu_qc_monic_degree_factor,S pfgu_e_monic_degree_factor,pfgu_e_monic_degree_factor)FpPolyProduct(p,pfgu_qb_monic_degree_factor,pfgu_qc_monic_degree_factor,S pfgu_e_monic_degree_factor,db,dc,S d,pfgu_pb_monic_degree_factor,pfgu_pc_monic_degree_factor,S d)PolynomialEquivalent(pfgu_pb_monic_degree_factor,pfgu_pc_monic_degree_factor,S d,ab,ac,S d)Original native command in the exact edition
have hf · expand full local formula (607 characters)
have hf : ∃ pfgu_qb_monic_degree_factor. ∃ pfgu_qc_monic_degree_factor. ∃ pfgu_e_monic_degree_factor. ∃ pfgu_pb_monic_degree_factor. ∃ pfgu_pc_monic_degree_factor. FpRepresentedDegree(p,pfgu_qb_monic_degree_factor,pfgu_qc_monic_degree_factor,S pfgu_e_monic_degree_factor,pfgu_e_monic_degree_factor) ∧ (FpPolyProduct(p,pfgu_qb_monic_degree_factor,pfgu_qc_monic_degree_factor,S pfgu_e_monic_degree_factor,db,dc,S d,pfgu_pb_monic_degree_factor,pfgu_pc_monic_degree_factor,S d) ∧ (PolynomialEquivalent(pfgu_pb_monic_degree_factor,pfgu_pc_monic_degree_factor,S d,ab,ac,S d) ∧ pfgu_e_monic_degree_factor + d = d)) - L30
specialize prime_field_polynomial_right_divides_represented_factorization (p) - L31
specialize prime_field_polynomial_right_divides_represented_factorization (db) - L32
specialize prime_field_polynomial_right_divides_represented_factorization (dc) - L33
specialize prime_field_polynomial_right_divides_represented_factorization (S d) - L34
specialize prime_field_polynomial_right_divides_represented_factorization (d) - L35
specialize prime_field_polynomial_right_divides_represented_factorization (ab) - L36
specialize prime_field_polynomial_right_divides_represented_factorization (ac) - L37
specialize prime_field_polynomial_right_divides_represented_factorization (S d) - L38
specialize prime_field_polynomial_right_divides_represented_factorization (d)
05Use earlier factsL39–43
06Separate the logical casesL44–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
cases hf - L45
cases hf_witness - L46
cases hf_witness_witness - L47
cases hf_witness_witness_witness - L48
cases hf_witness_witness_witness_witness - L49
cases hf_witness_witness_witness_witness_witness - L50
cases hf_witness_witness_witness_witness_witness_right - L51
cases hf_witness_witness_witness_witness_witness_right_right
07Establish hezeroL52–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add right cancel.
- L52
have hezero : x2=0 - L53
specialize add_right_cancel (x2) - L54
specialize add_right_cancel (0) - L55
specialize add_right_cancel (d) - L56
apply add_right_cancel - L57
trans d - L58
exact hf_witness_witness_witness_witness_witness_right_right_right - L59
symm - L60
apply zero_add - L61
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (p)
08Use earlier factsL62–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x) - L63
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x1) - L64
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (db) - L65
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (dc) - L66
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (ab) - L67
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (ac) - L68
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (d) - L69
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x3) - L70
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x4) - L71
apply prime_field_polynomial_monic_singleton_multiple_equivalent
09Use earlier factsL72–74
10Establish hproductL75–84
Establish this local claim before using it. It is not an additional assumption.
- L75
have hproduct : FpPolyProduct(p,x,x1,S x2,db,dc,S d,x3,x4,S d)Definitions: FpPolyProduct(p,x,x1,S x2,db,dc,S d,x3,x4,S d)Original native command in the exact edition - L76
exact hf_witness_witness_witness_witness_witness_right_left - L77
rewrite hezero at hproduct - L78
rewrite hezero at hproduct - L79
rewrite hezero at hproduct - L80
rewrite hezero at hproduct - L81
rewrite hezero at hproduct - L82
rewrite hezero at hproduct - L83
exact hproduct - L84
exact hf_witness_witness_witness_witness_witness_right_right_left
Original defined command ledger · 84 lines
- 0001
intro p - 0002
intro db - 0003
intro dc - 0004
intro ab - 0005
intro ac - 0006
intro d - 0007
intro hp - 0008
intro hd - 0009
intro ha - 0010
intro hrd - 0011
have hdd : FpRepresentedDegree(p,db,dc,S d,d) - 0012
specialize prime_field_polynomial_monic_represented_degree (p) - 0013
specialize prime_field_polynomial_monic_represented_degree (db) - 0014
specialize prime_field_polynomial_monic_represented_degree (dc) - 0015
specialize prime_field_polynomial_monic_represented_degree (S d) - 0016
specialize prime_field_polynomial_monic_represented_degree (d) - 0017
apply prime_field_polynomial_monic_represented_degree - 0018
exact hd - 0019
refl - 0020
have had : FpRepresentedDegree(p,ab,ac,S d,d) - 0021
specialize prime_field_polynomial_monic_represented_degree (p) - 0022
specialize prime_field_polynomial_monic_represented_degree (ab) - 0023
specialize prime_field_polynomial_monic_represented_degree (ac) - 0024
specialize prime_field_polynomial_monic_represented_degree (S d) - 0025
specialize prime_field_polynomial_monic_represented_degree (d) - 0026
apply prime_field_polynomial_monic_represented_degree - 0027
exact ha - 0028
refl - 0029
have hf : ∃ pfgu_qb_monic_degree_factor. ∃ pfgu_qc_monic_degree_factor. ∃ pfgu_e_monic_degree_factor. ∃ pfgu_pb_monic_degree_factor. ∃ pfgu_pc_monic_degree_factor. FpRepresentedDegree(p,pfgu_qb_monic_degree_factor,pfgu_qc_monic_degree_factor,S pfgu_e_monic_degree_factor,pfgu_e_monic_degree_factor) ∧ (FpPolyProduct(p,pfgu_qb_monic_degree_factor,pfgu_qc_monic_degree_factor,S pfgu_e_monic_degree_factor,db,dc,S d,pfgu_pb_monic_degree_factor,pfgu_pc_monic_degree_factor,S d) ∧ (PolynomialEquivalent(pfgu_pb_monic_degree_factor,pfgu_pc_monic_degree_factor,S d,ab,ac,S d) ∧ pfgu_e_monic_degree_factor + d = d)) - 0030
specialize prime_field_polynomial_right_divides_represented_factorization (p) - 0031
specialize prime_field_polynomial_right_divides_represented_factorization (db) - 0032
specialize prime_field_polynomial_right_divides_represented_factorization (dc) - 0033
specialize prime_field_polynomial_right_divides_represented_factorization (S d) - 0034
specialize prime_field_polynomial_right_divides_represented_factorization (d) - 0035
specialize prime_field_polynomial_right_divides_represented_factorization (ab) - 0036
specialize prime_field_polynomial_right_divides_represented_factorization (ac) - 0037
specialize prime_field_polynomial_right_divides_represented_factorization (S d) - 0038
specialize prime_field_polynomial_right_divides_represented_factorization (d) - 0039
apply prime_field_polynomial_right_divides_represented_factorization - 0040
exact hp - 0041
exact hdd - 0042
exact had - 0043
exact hrd - 0044
cases hf - 0045
cases hf_witness - 0046
cases hf_witness_witness - 0047
cases hf_witness_witness_witness - 0048
cases hf_witness_witness_witness_witness - 0049
cases hf_witness_witness_witness_witness_witness - 0050
cases hf_witness_witness_witness_witness_witness_right - 0051
cases hf_witness_witness_witness_witness_witness_right_right - 0052
have hezero : x2=0 - 0053
specialize add_right_cancel (x2) - 0054
specialize add_right_cancel (0) - 0055
specialize add_right_cancel (d) - 0056
apply add_right_cancel - 0057
trans d - 0058
exact hf_witness_witness_witness_witness_witness_right_right_right - 0059
symm - 0060
apply zero_add - 0061
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (p) - 0062
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x) - 0063
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x1) - 0064
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (db) - 0065
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (dc) - 0066
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (ab) - 0067
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (ac) - 0068
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (d) - 0069
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x3) - 0070
specialize prime_field_polynomial_monic_singleton_multiple_equivalent (x4) - 0071
apply prime_field_polynomial_monic_singleton_multiple_equivalent - 0072
exact hp - 0073
exact hd - 0074
exact ha - 0075
have hproduct : FpPolyProduct(p,x,x1,S x2,db,dc,S d,x3,x4,S d) - 0076
exact hf_witness_witness_witness_witness_witness_right_left - 0077
rewrite hezero at hproduct - 0078
rewrite hezero at hproduct - 0079
rewrite hezero at hproduct - 0080
rewrite hezero at hproduct - 0081
rewrite hezero at hproduct - 0082
rewrite hezero at hproduct - 0083
exact hproduct - 0084
exact hf_witness_witness_witness_witness_witness_right_right_left