Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Coefficients are highest-degree-first. The divisor has a nonzero decoded head; primality supplies its actual inverse. Empty quotients and remainders are included. Functionality compares the constructed execution lengths and decoded coefficients, never arbitrary beta codes. Formal polynomial equivalence compares every coefficient, not evaluations on a finite field. The formal identity and remainder-degree bound are proved separately, not assumed by the execution graph. Arbitrary quotient/remainder-pair uniqueness from a formal identity, multiplication associativity, gcd/Bezout, irreducible-polynomial existence, and the full G091 prime-power-field goal remain open. The seven displayed new names are conservative first-order notation, not new kernel primitives.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ t. ∀ L. ∃ d. ∃ e. PolynomialLeftPad(b,c,L,t,d,e)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 100 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–3
02Induction on LL4–4
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L4
induction L
03Establish hzL5–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat exists.
- L5
have hz : ∃ d. ∃ e. Repeat(d,e,0,t)Definitions: Repeat(d,e,0,t)Original native command in the exact edition - L6
specialize beta_repeat_exists (0) - L7
specialize beta_repeat_exists (t) - L8
apply beta_repeat_exists
04Separate the logical casesL9–10
05Construct an explicit witnessL11–12
06Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
split
07Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hz_witness_witness
08Fix variables and assumptionsL15–18
09Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
exfalso
10Use earlier factsL20–22
11Establish holdL23–24
Establish this local claim before using it. It is not an additional assumption.
- L23
have hold : ∃ d. ∃ e. PolynomialLeftPad(b,c,L,t,d,e)Definitions: PolynomialLeftPad(b,c,L,t,d,e)Original native command in the exact edition - L24
exact IH
12Separate the logical casesL25–27
13Establish haL28–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L28
have ha : ∃ a. BetaAt(b,c,L,a)Definitions: BetaAt(b,c,L,a)Original native command in the exact edition - L29
specialize beta_at_exists (b) - L30
specialize beta_at_exists (c) - L31
specialize beta_at_exists (L) - L32
apply beta_at_exists
14Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases ha
15Establish hnL34–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
- L34
have hn : ∃ d. ∃ e. BetaAt(d,e,t + L,x2) ∧ BetaPrefixEqual(x,x1,d,e,t + L)Definitions: BetaAt(d,e,t + L,x2)BetaPrefixEqual(x,x1,d,e,t + L)Original native command in the exact edition - L35
specialize beta_prefix_extend (t+L) - L36
specialize beta_prefix_extend (x) - L37
specialize beta_prefix_extend (x1) - L38
specialize beta_prefix_extend (x2) - L39
apply beta_prefix_extend
16Separate the logical casesL40–42
17Construct an explicit witnessL43–44
18Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
split
19Fix variables and assumptionsL46–47
20Use earlier factsL48–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
specialize hn_witness_witness_right (i) - L49
specialize hn_witness_witness_right (0) - L50
apply hn_witness_witness_right - L51
specialize lt_of_lt_of_le (i) - L52
specialize lt_of_lt_of_le (t) - L53
specialize lt_of_lt_of_le (t+L) - L54
apply lt_of_lt_of_le - L55
exact hi - L56
specialize le_add_right (t) - L57
specialize le_add_right (L)
21Use earlier factsL58–61
22Fix variables and assumptionsL62–65
23Establish hoL66–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
24Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
cases ho
25Calculate and transport equalitiesL72–73
26Establish heqL74–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
27Use earlier factsL84–84
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
exact ha_witness
28Calculate and transport equalitiesL85–86
29Use earlier factsL87–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
exact hn_witness_witness_left - L88
specialize hn_witness_witness_right (t+i) - L89
specialize hn_witness_witness_right (a) - L90
apply hn_witness_witness_right - L91
specialize matrix_recursive_lt_add_left (i) - L92
specialize matrix_recursive_lt_add_left (L) - L93
specialize matrix_recursive_lt_add_left (t) - L94
apply matrix_recursive_lt_add_left - L95
exact ho_right - L96
specialize hold_witness_witness_right (i)
Original defined command ledger · 100 lines
- 0001
intro b - 0002
intro c - 0003
intro t - 0004
induction L - 0005
have hz : ∃ d. ∃ e. Repeat(d,e,0,t) - 0006
specialize beta_repeat_exists (0) - 0007
specialize beta_repeat_exists (t) - 0008
apply beta_repeat_exists - 0009
cases hz - 0010
cases hz_witness - 0011
exists x - 0012
exists x1 - 0013
split - 0014
exact hz_witness_witness - 0015
intro i - 0016
intro a - 0017
intro hi - 0018
intro ha - 0019
exfalso - 0020
specialize matrix_rank_no_index_below_zero (i) - 0021
apply matrix_rank_no_index_below_zero - 0022
exact hi - 0023
have hold : ∃ d. ∃ e. PolynomialLeftPad(b,c,L,t,d,e) - 0024
exact IH - 0025
cases hold - 0026
cases hold_witness - 0027
cases hold_witness_witness - 0028
have ha : ∃ a. BetaAt(b,c,L,a) - 0029
specialize beta_at_exists (b) - 0030
specialize beta_at_exists (c) - 0031
specialize beta_at_exists (L) - 0032
apply beta_at_exists - 0033
cases ha - 0034
have hn : ∃ d. ∃ e. BetaAt(d,e,t + L,x2) ∧ BetaPrefixEqual(x,x1,d,e,t + L) - 0035
specialize beta_prefix_extend (t+L) - 0036
specialize beta_prefix_extend (x) - 0037
specialize beta_prefix_extend (x1) - 0038
specialize beta_prefix_extend (x2) - 0039
apply beta_prefix_extend - 0040
cases hn - 0041
cases hn_witness - 0042
cases hn_witness_witness - 0043
exists x3 - 0044
exists x4 - 0045
split - 0046
intro i - 0047
intro hi - 0048
specialize hn_witness_witness_right (i) - 0049
specialize hn_witness_witness_right (0) - 0050
apply hn_witness_witness_right - 0051
specialize lt_of_lt_of_le (i) - 0052
specialize lt_of_lt_of_le (t) - 0053
specialize lt_of_lt_of_le (t+L) - 0054
apply lt_of_lt_of_le - 0055
exact hi - 0056
specialize le_add_right (t) - 0057
specialize le_add_right (L) - 0058
apply le_add_right - 0059
specialize hold_witness_witness_left (i) - 0060
apply hold_witness_witness_left - 0061
exact hi - 0062
intro i - 0063
intro a - 0064
intro hi - 0065
intro ha0 - 0066
have ho : i = L ∨ Lt(i,L) - 0067
specialize finite_lt_succ_eq_or_lt (L) - 0068
specialize finite_lt_succ_eq_or_lt (i) - 0069
apply finite_lt_succ_eq_or_lt - 0070
exact hi - 0071
cases ho - 0072
rewrite ho_left - 0073
rewrite ho_left - 0074
have heq : a=x2 - 0075
specialize beta_at_unique (b) - 0076
specialize beta_at_unique (c) - 0077
specialize beta_at_unique (L) - 0078
specialize beta_at_unique (a) - 0079
specialize beta_at_unique (x2) - 0080
apply beta_at_unique - 0081
rewrite ho_left at ha0 - 0082
rewrite ho_left at ha0 - 0083
exact ha0 - 0084
exact ha_witness - 0085
rewrite heq - 0086
rewrite heq - 0087
exact hn_witness_witness_left - 0088
specialize hn_witness_witness_right (t+i) - 0089
specialize hn_witness_witness_right (a) - 0090
apply hn_witness_witness_right - 0091
specialize matrix_recursive_lt_add_left (i) - 0092
specialize matrix_recursive_lt_add_left (L) - 0093
specialize matrix_recursive_lt_add_left (t) - 0094
apply matrix_recursive_lt_add_left - 0095
exact ho_right - 0096
specialize hold_witness_witness_right (i) - 0097
specialize hold_witness_witness_right (a) - 0098
apply hold_witness_witness_right - 0099
exact ho_right - 0100
exact ha0