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. ∀ B. ∀ C. ∀ L. ∀ t. ∀ d. ∀ e. ∀ D. ∀ E. BetaPrefixEqual(b,c,B,C,L) → BetaPrefixEqual(d,e,D,E,t + L) → PolynomialLeftPad(b,c,L,t,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 60 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–13
03Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases h
04Establish hrL15–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank prefix equality symmetric.
- L15
have hr : BetaPrefixEqual(B,C,b,c,L)Definitions: BetaPrefixEqual(B,C,b,c,L)Original native command in the exact edition - L16
specialize matrix_rank_prefix_equality_symmetric (b) - L17
specialize matrix_rank_prefix_equality_symmetric (c) - L18
specialize matrix_rank_prefix_equality_symmetric (B) - L19
specialize matrix_rank_prefix_equality_symmetric (C) - L20
specialize matrix_rank_prefix_equality_symmetric (L) - L21
apply matrix_rank_prefix_equality_symmetric - L22
exact hi
05Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
06Fix variables and assumptionsL24–25
07Use earlier factsL26–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Use earlier factsL36–39
09Fix variables and assumptionsL40–43
10Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 60 lines
- 0001
intro b - 0002
intro c - 0003
intro B - 0004
intro C - 0005
intro L - 0006
intro t - 0007
intro d - 0008
intro e - 0009
intro D - 0010
intro E - 0011
intro hi - 0012
intro ho - 0013
intro h - 0014
cases h - 0015
have hr : BetaPrefixEqual(B,C,b,c,L) - 0016
specialize matrix_rank_prefix_equality_symmetric (b) - 0017
specialize matrix_rank_prefix_equality_symmetric (c) - 0018
specialize matrix_rank_prefix_equality_symmetric (B) - 0019
specialize matrix_rank_prefix_equality_symmetric (C) - 0020
specialize matrix_rank_prefix_equality_symmetric (L) - 0021
apply matrix_rank_prefix_equality_symmetric - 0022
exact hi - 0023
split - 0024
intro i - 0025
intro hindex - 0026
specialize ho (i) - 0027
specialize ho (0) - 0028
apply ho - 0029
specialize lt_of_lt_of_le (i) - 0030
specialize lt_of_lt_of_le (t) - 0031
specialize lt_of_lt_of_le (t+L) - 0032
apply lt_of_lt_of_le - 0033
exact hindex - 0034
specialize le_add_right (t) - 0035
specialize le_add_right (L) - 0036
apply le_add_right - 0037
specialize h_left (i) - 0038
apply h_left - 0039
exact hindex - 0040
intro i - 0041
intro a - 0042
intro hindex - 0043
intro ha - 0044
specialize ho (t+i) - 0045
specialize ho (a) - 0046
apply ho - 0047
specialize matrix_recursive_lt_add_left (i) - 0048
specialize matrix_recursive_lt_add_left (L) - 0049
specialize matrix_recursive_lt_add_left (t) - 0050
apply matrix_recursive_lt_add_left - 0051
exact hindex - 0052
specialize h_right (i) - 0053
specialize h_right (a) - 0054
apply h_right - 0055
exact hindex - 0056
specialize hr (i) - 0057
specialize hr (a) - 0058
apply hr - 0059
exact hindex - 0060
exact ha