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. ∀ bb. ∀ bc. ∀ L. ∀ u. ∀ v. Sum(ab,ac,L,u) → Sum(bb,bc,L,v) → (∀ x. ∀ y. ∀ z. Lt(x,L) → BetaAt(ab,ac,x,y) → BetaAt(bb,bc,x,z) → ModEq(p,k · y,z)) → ModEq(p,k · u,v)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 102 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–6
02Induction on LL7–12
03Establish hu0L13–18
04Establish hv0L19–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum zero.
05Construct an explicit witnessL27–28
06Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
simp
07Fix variables and assumptionsL30–34
08Establish hfirstL35–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L35
have hfirst : ∃ a. ∃ n. BetaAt(ab,ac,L,a) ∧ (Sum(ab,ac,L,n) ∧ u = n + a)Definitions: BetaAt(ab,ac,L,a)Sum(ab,ac,L,n)Original native command in the exact edition - L36
specialize beta_sum_succ_decompose (ab) - L37
specialize beta_sum_succ_decompose (ac) - L38
specialize beta_sum_succ_decompose (L) - L39
specialize beta_sum_succ_decompose (u) - L40
apply beta_sum_succ_decompose - L41
exact hu
09Separate the logical casesL42–45
10Establish hsecondL46–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L46
have hsecond : ∃ a. ∃ n. BetaAt(bb,bc,L,a) ∧ (Sum(bb,bc,L,n) ∧ v = n + a)Definitions: BetaAt(bb,bc,L,a)Sum(bb,bc,L,n)Original native command in the exact edition - L47
specialize beta_sum_succ_decompose (bb) - L48
specialize beta_sum_succ_decompose (bc) - L49
specialize beta_sum_succ_decompose (L) - L50
specialize beta_sum_succ_decompose (v) - L51
apply beta_sum_succ_decompose - L52
exact hv
11Separate the logical casesL53–56
12Establish hprefixL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
13Fix variables and assumptionsL67–68
14Use earlier factsL69–78
15Establish hlastL79–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hw.
16Establish hcombinedL88–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq add.
- L88
have hcombined : ModEq(p,k · x1 + k · x,x3 + x2)Definitions: ModEq(p,k · x1 + k · x,x3 + x2)Original native command in the exact edition - L89
specialize mod_eq_add (p) - L90
specialize mod_eq_add (k*x1) - L91
specialize mod_eq_add (x3) - L92
specialize mod_eq_add (k*x) - L93
specialize mod_eq_add (x2) - L94
apply mod_eq_add - L95
exact hprefix - L96
exact hlast - L97
rewrite hfirst_witness_witness_right_right
17Calculate and transport equalitiesL98–98
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L98
rewrite hsecond_witness_witness_right_right
Original defined command ledger · 102 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
induction L - 0008
intro u - 0009
intro v - 0010
intro hu - 0011
intro hv - 0012
intro hw - 0013
have hu0 : u=0 - 0014
specialize beta_sum_zero (ab) - 0015
specialize beta_sum_zero (ac) - 0016
specialize beta_sum_zero (u) - 0017
apply beta_sum_zero - 0018
exact hu - 0019
have hv0 : v=0 - 0020
specialize beta_sum_zero (bb) - 0021
specialize beta_sum_zero (bc) - 0022
specialize beta_sum_zero (v) - 0023
apply beta_sum_zero - 0024
exact hv - 0025
rewrite hu0 - 0026
rewrite hv0 - 0027
exists 0 - 0028
exists 0 - 0029
simp - 0030
intro u - 0031
intro v - 0032
intro hu - 0033
intro hv - 0034
intro hw - 0035
have hfirst : ∃ a. ∃ n. BetaAt(ab,ac,L,a) ∧ (Sum(ab,ac,L,n) ∧ u = n + a) - 0036
specialize beta_sum_succ_decompose (ab) - 0037
specialize beta_sum_succ_decompose (ac) - 0038
specialize beta_sum_succ_decompose (L) - 0039
specialize beta_sum_succ_decompose (u) - 0040
apply beta_sum_succ_decompose - 0041
exact hu - 0042
cases hfirst - 0043
cases hfirst_witness - 0044
cases hfirst_witness_witness - 0045
cases hfirst_witness_witness_right - 0046
have hsecond : ∃ a. ∃ n. BetaAt(bb,bc,L,a) ∧ (Sum(bb,bc,L,n) ∧ v = n + a) - 0047
specialize beta_sum_succ_decompose (bb) - 0048
specialize beta_sum_succ_decompose (bc) - 0049
specialize beta_sum_succ_decompose (L) - 0050
specialize beta_sum_succ_decompose (v) - 0051
apply beta_sum_succ_decompose - 0052
exact hv - 0053
cases hsecond - 0054
cases hsecond_witness - 0055
cases hsecond_witness_witness - 0056
cases hsecond_witness_witness_right - 0057
have hprefix : ModEq(p,k · x1,x3) - 0058
specialize IH (x1) - 0059
specialize IH (x3) - 0060
apply IH - 0061
exact hfirst_witness_witness_right_left - 0062
exact hsecond_witness_witness_right_left - 0063
intro i - 0064
intro a - 0065
intro b - 0066
intro hi - 0067
intro ha - 0068
intro hb - 0069
specialize hw (i) - 0070
specialize hw (a) - 0071
specialize hw (b) - 0072
apply hw - 0073
specialize le_succ (S i) - 0074
specialize le_succ (L) - 0075
apply le_succ - 0076
exact hi - 0077
exact ha - 0078
exact hb - 0079
have hlast : ModEq(p,k · x,x2) - 0080
specialize hw (L) - 0081
specialize hw (x) - 0082
specialize hw (x2) - 0083
apply hw - 0084
specialize le_refl (S L) - 0085
apply le_refl - 0086
exact hfirst_witness_witness_left - 0087
exact hsecond_witness_witness_left - 0088
have hcombined : ModEq(p,k · x1 + k · x,x3 + x2) - 0089
specialize mod_eq_add (p) - 0090
specialize mod_eq_add (k*x1) - 0091
specialize mod_eq_add (x3) - 0092
specialize mod_eq_add (k*x) - 0093
specialize mod_eq_add (x2) - 0094
apply mod_eq_add - 0095
exact hprefix - 0096
exact hlast - 0097
rewrite hfirst_witness_witness_right_right - 0098
rewrite hsecond_witness_witness_right_right - 0099
have hdistribute : k*(x1+x)=k*x1+k*x - 0100
apply mul_add - 0101
rewrite hdistribute - 0102
exact hcombined