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
∀ p. ∀ k. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ M. ∀ qb. ∀ qc. ∀ i. ∀ q. ∀ r. FpPolynomialQuotientStep(p,k,ab,ac,bb,bc,M,qb,qc,i,q) → FpPolynomialQuotientStep(p,k,ab,ac,bb,bc,M,qb,qc,i,r) → q = r
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 72 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–14
03Separate the logical casesL15–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hfirst - L16
cases hfirst_witness - L17
cases hfirst_witness_witness - L18
cases hfirst_witness_witness_witness - L19
cases hfirst_witness_witness_witness_right - L20
cases hfirst_witness_witness_witness_right_right - L21
cases hsecond - L22
cases hsecond_witness - L23
cases hsecond_witness_witness - L24
cases hsecond_witness_witness_witness
04Separate the logical casesL25–26
05Establish hinputL27–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Establish hpreviousL36–45
Establish this local claim before using it. It is not an additional assumption.
- L36
have hprevious : x1=x4 - L37
specialize prime_field_convolution_coefficient_functional (p) - L38
specialize prime_field_convolution_coefficient_functional (qb) - L39
specialize prime_field_convolution_coefficient_functional (qc) - L40
specialize prime_field_convolution_coefficient_functional (i) - L41
specialize prime_field_convolution_coefficient_functional (bb) - L42
specialize prime_field_convolution_coefficient_functional (bc) - L43
specialize prime_field_convolution_coefficient_functional (M) - L44
specialize prime_field_convolution_coefficient_functional (i) - L45
specialize prime_field_convolution_coefficient_functional (x1)
07Use earlier factsL46–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Calculate and transport equalitiesL50–53
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
09Establish hdifferenceL54–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field add cancel left.
- L54
have hdifference : x2=x5 - L55
specialize prime_field_add_cancel_left (p) - L56
specialize prime_field_add_cancel_left (x4) - L57
specialize prime_field_add_cancel_left (x2) - L58
specialize prime_field_add_cancel_left (x5) - L59
specialize prime_field_add_cancel_left (x3) - L60
apply prime_field_add_cancel_left - L61
exact hfirst_witness_witness_witness_right_right_left - L62
exact hsecond_witness_witness_witness_right_right_left - L63
rewrite hdifference at hfirst_witness_witness_witness_right_right_right
10Calculate and transport equalitiesL64–64
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L64
rewrite hdifference at hfirst_witness_witness_witness_right_right_right
11Use earlier factsL65–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize prime_field_multiply_functional (p) - L66
specialize prime_field_multiply_functional (k) - L67
specialize prime_field_multiply_functional (x5) - L68
specialize prime_field_multiply_functional (q) - L69
specialize prime_field_multiply_functional (r) - L70
apply prime_field_multiply_functional - L71
exact hfirst_witness_witness_witness_right_right_right - L72
exact hsecond_witness_witness_witness_right_right_right
Original defined command ledger · 72 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro qb - 0009
intro qc - 0010
intro i - 0011
intro q - 0012
intro r - 0013
intro hfirst - 0014
intro hsecond - 0015
cases hfirst - 0016
cases hfirst_witness - 0017
cases hfirst_witness_witness - 0018
cases hfirst_witness_witness_witness - 0019
cases hfirst_witness_witness_witness_right - 0020
cases hfirst_witness_witness_witness_right_right - 0021
cases hsecond - 0022
cases hsecond_witness - 0023
cases hsecond_witness_witness - 0024
cases hsecond_witness_witness_witness - 0025
cases hsecond_witness_witness_witness_right - 0026
cases hsecond_witness_witness_witness_right_right - 0027
have hinput : x=x3 - 0028
specialize beta_at_unique (ab) - 0029
specialize beta_at_unique (ac) - 0030
specialize beta_at_unique (i) - 0031
specialize beta_at_unique (x) - 0032
specialize beta_at_unique (x3) - 0033
apply beta_at_unique - 0034
exact hfirst_witness_witness_witness_left - 0035
exact hsecond_witness_witness_witness_left - 0036
have hprevious : x1=x4 - 0037
specialize prime_field_convolution_coefficient_functional (p) - 0038
specialize prime_field_convolution_coefficient_functional (qb) - 0039
specialize prime_field_convolution_coefficient_functional (qc) - 0040
specialize prime_field_convolution_coefficient_functional (i) - 0041
specialize prime_field_convolution_coefficient_functional (bb) - 0042
specialize prime_field_convolution_coefficient_functional (bc) - 0043
specialize prime_field_convolution_coefficient_functional (M) - 0044
specialize prime_field_convolution_coefficient_functional (i) - 0045
specialize prime_field_convolution_coefficient_functional (x1) - 0046
specialize prime_field_convolution_coefficient_functional (x4) - 0047
apply prime_field_convolution_coefficient_functional - 0048
exact hfirst_witness_witness_witness_right_left - 0049
exact hsecond_witness_witness_witness_right_left - 0050
rewrite hinput at hfirst_witness_witness_witness_right_right_left - 0051
rewrite hinput at hfirst_witness_witness_witness_right_right_left - 0052
rewrite hprevious at hfirst_witness_witness_witness_right_right_left - 0053
rewrite hprevious at hfirst_witness_witness_witness_right_right_left - 0054
have hdifference : x2=x5 - 0055
specialize prime_field_add_cancel_left (p) - 0056
specialize prime_field_add_cancel_left (x4) - 0057
specialize prime_field_add_cancel_left (x2) - 0058
specialize prime_field_add_cancel_left (x5) - 0059
specialize prime_field_add_cancel_left (x3) - 0060
apply prime_field_add_cancel_left - 0061
exact hfirst_witness_witness_witness_right_right_left - 0062
exact hsecond_witness_witness_witness_right_right_left - 0063
rewrite hdifference at hfirst_witness_witness_witness_right_right_right - 0064
rewrite hdifference at hfirst_witness_witness_witness_right_right_right - 0065
specialize prime_field_multiply_functional (p) - 0066
specialize prime_field_multiply_functional (k) - 0067
specialize prime_field_multiply_functional (x5) - 0068
specialize prime_field_multiply_functional (q) - 0069
specialize prime_field_multiply_functional (r) - 0070
apply prime_field_multiply_functional - 0071
exact hfirst_witness_witness_witness_right_right_right - 0072
exact hsecond_witness_witness_witness_right_right_right