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
∀ k. ∀ kb. ∀ kc. ∀ ab. ∀ ac. ∀ L. ∀ i. ∀ a. ∀ db. ∀ dc. ∀ n. BetaAt(kb,kc,0,k) → Lt(i,L) → BetaAt(ab,ac,i,a) → PolynomialDiagonalPrefix(kb,kc,1,ab,ac,L,i,db,dc,S i) → Sum(db,dc,S i,n) → n = k · a
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 137 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–16
03Establish hheadL17–17
Establish this local claim before using it. It is not an additional assumption.
- L17
have hhead : BetaAt(db,dc,0,k · a)Definitions: BetaAt(db,dc,0,k · a)Original native command in the exact edition
04Establish hvL18–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hd.
- L18
have hv : ∃ t. BetaAt(db,dc,0,t) ∧ PolynomialDiagonalTerm(kb,kc,1,ab,ac,L,i,0,t)Definitions: BetaAt(db,dc,0,t)PolynomialDiagonalTerm(kb,kc,1,ab,ac,L,i,0,t)Original native command in the exact edition - L19
specialize hd (0) - L20
apply hd
05Construct an explicit witnessL21–21
Supply the displayed value, then prove that it has the required property.
- L21
exists i
06Calculate and transport equalitiesL22–22
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L22
simp
07Separate the logical casesL23–24
08Establish heqL25–34
Establish this local claim before using it. It is not an additional assumption.
- L25
have heq : x=k*a - L26
specialize polynomial_diagonal_left_constant_first_term (k) - L27
specialize polynomial_diagonal_left_constant_first_term (kb) - L28
specialize polynomial_diagonal_left_constant_first_term (kc) - L29
specialize polynomial_diagonal_left_constant_first_term (ab) - L30
specialize polynomial_diagonal_left_constant_first_term (ac) - L31
specialize polynomial_diagonal_left_constant_first_term (L) - L32
specialize polynomial_diagonal_left_constant_first_term (i) - L33
specialize polynomial_diagonal_left_constant_first_term (a) - L34
specialize polynomial_diagonal_left_constant_first_term (x)
09Use earlier factsL35–39
10Calculate and transport equalitiesL40–41
11Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hv_witness_left
12Establish htailL43–45
Establish this local claim before using it. It is not an additional assumption.
- L43
have htail : ∀ pfpad_tail_index_left_constant_sum_tail. Lt(pfpad_tail_index_left_constant_sum_tail,i) → BetaAt(db,dc,1 + pfpad_tail_index_left_constant_sum_tail,0)Definitions: Lt(pfpad_tail_index_left_constant_sum_tail,i)BetaAt(db,dc,1 + pfpad_tail_index_left_constant_sum_tail,0)Original native command in the exact edition - L44
intro j - L45
intro hj
13Establish hvL46–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hd.
- L46
have hv : ∃ t. BetaAt(db,dc,1 + j,t) ∧ PolynomialDiagonalTerm(kb,kc,1,ab,ac,L,i,1 + j,t)Definitions: BetaAt(db,dc,1 + j,t)PolynomialDiagonalTerm(kb,kc,1,ab,ac,L,i,1 + j,t)Original native command in the exact edition - L47
specialize hd (1+j) - L48
apply hd
14Establish hindexL49–55
15Separate the logical casesL56–57
16Establish heqL58–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial diagonal left unit tail term.
- L58
have heq : x=0 - L59
specialize polynomial_diagonal_left_unit_tail_term (kb) - L60
specialize polynomial_diagonal_left_unit_tail_term (kc) - L61
specialize polynomial_diagonal_left_unit_tail_term (ab) - L62
specialize polynomial_diagonal_left_unit_tail_term (ac) - L63
specialize polynomial_diagonal_left_unit_tail_term (L) - L64
specialize polynomial_diagonal_left_unit_tail_term (i) - L65
specialize polynomial_diagonal_left_unit_tail_term (1+j) - L66
specialize polynomial_diagonal_left_unit_tail_term (x) - L67
apply polynomial_diagonal_left_unit_tail_term
17Use earlier factsL68–71
18Calculate and transport equalitiesL72–73
19Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hv_witness_left
20Establish hsingleL75–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum exists.
- L75
have hsingle : ∃ m. Sum(db,dc,1,m)Definitions: Sum(db,dc,1,m)Original native command in the exact edition - L76
specialize beta_sum_exists (db) - L77
specialize beta_sum_exists (dc) - L78
specialize beta_sum_exists (1) - L79
apply beta_sum_exists
21Separate the logical casesL80–80
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L80
cases hsingle
22Establish hdecompL81–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L81
have hdecomp : ∃ t. ∃ s. BetaAt(db,dc,0,t) ∧ (Sum(db,dc,0,s) ∧ x = s + t)Definitions: BetaAt(db,dc,0,t)Sum(db,dc,0,s)Original native command in the exact edition - L82
specialize beta_sum_succ_decompose (db) - L83
specialize beta_sum_succ_decompose (dc) - L84
specialize beta_sum_succ_decompose (0) - L85
specialize beta_sum_succ_decompose (x) - L86
apply beta_sum_succ_decompose - L87
exact hsingle_witness
23Separate the logical casesL88–91
24Establish hzeroL92–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum zero.
25Establish hentryL98–106
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
26Establish hvalueL107–116
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply zero add.
27Use earlier factsL117–123
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L117
specialize polynomial_zero_tail_natural_sum_invariant (db) - L118
specialize polynomial_zero_tail_natural_sum_invariant (dc) - L119
specialize polynomial_zero_tail_natural_sum_invariant (1) - L120
specialize polynomial_zero_tail_natural_sum_invariant (i) - L121
specialize polynomial_zero_tail_natural_sum_invariant (x) - L122
specialize polynomial_zero_tail_natural_sum_invariant (n) - L123
apply polynomial_zero_tail_natural_sum_invariant
28Fix variables and assumptionsL124–127
29Use earlier factsL128–130
Original defined command ledger · 137 lines
- 0001
intro k - 0002
intro kb - 0003
intro kc - 0004
intro ab - 0005
intro ac - 0006
intro L - 0007
intro i - 0008
intro a - 0009
intro db - 0010
intro dc - 0011
intro n - 0012
intro hk - 0013
intro hi - 0014
intro ha - 0015
intro hd - 0016
intro hs - 0017
have hhead : BetaAt(db,dc,0,k · a) - 0018
have hv : ∃ t. BetaAt(db,dc,0,t) ∧ PolynomialDiagonalTerm(kb,kc,1,ab,ac,L,i,0,t) - 0019
specialize hd (0) - 0020
apply hd - 0021
exists i - 0022
simp - 0023
cases hv - 0024
cases hv_witness - 0025
have heq : x=k*a - 0026
specialize polynomial_diagonal_left_constant_first_term (k) - 0027
specialize polynomial_diagonal_left_constant_first_term (kb) - 0028
specialize polynomial_diagonal_left_constant_first_term (kc) - 0029
specialize polynomial_diagonal_left_constant_first_term (ab) - 0030
specialize polynomial_diagonal_left_constant_first_term (ac) - 0031
specialize polynomial_diagonal_left_constant_first_term (L) - 0032
specialize polynomial_diagonal_left_constant_first_term (i) - 0033
specialize polynomial_diagonal_left_constant_first_term (a) - 0034
specialize polynomial_diagonal_left_constant_first_term (x) - 0035
apply polynomial_diagonal_left_constant_first_term - 0036
exact hk - 0037
exact hi - 0038
exact ha - 0039
exact hv_witness_right - 0040
rewrite heq at hv_witness_left - 0041
rewrite heq at hv_witness_left - 0042
exact hv_witness_left - 0043
have htail : ∀ pfpad_tail_index_left_constant_sum_tail. Lt(pfpad_tail_index_left_constant_sum_tail,i) → BetaAt(db,dc,1 + pfpad_tail_index_left_constant_sum_tail,0) - 0044
intro j - 0045
intro hj - 0046
have hv : ∃ t. BetaAt(db,dc,1 + j,t) ∧ PolynomialDiagonalTerm(kb,kc,1,ab,ac,L,i,1 + j,t) - 0047
specialize hd (1+j) - 0048
apply hd - 0049
have hindex : 1+j=S j - 0050
simp [add_succ_left,zero_add] - 0051
rewrite hindex - 0052
specialize succ_le_succ (S j) - 0053
specialize succ_le_succ (i) - 0054
apply succ_le_succ - 0055
exact hj - 0056
cases hv - 0057
cases hv_witness - 0058
have heq : x=0 - 0059
specialize polynomial_diagonal_left_unit_tail_term (kb) - 0060
specialize polynomial_diagonal_left_unit_tail_term (kc) - 0061
specialize polynomial_diagonal_left_unit_tail_term (ab) - 0062
specialize polynomial_diagonal_left_unit_tail_term (ac) - 0063
specialize polynomial_diagonal_left_unit_tail_term (L) - 0064
specialize polynomial_diagonal_left_unit_tail_term (i) - 0065
specialize polynomial_diagonal_left_unit_tail_term (1+j) - 0066
specialize polynomial_diagonal_left_unit_tail_term (x) - 0067
apply polynomial_diagonal_left_unit_tail_term - 0068
specialize le_add_right (1) - 0069
specialize le_add_right (j) - 0070
apply le_add_right - 0071
exact hv_witness_right - 0072
rewrite heq at hv_witness_left - 0073
rewrite heq at hv_witness_left - 0074
exact hv_witness_left - 0075
have hsingle : ∃ m. Sum(db,dc,1,m) - 0076
specialize beta_sum_exists (db) - 0077
specialize beta_sum_exists (dc) - 0078
specialize beta_sum_exists (1) - 0079
apply beta_sum_exists - 0080
cases hsingle - 0081
have hdecomp : ∃ t. ∃ s. BetaAt(db,dc,0,t) ∧ (Sum(db,dc,0,s) ∧ x = s + t) - 0082
specialize beta_sum_succ_decompose (db) - 0083
specialize beta_sum_succ_decompose (dc) - 0084
specialize beta_sum_succ_decompose (0) - 0085
specialize beta_sum_succ_decompose (x) - 0086
apply beta_sum_succ_decompose - 0087
exact hsingle_witness - 0088
cases hdecomp - 0089
cases hdecomp_witness - 0090
cases hdecomp_witness_witness - 0091
cases hdecomp_witness_witness_right - 0092
have hzero : x2=0 - 0093
specialize beta_sum_zero (db) - 0094
specialize beta_sum_zero (dc) - 0095
specialize beta_sum_zero (x2) - 0096
apply beta_sum_zero - 0097
exact hdecomp_witness_witness_right_left - 0098
have hentry : x1=k*a - 0099
specialize beta_at_unique (db) - 0100
specialize beta_at_unique (dc) - 0101
specialize beta_at_unique (0) - 0102
specialize beta_at_unique (x1) - 0103
specialize beta_at_unique (k*a) - 0104
apply beta_at_unique - 0105
exact hdecomp_witness_witness_left - 0106
exact hhead - 0107
have hvalue : x=k*a - 0108
trans x2+x1 - 0109
exact hdecomp_witness_witness_right_right - 0110
rewrite hzero - 0111
trans x1 - 0112
apply zero_add - 0113
exact hentry - 0114
trans x - 0115
specialize polynomial_zero_tail_natural_sum_invariant (db) - 0116
specialize polynomial_zero_tail_natural_sum_invariant (dc) - 0117
specialize polynomial_zero_tail_natural_sum_invariant (db) - 0118
specialize polynomial_zero_tail_natural_sum_invariant (dc) - 0119
specialize polynomial_zero_tail_natural_sum_invariant (1) - 0120
specialize polynomial_zero_tail_natural_sum_invariant (i) - 0121
specialize polynomial_zero_tail_natural_sum_invariant (x) - 0122
specialize polynomial_zero_tail_natural_sum_invariant (n) - 0123
apply polynomial_zero_tail_natural_sum_invariant - 0124
intro j0 - 0125
intro v0 - 0126
intro hj0 - 0127
intro hv0 - 0128
exact hv0 - 0129
exact htail - 0130
exact hsingle_witness - 0131
have hlength : 1+i=S i - 0132
simp [add_succ_left,zero_add] - 0133
rewrite hlength - 0134
rewrite hlength - 0135
rewrite hlength - 0136
exact hs - 0137
exact hvalue