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. ∀ gb. ∀ gc. ∀ G. ∀ hb. ∀ hc. ∀ H. Prime(p) → FpMonic(p,gb,gc,G) → FpMonic(p,hb,hc,H) → FpPolynomialRightDivides(p,gb,gc,G,hb,hc,H) → FpPolynomialRightDivides(p,hb,hc,H,gb,gc,G) → PolynomialEquivalent(gb,gc,G,hb,hc,H)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 122 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–12
03Establish hgnL13–13
Establish this local claim before using it. It is not an additional assumption.
- L13
have hgn : ~(G=0)
04Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hg
05Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hg_left
06Establish hhnL16–16
Establish this local claim before using it. It is not an additional assumption.
- L16
have hhn : ~(H=0)
07Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hh
08Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact hh_left
09Establish hglL19–22
10Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hgl
11Establish hhlL24–27
12Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hhl
13Establish hgdL29–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial monic represented degree.
- L29
have hgd : FpRepresentedDegree(p,gb,gc,G,x)Definitions: FpRepresentedDegree(p,gb,gc,G,x)Original native command in the exact edition - L30
specialize prime_field_polynomial_monic_represented_degree (p) - L31
specialize prime_field_polynomial_monic_represented_degree (gb) - L32
specialize prime_field_polynomial_monic_represented_degree (gc) - L33
specialize prime_field_polynomial_monic_represented_degree (G) - L34
specialize prime_field_polynomial_monic_represented_degree (x) - L35
apply prime_field_polynomial_monic_represented_degree - L36
exact hg - L37
exact hgl_witness
14Establish hhdL38–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial monic represented degree.
- L38
have hhd : FpRepresentedDegree(p,hb,hc,H,x1)Definitions: FpRepresentedDegree(p,hb,hc,H,x1)Original native command in the exact edition - L39
specialize prime_field_polynomial_monic_represented_degree (p) - L40
specialize prime_field_polynomial_monic_represented_degree (hb) - L41
specialize prime_field_polynomial_monic_represented_degree (hc) - L42
specialize prime_field_polynomial_monic_represented_degree (H) - L43
specialize prime_field_polynomial_monic_represented_degree (x1) - L44
apply prime_field_polynomial_monic_represented_degree - L45
exact hh - L46
exact hhl_witness
15Establish hdeL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le antisymm.
- L47
have hde : x=x1 - L48
specialize le_antisymm (x) - L49
specialize le_antisymm (x1) - L50
apply le_antisymm - L51
specialize prime_field_polynomial_right_divides_represented_degree_bound (p) - L52
specialize prime_field_polynomial_right_divides_represented_degree_bound (gb) - L53
specialize prime_field_polynomial_right_divides_represented_degree_bound (gc) - L54
specialize prime_field_polynomial_right_divides_represented_degree_bound (G) - L55
specialize prime_field_polynomial_right_divides_represented_degree_bound (x) - L56
specialize prime_field_polynomial_right_divides_represented_degree_bound (hb)
16Use earlier factsL57–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize prime_field_polynomial_right_divides_represented_degree_bound (hc) - L58
specialize prime_field_polynomial_right_divides_represented_degree_bound (H) - L59
specialize prime_field_polynomial_right_divides_represented_degree_bound (x1) - L60
apply prime_field_polynomial_right_divides_represented_degree_bound - L61
exact hp - L62
exact hgd - L63
exact hhd - L64
exact hgh - L65
specialize prime_field_polynomial_right_divides_represented_degree_bound (p) - L66
specialize prime_field_polynomial_right_divides_represented_degree_bound (hb)
17Use earlier factsL67–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
specialize prime_field_polynomial_right_divides_represented_degree_bound (hc) - L68
specialize prime_field_polynomial_right_divides_represented_degree_bound (H) - L69
specialize prime_field_polynomial_right_divides_represented_degree_bound (x1) - L70
specialize prime_field_polynomial_right_divides_represented_degree_bound (gb) - L71
specialize prime_field_polynomial_right_divides_represented_degree_bound (gc) - L72
specialize prime_field_polynomial_right_divides_represented_degree_bound (G) - L73
specialize prime_field_polynomial_right_divides_represented_degree_bound (x) - L74
apply prime_field_polynomial_right_divides_represented_degree_bound - L75
exact hp - L76
exact hhd
18Use earlier factsL77–78
19Establish hsameL79–82
20Establish hgeL83–83
Establish this local claim before using it. It is not an additional assumption.
- L83
have hge : FpMonic(p,gb,gc,S x)Definitions: FpMonic(p,gb,gc,S x)Original native command in the exact edition
21Establish hcopyL84–88
Establish this local claim before using it. It is not an additional assumption.
- L84
have hcopy : FpMonic(p,gb,gc,G)Definitions: FpMonic(p,gb,gc,G)Original native command in the exact edition - L85
exact hg - L86
rewrite hgl_witness at hcopy - L87
rewrite hgl_witness at hcopy - L88
exact hcopy
22Establish hheL89–89
Establish this local claim before using it. It is not an additional assumption.
- L89
have hhe : FpMonic(p,hb,hc,S x)Definitions: FpMonic(p,hb,hc,S x)Original native command in the exact edition
23Establish hcopyL90–94
Establish this local claim before using it. It is not an additional assumption.
- L90
have hcopy : FpMonic(p,hb,hc,H)Definitions: FpMonic(p,hb,hc,H)Original native command in the exact edition - L91
exact hh - L92
rewrite hsame at hcopy - L93
rewrite hsame at hcopy - L94
exact hcopy
24Establish hrL95–95
Establish this local claim before using it. It is not an additional assumption.
- L95
have hr : FpPolynomialRightDivides(p,gb,gc,S x,hb,hc,S x)Definitions: FpPolynomialRightDivides(p,gb,gc,S x,hb,hc,S x)Original native command in the exact edition
25Establish hcopyL96–105
Establish this local claim before using it. It is not an additional assumption.
- L96
have hcopy : FpPolynomialRightDivides(p,gb,gc,G,hb,hc,H)Definitions: FpPolynomialRightDivides(p,gb,gc,G,hb,hc,H)Original native command in the exact edition - L97
exact hgh - L98
rewrite hgl_witness at hcopy - L99
rewrite hgl_witness at hcopy - L100
rewrite hgl_witness at hcopy - L101
rewrite hgl_witness at hcopy - L102
rewrite hgl_witness at hcopy - L103
rewrite hgl_witness at hcopy - L104
rewrite hsame at hcopy - L105
rewrite hsame at hcopy
26Calculate and transport equalitiesL106–106
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L106
rewrite hsame at hcopy
27Use earlier factsL107–107
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L107
exact hcopy
28Calculate and transport equalitiesL108–111
29Use earlier factsL112–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L112
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (p) - L113
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (gb) - L114
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (gc) - L115
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (hb) - L116
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (hc) - L117
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (x) - L118
apply prime_field_polynomial_monic_equal_degree_right_divides_equivalent - L119
exact hp - L120
exact hge - L121
exact hhe
30Use earlier factsL122–122
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L122
exact hr
Original defined command ledger · 122 lines
- 0001
intro p - 0002
intro gb - 0003
intro gc - 0004
intro G - 0005
intro hb - 0006
intro hc - 0007
intro H - 0008
intro hp - 0009
intro hg - 0010
intro hh - 0011
intro hgh - 0012
intro hhg - 0013
have hgn : ~(G=0) - 0014
cases hg - 0015
exact hg_left - 0016
have hhn : ~(H=0) - 0017
cases hh - 0018
exact hh_left - 0019
have hgl : exists d. G=S d - 0020
specialize nonzero_is_succ (G) - 0021
apply nonzero_is_succ - 0022
exact hgn - 0023
cases hgl - 0024
have hhl : exists e. H=S e - 0025
specialize nonzero_is_succ (H) - 0026
apply nonzero_is_succ - 0027
exact hhn - 0028
cases hhl - 0029
have hgd : FpRepresentedDegree(p,gb,gc,G,x) - 0030
specialize prime_field_polynomial_monic_represented_degree (p) - 0031
specialize prime_field_polynomial_monic_represented_degree (gb) - 0032
specialize prime_field_polynomial_monic_represented_degree (gc) - 0033
specialize prime_field_polynomial_monic_represented_degree (G) - 0034
specialize prime_field_polynomial_monic_represented_degree (x) - 0035
apply prime_field_polynomial_monic_represented_degree - 0036
exact hg - 0037
exact hgl_witness - 0038
have hhd : FpRepresentedDegree(p,hb,hc,H,x1) - 0039
specialize prime_field_polynomial_monic_represented_degree (p) - 0040
specialize prime_field_polynomial_monic_represented_degree (hb) - 0041
specialize prime_field_polynomial_monic_represented_degree (hc) - 0042
specialize prime_field_polynomial_monic_represented_degree (H) - 0043
specialize prime_field_polynomial_monic_represented_degree (x1) - 0044
apply prime_field_polynomial_monic_represented_degree - 0045
exact hh - 0046
exact hhl_witness - 0047
have hde : x=x1 - 0048
specialize le_antisymm (x) - 0049
specialize le_antisymm (x1) - 0050
apply le_antisymm - 0051
specialize prime_field_polynomial_right_divides_represented_degree_bound (p) - 0052
specialize prime_field_polynomial_right_divides_represented_degree_bound (gb) - 0053
specialize prime_field_polynomial_right_divides_represented_degree_bound (gc) - 0054
specialize prime_field_polynomial_right_divides_represented_degree_bound (G) - 0055
specialize prime_field_polynomial_right_divides_represented_degree_bound (x) - 0056
specialize prime_field_polynomial_right_divides_represented_degree_bound (hb) - 0057
specialize prime_field_polynomial_right_divides_represented_degree_bound (hc) - 0058
specialize prime_field_polynomial_right_divides_represented_degree_bound (H) - 0059
specialize prime_field_polynomial_right_divides_represented_degree_bound (x1) - 0060
apply prime_field_polynomial_right_divides_represented_degree_bound - 0061
exact hp - 0062
exact hgd - 0063
exact hhd - 0064
exact hgh - 0065
specialize prime_field_polynomial_right_divides_represented_degree_bound (p) - 0066
specialize prime_field_polynomial_right_divides_represented_degree_bound (hb) - 0067
specialize prime_field_polynomial_right_divides_represented_degree_bound (hc) - 0068
specialize prime_field_polynomial_right_divides_represented_degree_bound (H) - 0069
specialize prime_field_polynomial_right_divides_represented_degree_bound (x1) - 0070
specialize prime_field_polynomial_right_divides_represented_degree_bound (gb) - 0071
specialize prime_field_polynomial_right_divides_represented_degree_bound (gc) - 0072
specialize prime_field_polynomial_right_divides_represented_degree_bound (G) - 0073
specialize prime_field_polynomial_right_divides_represented_degree_bound (x) - 0074
apply prime_field_polynomial_right_divides_represented_degree_bound - 0075
exact hp - 0076
exact hhd - 0077
exact hgd - 0078
exact hhg - 0079
have hsame : H=S x - 0080
rewrite hhl_witness - 0081
rewrite hde - 0082
refl - 0083
have hge : FpMonic(p,gb,gc,S x) - 0084
have hcopy : FpMonic(p,gb,gc,G) - 0085
exact hg - 0086
rewrite hgl_witness at hcopy - 0087
rewrite hgl_witness at hcopy - 0088
exact hcopy - 0089
have hhe : FpMonic(p,hb,hc,S x) - 0090
have hcopy : FpMonic(p,hb,hc,H) - 0091
exact hh - 0092
rewrite hsame at hcopy - 0093
rewrite hsame at hcopy - 0094
exact hcopy - 0095
have hr : FpPolynomialRightDivides(p,gb,gc,S x,hb,hc,S x) - 0096
have hcopy : FpPolynomialRightDivides(p,gb,gc,G,hb,hc,H) - 0097
exact hgh - 0098
rewrite hgl_witness at hcopy - 0099
rewrite hgl_witness at hcopy - 0100
rewrite hgl_witness at hcopy - 0101
rewrite hgl_witness at hcopy - 0102
rewrite hgl_witness at hcopy - 0103
rewrite hgl_witness at hcopy - 0104
rewrite hsame at hcopy - 0105
rewrite hsame at hcopy - 0106
rewrite hsame at hcopy - 0107
exact hcopy - 0108
rewrite hgl_witness - 0109
rewrite hgl_witness - 0110
rewrite hsame - 0111
rewrite hsame - 0112
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (p) - 0113
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (gb) - 0114
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (gc) - 0115
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (hb) - 0116
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (hc) - 0117
specialize prime_field_polynomial_monic_equal_degree_right_divides_equivalent (x) - 0118
apply prime_field_polynomial_monic_equal_degree_right_divides_equivalent - 0119
exact hp - 0120
exact hge - 0121
exact hhe - 0122
exact hr