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. ∀ bb. ∀ bc. ∀ M. ∀ c. ∀ db. ∀ dc. Prime(p) → BetaPrefixInto(bb,bc,M,p) → Lt(c,p) → BetaPrefixEqual(bb,bc,db,dc,M) → BetaAt(db,dc,M,c) → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. ∃ k. PolynomialShift(bb,bc,M,x,y) ∧ (BetaPrefixInto(z,n,1,p) ∧ (BetaAt(z,n,0,c) ∧ (PolynomialLeftPad(z,n,1,M,m,k) ∧ FpPolyAdd(p,x,y,m,k,db,dc,S M))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 83 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 hsL13–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift exists.
- L13
have hs : ∃ sb. ∃ sc. PolynomialShift(bb,bc,M,sb,sc)Definitions: PolynomialShift(bb,bc,M,sb,sc)Original native command in the exact edition - L14
specialize prime_field_polynomial_shift_exists (bb) - L15
specialize prime_field_polynomial_shift_exists (bc) - L16
specialize prime_field_polynomial_shift_exists (M) - L17
apply prime_field_polynomial_shift_exists
04Separate the logical casesL18–19
05Establish hkL20–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat exists.
- L20
have hk : ∃ kb. ∃ kc. Repeat(kb,kc,c,1)Definitions: Repeat(kb,kc,c,1)Original native command in the exact edition - L21
specialize beta_repeat_exists (c) - L22
specialize beta_repeat_exists (1) - L23
apply beta_repeat_exists
06Separate the logical casesL24–25
07Establish hconstantL26–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hk witness witness.
- L26
have hconstant : BetaAt(x2,x3,0,c)Definitions: BetaAt(x2,x3,0,c)Original native command in the exact edition - L27
specialize hk_witness_witness (0) - L28
apply hk_witness_witness
08Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists 0
09Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
simp
10Establish hboundedL31–33
Establish this local claim before using it. It is not an additional assumption.
- L31
have hbounded : BetaPrefixInto(x2,x3,1,p)Definitions: BetaPrefixInto(x2,x3,1,p)Original native command in the exact edition - L32
intro i - L33
intro hi
11Construct an explicit witnessL34–34
Supply the displayed value, then prove that it has the required property.
- L34
exists c
12Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
13Use earlier factsL36–39
14Establish htL40–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad exists.
- L40
have ht : ∃ tb. ∃ tc. PolynomialLeftPad(x2,x3,1,M,tb,tc)Definitions: PolynomialLeftPad(x2,x3,1,M,tb,tc)Original native command in the exact edition - L41
specialize prime_field_polynomial_left_pad_exists (x2) - L42
specialize prime_field_polynomial_left_pad_exists (x3) - L43
specialize prime_field_polynomial_left_pad_exists (M) - L44
specialize prime_field_polynomial_left_pad_exists (1) - L45
apply prime_field_polynomial_left_pad_exists
15Separate the logical casesL46–47
16Construct an explicit witnessL48–53
17Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
split
18Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hs_witness_witness
19Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
20Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hbounded
21Separate the logical casesL58–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
split
22Use earlier factsL59–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact hconstant
23Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
split
24Use earlier factsL61–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
exact ht_witness_witness - L62
specialize prime_field_polynomial_append_shift_constant_add (p) - L63
specialize prime_field_polynomial_append_shift_constant_add (bb) - L64
specialize prime_field_polynomial_append_shift_constant_add (bc) - L65
specialize prime_field_polynomial_append_shift_constant_add (M) - L66
specialize prime_field_polynomial_append_shift_constant_add (c) - L67
specialize prime_field_polynomial_append_shift_constant_add (db) - L68
specialize prime_field_polynomial_append_shift_constant_add (dc) - L69
specialize prime_field_polynomial_append_shift_constant_add (x) - L70
specialize prime_field_polynomial_append_shift_constant_add (x1)
25Use earlier factsL71–80
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
specialize prime_field_polynomial_append_shift_constant_add (x2) - L72
specialize prime_field_polynomial_append_shift_constant_add (x3) - L73
specialize prime_field_polynomial_append_shift_constant_add (x4) - L74
specialize prime_field_polynomial_append_shift_constant_add (x5) - L75
apply prime_field_polynomial_append_shift_constant_add - L76
exact hp - L77
exact hb - L78
exact hc - L79
exact he - L80
exact hlast
Original defined command ledger · 83 lines
- 0001
intro p - 0002
intro bb - 0003
intro bc - 0004
intro M - 0005
intro c - 0006
intro db - 0007
intro dc - 0008
intro hp - 0009
intro hb - 0010
intro hc - 0011
intro he - 0012
intro hlast - 0013
have hs : ∃ sb. ∃ sc. PolynomialShift(bb,bc,M,sb,sc) - 0014
specialize prime_field_polynomial_shift_exists (bb) - 0015
specialize prime_field_polynomial_shift_exists (bc) - 0016
specialize prime_field_polynomial_shift_exists (M) - 0017
apply prime_field_polynomial_shift_exists - 0018
cases hs - 0019
cases hs_witness - 0020
have hk : ∃ kb. ∃ kc. Repeat(kb,kc,c,1) - 0021
specialize beta_repeat_exists (c) - 0022
specialize beta_repeat_exists (1) - 0023
apply beta_repeat_exists - 0024
cases hk - 0025
cases hk_witness - 0026
have hconstant : BetaAt(x2,x3,0,c) - 0027
specialize hk_witness_witness (0) - 0028
apply hk_witness_witness - 0029
exists 0 - 0030
simp - 0031
have hbounded : BetaPrefixInto(x2,x3,1,p) - 0032
intro i - 0033
intro hi - 0034
exists c - 0035
split - 0036
specialize hk_witness_witness (i) - 0037
apply hk_witness_witness - 0038
exact hi - 0039
exact hc - 0040
have ht : ∃ tb. ∃ tc. PolynomialLeftPad(x2,x3,1,M,tb,tc) - 0041
specialize prime_field_polynomial_left_pad_exists (x2) - 0042
specialize prime_field_polynomial_left_pad_exists (x3) - 0043
specialize prime_field_polynomial_left_pad_exists (M) - 0044
specialize prime_field_polynomial_left_pad_exists (1) - 0045
apply prime_field_polynomial_left_pad_exists - 0046
cases ht - 0047
cases ht_witness - 0048
exists x - 0049
exists x1 - 0050
exists x2 - 0051
exists x3 - 0052
exists x4 - 0053
exists x5 - 0054
split - 0055
exact hs_witness_witness - 0056
split - 0057
exact hbounded - 0058
split - 0059
exact hconstant - 0060
split - 0061
exact ht_witness_witness - 0062
specialize prime_field_polynomial_append_shift_constant_add (p) - 0063
specialize prime_field_polynomial_append_shift_constant_add (bb) - 0064
specialize prime_field_polynomial_append_shift_constant_add (bc) - 0065
specialize prime_field_polynomial_append_shift_constant_add (M) - 0066
specialize prime_field_polynomial_append_shift_constant_add (c) - 0067
specialize prime_field_polynomial_append_shift_constant_add (db) - 0068
specialize prime_field_polynomial_append_shift_constant_add (dc) - 0069
specialize prime_field_polynomial_append_shift_constant_add (x) - 0070
specialize prime_field_polynomial_append_shift_constant_add (x1) - 0071
specialize prime_field_polynomial_append_shift_constant_add (x2) - 0072
specialize prime_field_polynomial_append_shift_constant_add (x3) - 0073
specialize prime_field_polynomial_append_shift_constant_add (x4) - 0074
specialize prime_field_polynomial_append_shift_constant_add (x5) - 0075
apply prime_field_polynomial_append_shift_constant_add - 0076
exact hp - 0077
exact hb - 0078
exact hc - 0079
exact he - 0080
exact hlast - 0081
exact hs_witness_witness - 0082
exact hconstant - 0083
exact ht_witness_witness