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
∀ ub. ∀ uc. ∀ ab. ∀ ac. ∀ L. ∀ i. ∀ a. ∀ db. ∀ dc. ∀ n. BetaAt(ub,uc,0,1) → Lt(i,L) → BetaAt(ab,ac,i,a) → PolynomialDiagonalPrefix(ub,uc,1,ab,ac,L,i,db,dc,S i) → Sum(db,dc,S i,n) → n = a
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 135 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–15
03Establish hheadL16–16
Establish this local claim before using it. It is not an additional assumption.
- L16
have hhead : BetaAt(db,dc,0,a)Definitions: BetaAt(db,dc,0,a)Original native command in the exact edition
04Establish hvL17–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hd.
- L17
have hv : ∃ t. BetaAt(db,dc,0,t) ∧ PolynomialDiagonalTerm(ub,uc,1,ab,ac,L,i,0,t)Definitions: BetaAt(db,dc,0,t)PolynomialDiagonalTerm(ub,uc,1,ab,ac,L,i,0,t)Original native command in the exact edition - L18
specialize hd (0) - L19
apply hd
05Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists i
06Calculate and transport equalitiesL21–21
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L21
simp
07Separate the logical casesL22–23
08Establish heqL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial diagonal left unit first term.
- L24
have heq : x=a - L25
specialize polynomial_diagonal_left_unit_first_term (ub) - L26
specialize polynomial_diagonal_left_unit_first_term (uc) - L27
specialize polynomial_diagonal_left_unit_first_term (ab) - L28
specialize polynomial_diagonal_left_unit_first_term (ac) - L29
specialize polynomial_diagonal_left_unit_first_term (L) - L30
specialize polynomial_diagonal_left_unit_first_term (i) - L31
specialize polynomial_diagonal_left_unit_first_term (a) - L32
specialize polynomial_diagonal_left_unit_first_term (x) - L33
apply polynomial_diagonal_left_unit_first_term
09Use earlier factsL34–37
10Calculate and transport equalitiesL38–39
11Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hv_witness_left
12Establish htailL41–43
Establish this local claim before using it. It is not an additional assumption.
- L41
have htail : ∀ pfpad_tail_index_unit_sum_tail. Lt(pfpad_tail_index_unit_sum_tail,i) → BetaAt(db,dc,1 + pfpad_tail_index_unit_sum_tail,0)Definitions: Lt(pfpad_tail_index_unit_sum_tail,i)BetaAt(db,dc,1 + pfpad_tail_index_unit_sum_tail,0)Original native command in the exact edition - L42
intro j - L43
intro hj
13Establish hvL44–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hd.
- L44
have hv : ∃ t. BetaAt(db,dc,1 + j,t) ∧ PolynomialDiagonalTerm(ub,uc,1,ab,ac,L,i,1 + j,t)Definitions: BetaAt(db,dc,1 + j,t)PolynomialDiagonalTerm(ub,uc,1,ab,ac,L,i,1 + j,t)Original native command in the exact edition - L45
specialize hd (1+j) - L46
apply hd
14Establish hindexL47–53
15Separate the logical casesL54–55
16Establish heqL56–65
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial diagonal left unit tail term.
- L56
have heq : x=0 - L57
specialize polynomial_diagonal_left_unit_tail_term (ub) - L58
specialize polynomial_diagonal_left_unit_tail_term (uc) - L59
specialize polynomial_diagonal_left_unit_tail_term (ab) - L60
specialize polynomial_diagonal_left_unit_tail_term (ac) - L61
specialize polynomial_diagonal_left_unit_tail_term (L) - L62
specialize polynomial_diagonal_left_unit_tail_term (i) - L63
specialize polynomial_diagonal_left_unit_tail_term (1+j) - L64
specialize polynomial_diagonal_left_unit_tail_term (x) - L65
apply polynomial_diagonal_left_unit_tail_term
17Use earlier factsL66–69
18Calculate and transport equalitiesL70–71
19Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact hv_witness_left
20Establish hsingleL73–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum exists.
- L73
have hsingle : ∃ m. Sum(db,dc,1,m)Definitions: Sum(db,dc,1,m)Original native command in the exact edition - L74
specialize beta_sum_exists (db) - L75
specialize beta_sum_exists (dc) - L76
specialize beta_sum_exists (1) - L77
apply beta_sum_exists
21Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases hsingle
22Establish hdecompL79–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L79
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 - L80
specialize beta_sum_succ_decompose (db) - L81
specialize beta_sum_succ_decompose (dc) - L82
specialize beta_sum_succ_decompose (0) - L83
specialize beta_sum_succ_decompose (x) - L84
apply beta_sum_succ_decompose - L85
exact hsingle_witness
23Separate the logical casesL86–89
24Establish hzeroL90–95
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum zero.
25Establish hentryL96–104
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
26Establish hvalueL105–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply zero add.
27Use earlier factsL115–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
specialize polynomial_zero_tail_natural_sum_invariant (db) - L116
specialize polynomial_zero_tail_natural_sum_invariant (dc) - L117
specialize polynomial_zero_tail_natural_sum_invariant (1) - L118
specialize polynomial_zero_tail_natural_sum_invariant (i) - L119
specialize polynomial_zero_tail_natural_sum_invariant (x) - L120
specialize polynomial_zero_tail_natural_sum_invariant (n) - L121
apply polynomial_zero_tail_natural_sum_invariant
28Fix variables and assumptionsL122–125
29Use earlier factsL126–128
Original defined command ledger · 135 lines
- 0001
intro ub - 0002
intro uc - 0003
intro ab - 0004
intro ac - 0005
intro L - 0006
intro i - 0007
intro a - 0008
intro db - 0009
intro dc - 0010
intro n - 0011
intro hu - 0012
intro hi - 0013
intro ha - 0014
intro hd - 0015
intro hs - 0016
have hhead : BetaAt(db,dc,0,a) - 0017
have hv : ∃ t. BetaAt(db,dc,0,t) ∧ PolynomialDiagonalTerm(ub,uc,1,ab,ac,L,i,0,t) - 0018
specialize hd (0) - 0019
apply hd - 0020
exists i - 0021
simp - 0022
cases hv - 0023
cases hv_witness - 0024
have heq : x=a - 0025
specialize polynomial_diagonal_left_unit_first_term (ub) - 0026
specialize polynomial_diagonal_left_unit_first_term (uc) - 0027
specialize polynomial_diagonal_left_unit_first_term (ab) - 0028
specialize polynomial_diagonal_left_unit_first_term (ac) - 0029
specialize polynomial_diagonal_left_unit_first_term (L) - 0030
specialize polynomial_diagonal_left_unit_first_term (i) - 0031
specialize polynomial_diagonal_left_unit_first_term (a) - 0032
specialize polynomial_diagonal_left_unit_first_term (x) - 0033
apply polynomial_diagonal_left_unit_first_term - 0034
exact hu - 0035
exact hi - 0036
exact ha - 0037
exact hv_witness_right - 0038
rewrite heq at hv_witness_left - 0039
rewrite heq at hv_witness_left - 0040
exact hv_witness_left - 0041
have htail : ∀ pfpad_tail_index_unit_sum_tail. Lt(pfpad_tail_index_unit_sum_tail,i) → BetaAt(db,dc,1 + pfpad_tail_index_unit_sum_tail,0) - 0042
intro j - 0043
intro hj - 0044
have hv : ∃ t. BetaAt(db,dc,1 + j,t) ∧ PolynomialDiagonalTerm(ub,uc,1,ab,ac,L,i,1 + j,t) - 0045
specialize hd (1+j) - 0046
apply hd - 0047
have hindex : 1+j=S j - 0048
simp [add_succ_left,zero_add] - 0049
rewrite hindex - 0050
specialize succ_le_succ (S j) - 0051
specialize succ_le_succ (i) - 0052
apply succ_le_succ - 0053
exact hj - 0054
cases hv - 0055
cases hv_witness - 0056
have heq : x=0 - 0057
specialize polynomial_diagonal_left_unit_tail_term (ub) - 0058
specialize polynomial_diagonal_left_unit_tail_term (uc) - 0059
specialize polynomial_diagonal_left_unit_tail_term (ab) - 0060
specialize polynomial_diagonal_left_unit_tail_term (ac) - 0061
specialize polynomial_diagonal_left_unit_tail_term (L) - 0062
specialize polynomial_diagonal_left_unit_tail_term (i) - 0063
specialize polynomial_diagonal_left_unit_tail_term (1+j) - 0064
specialize polynomial_diagonal_left_unit_tail_term (x) - 0065
apply polynomial_diagonal_left_unit_tail_term - 0066
specialize le_add_right (1) - 0067
specialize le_add_right (j) - 0068
apply le_add_right - 0069
exact hv_witness_right - 0070
rewrite heq at hv_witness_left - 0071
rewrite heq at hv_witness_left - 0072
exact hv_witness_left - 0073
have hsingle : ∃ m. Sum(db,dc,1,m) - 0074
specialize beta_sum_exists (db) - 0075
specialize beta_sum_exists (dc) - 0076
specialize beta_sum_exists (1) - 0077
apply beta_sum_exists - 0078
cases hsingle - 0079
have hdecomp : ∃ t. ∃ s. BetaAt(db,dc,0,t) ∧ (Sum(db,dc,0,s) ∧ x = s + t) - 0080
specialize beta_sum_succ_decompose (db) - 0081
specialize beta_sum_succ_decompose (dc) - 0082
specialize beta_sum_succ_decompose (0) - 0083
specialize beta_sum_succ_decompose (x) - 0084
apply beta_sum_succ_decompose - 0085
exact hsingle_witness - 0086
cases hdecomp - 0087
cases hdecomp_witness - 0088
cases hdecomp_witness_witness - 0089
cases hdecomp_witness_witness_right - 0090
have hzero : x2=0 - 0091
specialize beta_sum_zero (db) - 0092
specialize beta_sum_zero (dc) - 0093
specialize beta_sum_zero (x2) - 0094
apply beta_sum_zero - 0095
exact hdecomp_witness_witness_right_left - 0096
have hentry : x1=a - 0097
specialize beta_at_unique (db) - 0098
specialize beta_at_unique (dc) - 0099
specialize beta_at_unique (0) - 0100
specialize beta_at_unique (x1) - 0101
specialize beta_at_unique (a) - 0102
apply beta_at_unique - 0103
exact hdecomp_witness_witness_left - 0104
exact hhead - 0105
have hvalue : x=a - 0106
trans x2+x1 - 0107
exact hdecomp_witness_witness_right_right - 0108
rewrite hzero - 0109
trans x1 - 0110
apply zero_add - 0111
exact hentry - 0112
trans x - 0113
specialize polynomial_zero_tail_natural_sum_invariant (db) - 0114
specialize polynomial_zero_tail_natural_sum_invariant (dc) - 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 (1) - 0118
specialize polynomial_zero_tail_natural_sum_invariant (i) - 0119
specialize polynomial_zero_tail_natural_sum_invariant (x) - 0120
specialize polynomial_zero_tail_natural_sum_invariant (n) - 0121
apply polynomial_zero_tail_natural_sum_invariant - 0122
intro k - 0123
intro v - 0124
intro hk - 0125
intro hv - 0126
exact hv - 0127
exact htail - 0128
exact hsingle_witness - 0129
have hlength : 1+i=S i - 0130
simp [add_succ_left,zero_add] - 0131
rewrite hlength - 0132
rewrite hlength - 0133
rewrite hlength - 0134
exact hs - 0135
exact hvalue