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. ∀ cb. ∀ cc. ∀ L. Prime(p) → BetaAt(bb,bc,0,k) → FpPolyProduct(p,ab,ac,L,bb,bc,1,cb,cc,L) → FpPolyScale(p,k,ab,ac,cb,cc,L)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 82 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–12
03Establish hcopyL13–14
Establish this local claim before using it. It is not an additional assumption.
- L13
have hcopy : FpPolyProduct(p,ab,ac,L,bb,bc,1,cb,cc,L)Definitions: FpPolyProduct(p,ab,ac,L,bb,bc,1,cb,cc,L)Original native command in the exact edition - L14
exact hc
04Separate the logical casesL15–18
05Use earlier factsL19–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
specialize matrix_rank_bounded_prefix_value (bb) - L20
specialize matrix_rank_bounded_prefix_value (bc) - L21
specialize matrix_rank_bounded_prefix_value (1) - L22
specialize matrix_rank_bounded_prefix_value (p) - L23
specialize matrix_rank_bounded_prefix_value (0) - L24
specialize matrix_rank_bounded_prefix_value (k) - L25
apply matrix_rank_bounded_prefix_value - L26
exact hcopy_right_left
06Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists 0
07Calculate and transport equalitiesL28–28
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
simp
08Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hk
09Fix variables and assumptionsL30–31
10Establish haL32–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L32
have ha : ∃ a. BetaAt(ab,ac,i,a)Definitions: BetaAt(ab,ac,i,a)Original native command in the exact edition - L33
specialize beta_at_exists (ab) - L34
specialize beta_at_exists (ac) - L35
specialize beta_at_exists (i) - L36
apply beta_at_exists
11Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases ha
12Establish hrL38–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L38
have hr : ∃ r. BetaAt(cb,cc,i,r)Definitions: BetaAt(cb,cc,i,r)Original native command in the exact edition - L39
specialize beta_at_exists (cb) - L40
specialize beta_at_exists (cc) - L41
specialize beta_at_exists (i) - L42
apply beta_at_exists
13Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hr
14Construct an explicit witnessL44–45
15Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
16Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact ha_witness
17Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
18Use earlier factsL49–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
exact hr_witness - L50
specialize prime_field_polynomial_constant_right_coefficient (p) - L51
specialize prime_field_polynomial_constant_right_coefficient (ab) - L52
specialize prime_field_polynomial_constant_right_coefficient (ac) - L53
specialize prime_field_polynomial_constant_right_coefficient (L) - L54
specialize prime_field_polynomial_constant_right_coefficient (bb) - L55
specialize prime_field_polynomial_constant_right_coefficient (bc) - L56
specialize prime_field_polynomial_constant_right_coefficient (k) - L57
specialize prime_field_polynomial_constant_right_coefficient (i) - L58
specialize prime_field_polynomial_constant_right_coefficient (x)
19Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
specialize prime_field_polynomial_constant_right_coefficient (x1) - L60
apply prime_field_polynomial_constant_right_coefficient - L61
exact hp - L62
exact hcopy_left - L63
exact hcopy_right_left - L64
exact hk - L65
exact hi - L66
exact ha_witness - L67
specialize prime_field_polynomial_convolution_entry (p) - L68
specialize prime_field_polynomial_convolution_entry (ab)
20Use earlier factsL69–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize prime_field_polynomial_convolution_entry (ac) - L70
specialize prime_field_polynomial_convolution_entry (L) - L71
specialize prime_field_polynomial_convolution_entry (bb) - L72
specialize prime_field_polynomial_convolution_entry (bc) - L73
specialize prime_field_polynomial_convolution_entry (1) - L74
specialize prime_field_polynomial_convolution_entry (cb) - L75
specialize prime_field_polynomial_convolution_entry (cc) - L76
specialize prime_field_polynomial_convolution_entry (L) - L77
specialize prime_field_polynomial_convolution_entry (i) - L78
specialize prime_field_polynomial_convolution_entry (x1)
Original defined command ledger · 82 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro cb - 0008
intro cc - 0009
intro L - 0010
intro hp - 0011
intro hk - 0012
intro hc - 0013
have hcopy : FpPolyProduct(p,ab,ac,L,bb,bc,1,cb,cc,L) - 0014
exact hc - 0015
cases hcopy - 0016
cases hcopy_right - 0017
cases hcopy_right_right - 0018
split - 0019
specialize matrix_rank_bounded_prefix_value (bb) - 0020
specialize matrix_rank_bounded_prefix_value (bc) - 0021
specialize matrix_rank_bounded_prefix_value (1) - 0022
specialize matrix_rank_bounded_prefix_value (p) - 0023
specialize matrix_rank_bounded_prefix_value (0) - 0024
specialize matrix_rank_bounded_prefix_value (k) - 0025
apply matrix_rank_bounded_prefix_value - 0026
exact hcopy_right_left - 0027
exists 0 - 0028
simp - 0029
exact hk - 0030
intro i - 0031
intro hi - 0032
have ha : ∃ a. BetaAt(ab,ac,i,a) - 0033
specialize beta_at_exists (ab) - 0034
specialize beta_at_exists (ac) - 0035
specialize beta_at_exists (i) - 0036
apply beta_at_exists - 0037
cases ha - 0038
have hr : ∃ r. BetaAt(cb,cc,i,r) - 0039
specialize beta_at_exists (cb) - 0040
specialize beta_at_exists (cc) - 0041
specialize beta_at_exists (i) - 0042
apply beta_at_exists - 0043
cases hr - 0044
exists x - 0045
exists x1 - 0046
split - 0047
exact ha_witness - 0048
split - 0049
exact hr_witness - 0050
specialize prime_field_polynomial_constant_right_coefficient (p) - 0051
specialize prime_field_polynomial_constant_right_coefficient (ab) - 0052
specialize prime_field_polynomial_constant_right_coefficient (ac) - 0053
specialize prime_field_polynomial_constant_right_coefficient (L) - 0054
specialize prime_field_polynomial_constant_right_coefficient (bb) - 0055
specialize prime_field_polynomial_constant_right_coefficient (bc) - 0056
specialize prime_field_polynomial_constant_right_coefficient (k) - 0057
specialize prime_field_polynomial_constant_right_coefficient (i) - 0058
specialize prime_field_polynomial_constant_right_coefficient (x) - 0059
specialize prime_field_polynomial_constant_right_coefficient (x1) - 0060
apply prime_field_polynomial_constant_right_coefficient - 0061
exact hp - 0062
exact hcopy_left - 0063
exact hcopy_right_left - 0064
exact hk - 0065
exact hi - 0066
exact ha_witness - 0067
specialize prime_field_polynomial_convolution_entry (p) - 0068
specialize prime_field_polynomial_convolution_entry (ab) - 0069
specialize prime_field_polynomial_convolution_entry (ac) - 0070
specialize prime_field_polynomial_convolution_entry (L) - 0071
specialize prime_field_polynomial_convolution_entry (bb) - 0072
specialize prime_field_polynomial_convolution_entry (bc) - 0073
specialize prime_field_polynomial_convolution_entry (1) - 0074
specialize prime_field_polynomial_convolution_entry (cb) - 0075
specialize prime_field_polynomial_convolution_entry (cc) - 0076
specialize prime_field_polynomial_convolution_entry (L) - 0077
specialize prime_field_polynomial_convolution_entry (i) - 0078
specialize prime_field_polynomial_convolution_entry (x1) - 0079
apply prime_field_polynomial_convolution_entry - 0080
exact hc - 0081
exact hi - 0082
exact hr_witness