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. ∀ sb. ∀ sc. ∀ kb. ∀ kc. ∀ tb. ∀ tc. Prime(p) → BetaPrefixInto(bb,bc,M,p) → Lt(c,p) → BetaPrefixEqual(bb,bc,db,dc,M) → BetaAt(db,dc,M,c) → PolynomialShift(bb,bc,M,sb,sc) → BetaAt(kb,kc,0,c) → PolynomialLeftPad(kb,kc,1,M,tb,tc) → FpPolyAdd(p,sb,sc,tb,tc,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 94 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–21
Work with arbitrary variables or the premises of the current implication.
- L21
intro ht
04Separate the logical casesL22–23
05Establish hconstantL24–24
Establish this local claim before using it. It is not an additional assumption.
- L24
have hconstant : BetaAt(tb,tc,M,c)Definitions: BetaAt(tb,tc,M,c)Original native command in the exact edition
06Establish hrawL25–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply ht right.
- L25
have hraw : BetaAt(tb,tc,M + 0,c)Definitions: BetaAt(tb,tc,M + 0,c)Original native command in the exact edition - L26
specialize ht_right (0) - L27
specialize ht_right (c) - L28
apply ht_right
07Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists 0
08Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
simp
09Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hk
10Establish hindexL32–38
11Establish hcaseL39–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
12Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
cases hcase
13Construct an explicit witnessL45–47
14Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
15Calculate and transport equalitiesL49–50
16Use earlier factsL51–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
exact hs_right
17Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
split
18Calculate and transport equalitiesL53–54
19Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hconstant
20Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
21Calculate and transport equalitiesL57–58
22Use earlier factsL59–64
23Establish haL65–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hb.
- L65
have ha : ∃ a. BetaAt(bb,bc,i,a) ∧ Lt(a,p)Definitions: BetaAt(bb,bc,i,a)Lt(a,p)Original native command in the exact edition - L66
specialize hb (i) - L67
apply hb - L68
exact hcase_right
24Separate the logical casesL69–70
25Construct an explicit witnessL71–73
26Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
split
27Use earlier factsL75–79
28Separate the logical casesL80–80
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L80
split
29Use earlier factsL81–83
30Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
split
31Use earlier factsL85–94
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 94 lines
- 0001
intro p - 0002
intro bb - 0003
intro bc - 0004
intro M - 0005
intro c - 0006
intro db - 0007
intro dc - 0008
intro sb - 0009
intro sc - 0010
intro kb - 0011
intro kc - 0012
intro tb - 0013
intro tc - 0014
intro hp - 0015
intro hb - 0016
intro hc - 0017
intro he - 0018
intro hlast - 0019
intro hs - 0020
intro hk - 0021
intro ht - 0022
cases hs - 0023
cases ht - 0024
have hconstant : BetaAt(tb,tc,M,c) - 0025
have hraw : BetaAt(tb,tc,M + 0,c) - 0026
specialize ht_right (0) - 0027
specialize ht_right (c) - 0028
apply ht_right - 0029
exists 0 - 0030
simp - 0031
exact hk - 0032
have hindex : M+0=M - 0033
simp - 0034
rewrite hindex at hraw - 0035
rewrite hindex at hraw - 0036
exact hraw - 0037
intro i - 0038
intro hi - 0039
have hcase : i = M ∨ Lt(i,M) - 0040
specialize finite_lt_succ_eq_or_lt (M) - 0041
specialize finite_lt_succ_eq_or_lt (i) - 0042
apply finite_lt_succ_eq_or_lt - 0043
exact hi - 0044
cases hcase - 0045
exists 0 - 0046
exists c - 0047
exists c - 0048
split - 0049
rewrite hcase_left - 0050
rewrite hcase_left - 0051
exact hs_right - 0052
split - 0053
rewrite hcase_left - 0054
rewrite hcase_left - 0055
exact hconstant - 0056
split - 0057
rewrite hcase_left - 0058
rewrite hcase_left - 0059
exact hlast - 0060
specialize prime_field_add_zero_left (p) - 0061
specialize prime_field_add_zero_left (c) - 0062
apply prime_field_add_zero_left - 0063
exact hp - 0064
exact hc - 0065
have ha : ∃ a. BetaAt(bb,bc,i,a) ∧ Lt(a,p) - 0066
specialize hb (i) - 0067
apply hb - 0068
exact hcase_right - 0069
cases ha - 0070
cases ha_witness - 0071
exists x - 0072
exists 0 - 0073
exists x - 0074
split - 0075
specialize hs_left (i) - 0076
specialize hs_left (x) - 0077
apply hs_left - 0078
exact hcase_right - 0079
exact ha_witness_left - 0080
split - 0081
specialize ht_left (i) - 0082
apply ht_left - 0083
exact hcase_right - 0084
split - 0085
specialize he (i) - 0086
specialize he (x) - 0087
apply he - 0088
exact hcase_right - 0089
exact ha_witness_left - 0090
specialize prime_field_add_zero_right (p) - 0091
specialize prime_field_add_zero_right (x) - 0092
apply prime_field_add_zero_right - 0093
exact hp - 0094
exact ha_witness_right