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. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ AB. ∀ AC. ∀ t. ∀ i. ∀ r. ¬p = 0 → PolynomialLeftPad(ab,ac,L,t,AB,AC) → Lt(i,t) → FpConvolutionCoefficient(p,AB,AC,t + L,bb,bc,M,i,r) → r = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 75 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 (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Separate the logical casesL17–21
04Establish hzL22–24
Establish this local claim before using it. It is not an additional assumption.
- L22
have hz : Repeat(x,x1,0,S i)Definitions: Repeat(x,x1,0,S i)Original native command in the exact edition - L23
intro j - L24
intro hj
05Establish htL25–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc witness witness witness left.
- L25
have ht : ∃ z. BetaAt(x,x1,j,z) ∧ PolynomialDiagonalTerm(AB,AC,t + L,bb,bc,M,i,j,z)Definitions: BetaAt(x,x1,j,z)PolynomialDiagonalTerm(AB,AC,t + L,bb,bc,M,i,j,z)Original native command in the exact edition - L26
specialize hc_witness_witness_witness_left (j) - L27
apply hc_witness_witness_witness_left - L28
exact hj
06Separate the logical casesL29–30
07Establish heqL31–40
Establish this local claim before using it. It is not an additional assumption.
- L31
have heq : x3=0 - L32
specialize polynomial_diagonal_term_left_padding_zero_left (ab) - L33
specialize polynomial_diagonal_term_left_padding_zero_left (ac) - L34
specialize polynomial_diagonal_term_left_padding_zero_left (L) - L35
specialize polynomial_diagonal_term_left_padding_zero_left (bb) - L36
specialize polynomial_diagonal_term_left_padding_zero_left (bc) - L37
specialize polynomial_diagonal_term_left_padding_zero_left (M) - L38
specialize polynomial_diagonal_term_left_padding_zero_left (AB) - L39
specialize polynomial_diagonal_term_left_padding_zero_left (AC) - L40
specialize polynomial_diagonal_term_left_padding_zero_left (t)
08Use earlier factsL41–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
specialize polynomial_diagonal_term_left_padding_zero_left (i) - L42
specialize polynomial_diagonal_term_left_padding_zero_left (j) - L43
specialize polynomial_diagonal_term_left_padding_zero_left (x3) - L44
apply polynomial_diagonal_term_left_padding_zero_left - L45
exact hpad - L46
specialize le_trans (S j) - L47
specialize le_trans (S i) - L48
specialize le_trans (t) - L49
apply le_trans - L50
exact hj
09Use earlier factsL51–52
10Calculate and transport equalitiesL53–54
11Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact ht_witness_left
12Establish hsumL56–65
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat sum exact.
- L56
have hsum : x2=0 - L57
trans (S i)*0 - L58
specialize beta_repeat_sum_exact (x) - L59
specialize beta_repeat_sum_exact (x1) - L60
specialize beta_repeat_sum_exact (0) - L61
specialize beta_repeat_sum_exact (S i) - L62
specialize beta_repeat_sum_exact (x2) - L63
apply beta_repeat_sum_exact - L64
exact hz - L65
exact hc_witness_witness_witness_right_left
13Calculate and transport equalitiesL66–67
14Use earlier factsL68–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
specialize prime_field_residue_bounded_value (p) - L69
specialize prime_field_residue_bounded_value (0) - L70
specialize prime_field_residue_bounded_value (r) - L71
apply prime_field_residue_bounded_value - L72
specialize one_le_of_ne_zero (p) - L73
apply one_le_of_ne_zero - L74
exact hp - L75
exact hc_witness_witness_witness_right_right
Original defined command ledger · 75 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro AB - 0009
intro AC - 0010
intro t - 0011
intro i - 0012
intro r - 0013
intro hp - 0014
intro hpad - 0015
intro hi - 0016
intro hc - 0017
cases hc - 0018
cases hc_witness - 0019
cases hc_witness_witness - 0020
cases hc_witness_witness_witness - 0021
cases hc_witness_witness_witness_right - 0022
have hz : Repeat(x,x1,0,S i) - 0023
intro j - 0024
intro hj - 0025
have ht : ∃ z. BetaAt(x,x1,j,z) ∧ PolynomialDiagonalTerm(AB,AC,t + L,bb,bc,M,i,j,z) - 0026
specialize hc_witness_witness_witness_left (j) - 0027
apply hc_witness_witness_witness_left - 0028
exact hj - 0029
cases ht - 0030
cases ht_witness - 0031
have heq : x3=0 - 0032
specialize polynomial_diagonal_term_left_padding_zero_left (ab) - 0033
specialize polynomial_diagonal_term_left_padding_zero_left (ac) - 0034
specialize polynomial_diagonal_term_left_padding_zero_left (L) - 0035
specialize polynomial_diagonal_term_left_padding_zero_left (bb) - 0036
specialize polynomial_diagonal_term_left_padding_zero_left (bc) - 0037
specialize polynomial_diagonal_term_left_padding_zero_left (M) - 0038
specialize polynomial_diagonal_term_left_padding_zero_left (AB) - 0039
specialize polynomial_diagonal_term_left_padding_zero_left (AC) - 0040
specialize polynomial_diagonal_term_left_padding_zero_left (t) - 0041
specialize polynomial_diagonal_term_left_padding_zero_left (i) - 0042
specialize polynomial_diagonal_term_left_padding_zero_left (j) - 0043
specialize polynomial_diagonal_term_left_padding_zero_left (x3) - 0044
apply polynomial_diagonal_term_left_padding_zero_left - 0045
exact hpad - 0046
specialize le_trans (S j) - 0047
specialize le_trans (S i) - 0048
specialize le_trans (t) - 0049
apply le_trans - 0050
exact hj - 0051
exact hi - 0052
exact ht_witness_right - 0053
rewrite heq at ht_witness_left - 0054
rewrite heq at ht_witness_left - 0055
exact ht_witness_left - 0056
have hsum : x2=0 - 0057
trans (S i)*0 - 0058
specialize beta_repeat_sum_exact (x) - 0059
specialize beta_repeat_sum_exact (x1) - 0060
specialize beta_repeat_sum_exact (0) - 0061
specialize beta_repeat_sum_exact (S i) - 0062
specialize beta_repeat_sum_exact (x2) - 0063
apply beta_repeat_sum_exact - 0064
exact hz - 0065
exact hc_witness_witness_witness_right_left - 0066
simp - 0067
rewrite hsum at hc_witness_witness_witness_right_right - 0068
specialize prime_field_residue_bounded_value (p) - 0069
specialize prime_field_residue_bounded_value (0) - 0070
specialize prime_field_residue_bounded_value (r) - 0071
apply prime_field_residue_bounded_value - 0072
specialize one_le_of_ne_zero (p) - 0073
apply one_le_of_ne_zero - 0074
exact hp - 0075
exact hc_witness_witness_witness_right_right