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. ∀ d. ∀ qb. ∀ qc. ∀ N. ∀ b. ∀ i. ∀ r. Prime(p) → BetaAt(bb,bc,0,b) → FpInv(p,b,k) → FpPolynomialQuotientPrefix(p,k,ab,ac,bb,bc,S d,qb,qc,N) → Lt(i,N) → FpConvolutionCoefficient(p,qb,qc,N,bb,bc,S d,i,r) → BetaAt(ab,ac,i,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 121 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–19
03Establish hpointL20–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hq.
- L20
have hpoint : ∃ q. BetaAt(qb,qc,i,q) ∧ FpPolynomialQuotientStep(p,k,ab,ac,bb,bc,S d,qb,qc,i,q)Definitions: BetaAt(qb,qc,i,q)FpPolynomialQuotientStep(p,k,ab,ac,bb,bc,S d,qb,qc,i,q)Original native command in the exact edition - L21
specialize hq (i) - L22
apply hq - L23
exact hi
04Separate the logical casesL24–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hpoint - L25
cases hpoint_witness - L26
cases hpoint_witness_right - L27
cases hpoint_witness_right_witness - L28
cases hpoint_witness_right_witness_witness - L29
cases hpoint_witness_right_witness_witness_witness - L30
cases hpoint_witness_right_witness_witness_witness_right - L31
cases hpoint_witness_right_witness_witness_witness_right_right
05Establish hqboundL32–32
Establish this local claim before using it. It is not an additional assumption.
06Separate the logical casesL33–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
07Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hpoint_witness_right_witness_witness_witness_right_right_right_right_right_left
08Establish hbndL37–37
Establish this local claim before using it. It is not an additional assumption.
09Separate the logical casesL38–39
10Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hk_right_left
11Establish hproductL41–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field multiply exists.
- L41
have hproduct : ∃ t. FpMul(p,x,b,t)Definitions: FpMul(p,x,b,t)Original native command in the exact edition - L42
specialize prime_field_multiply_exists (p) - L43
specialize prime_field_multiply_exists (x) - L44
specialize prime_field_multiply_exists (b) - L45
apply prime_field_multiply_exists - L46
exact hp - L47
exact hqbound - L48
exact hbnd
12Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases hproduct
13Establish hshortL50–59
Establish this local claim before using it. It is not an additional assumption.
- L50
have hshort : FpConvolutionCoefficient(p,qb,qc,S i,bb,bc,S d,i,r)Definitions: FpConvolutionCoefficient(p,qb,qc,S i,bb,bc,S d,i,r)Original native command in the exact edition - L51
specialize prime_field_convolution_coefficient_prefix_transport (p) - L52
specialize prime_field_convolution_coefficient_prefix_transport (qb) - L53
specialize prime_field_convolution_coefficient_prefix_transport (qc) - L54
specialize prime_field_convolution_coefficient_prefix_transport (N) - L55
specialize prime_field_convolution_coefficient_prefix_transport (qb) - L56
specialize prime_field_convolution_coefficient_prefix_transport (qc) - L57
specialize prime_field_convolution_coefficient_prefix_transport (S i) - L58
specialize prime_field_convolution_coefficient_prefix_transport (bb) - L59
specialize prime_field_convolution_coefficient_prefix_transport (bc)
14Use earlier factsL60–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
specialize prime_field_convolution_coefficient_prefix_transport (S d) - L61
specialize prime_field_convolution_coefficient_prefix_transport (S i) - L62
specialize prime_field_convolution_coefficient_prefix_transport (i) - L63
specialize prime_field_convolution_coefficient_prefix_transport (r) - L64
apply prime_field_convolution_coefficient_prefix_transport - L65
exact hi - L66
specialize le_refl (S i) - L67
apply le_refl
15Fix variables and assumptionsL68–71
16Use earlier factsL72–75
17Establish hsumL76–85
Establish this local claim before using it. It is not an additional assumption.
- L76
have hsum : FpAdd(p,x2,x4,r)Definitions: FpAdd(p,x2,x4,r)Original native command in the exact edition - L77
specialize prime_field_convolution_coefficient_append (p) - L78
specialize prime_field_convolution_coefficient_append (qb) - L79
specialize prime_field_convolution_coefficient_append (qc) - L80
specialize prime_field_convolution_coefficient_append (qb) - L81
specialize prime_field_convolution_coefficient_append (qc) - L82
specialize prime_field_convolution_coefficient_append (bb) - L83
specialize prime_field_convolution_coefficient_append (bc) - L84
specialize prime_field_convolution_coefficient_append (d) - L85
specialize prime_field_convolution_coefficient_append (i)
18Use earlier factsL86–91
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L86
specialize prime_field_convolution_coefficient_append (x) - L87
specialize prime_field_convolution_coefficient_append (b) - L88
specialize prime_field_convolution_coefficient_append (x2) - L89
specialize prime_field_convolution_coefficient_append (x4) - L90
specialize prime_field_convolution_coefficient_append (r) - L91
apply prime_field_convolution_coefficient_append
19Fix variables and assumptionsL92–95
20Use earlier factsL96–101
21Establish heqL102–111
Establish this local claim before using it. It is not an additional assumption.
- L102
have heq : r=x1 - L103
specialize prime_field_polynomial_quotient_scalar_cancellation (p) - L104
specialize prime_field_polynomial_quotient_scalar_cancellation (b) - L105
specialize prime_field_polynomial_quotient_scalar_cancellation (k) - L106
specialize prime_field_polynomial_quotient_scalar_cancellation (x2) - L107
specialize prime_field_polynomial_quotient_scalar_cancellation (x3) - L108
specialize prime_field_polynomial_quotient_scalar_cancellation (x1) - L109
specialize prime_field_polynomial_quotient_scalar_cancellation (x) - L110
specialize prime_field_polynomial_quotient_scalar_cancellation (x4) - L111
specialize prime_field_polynomial_quotient_scalar_cancellation (r)
22Use earlier factsL112–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
23Calculate and transport equalitiesL119–120
24Use earlier factsL121–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
exact hpoint_witness_right_witness_witness_witness_left
Original defined command ledger · 121 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro d - 0008
intro qb - 0009
intro qc - 0010
intro N - 0011
intro b - 0012
intro i - 0013
intro r - 0014
intro hp - 0015
intro hb - 0016
intro hk - 0017
intro hq - 0018
intro hi - 0019
intro hr - 0020
have hpoint : ∃ q. BetaAt(qb,qc,i,q) ∧ FpPolynomialQuotientStep(p,k,ab,ac,bb,bc,S d,qb,qc,i,q) - 0021
specialize hq (i) - 0022
apply hq - 0023
exact hi - 0024
cases hpoint - 0025
cases hpoint_witness - 0026
cases hpoint_witness_right - 0027
cases hpoint_witness_right_witness - 0028
cases hpoint_witness_right_witness_witness - 0029
cases hpoint_witness_right_witness_witness_witness - 0030
cases hpoint_witness_right_witness_witness_witness_right - 0031
cases hpoint_witness_right_witness_witness_witness_right_right - 0032
have hqbound : Lt(x,p) - 0033
cases hpoint_witness_right_witness_witness_witness_right_right_right - 0034
cases hpoint_witness_right_witness_witness_witness_right_right_right_right - 0035
cases hpoint_witness_right_witness_witness_witness_right_right_right_right_right - 0036
exact hpoint_witness_right_witness_witness_witness_right_right_right_right_right_left - 0037
have hbnd : Lt(b,p) - 0038
cases hk - 0039
cases hk_right - 0040
exact hk_right_left - 0041
have hproduct : ∃ t. FpMul(p,x,b,t) - 0042
specialize prime_field_multiply_exists (p) - 0043
specialize prime_field_multiply_exists (x) - 0044
specialize prime_field_multiply_exists (b) - 0045
apply prime_field_multiply_exists - 0046
exact hp - 0047
exact hqbound - 0048
exact hbnd - 0049
cases hproduct - 0050
have hshort : FpConvolutionCoefficient(p,qb,qc,S i,bb,bc,S d,i,r) - 0051
specialize prime_field_convolution_coefficient_prefix_transport (p) - 0052
specialize prime_field_convolution_coefficient_prefix_transport (qb) - 0053
specialize prime_field_convolution_coefficient_prefix_transport (qc) - 0054
specialize prime_field_convolution_coefficient_prefix_transport (N) - 0055
specialize prime_field_convolution_coefficient_prefix_transport (qb) - 0056
specialize prime_field_convolution_coefficient_prefix_transport (qc) - 0057
specialize prime_field_convolution_coefficient_prefix_transport (S i) - 0058
specialize prime_field_convolution_coefficient_prefix_transport (bb) - 0059
specialize prime_field_convolution_coefficient_prefix_transport (bc) - 0060
specialize prime_field_convolution_coefficient_prefix_transport (S d) - 0061
specialize prime_field_convolution_coefficient_prefix_transport (S i) - 0062
specialize prime_field_convolution_coefficient_prefix_transport (i) - 0063
specialize prime_field_convolution_coefficient_prefix_transport (r) - 0064
apply prime_field_convolution_coefficient_prefix_transport - 0065
exact hi - 0066
specialize le_refl (S i) - 0067
apply le_refl - 0068
intro j - 0069
intro v - 0070
intro hj - 0071
intro hv - 0072
exact hv - 0073
specialize le_refl (S i) - 0074
apply le_refl - 0075
exact hr - 0076
have hsum : FpAdd(p,x2,x4,r) - 0077
specialize prime_field_convolution_coefficient_append (p) - 0078
specialize prime_field_convolution_coefficient_append (qb) - 0079
specialize prime_field_convolution_coefficient_append (qc) - 0080
specialize prime_field_convolution_coefficient_append (qb) - 0081
specialize prime_field_convolution_coefficient_append (qc) - 0082
specialize prime_field_convolution_coefficient_append (bb) - 0083
specialize prime_field_convolution_coefficient_append (bc) - 0084
specialize prime_field_convolution_coefficient_append (d) - 0085
specialize prime_field_convolution_coefficient_append (i) - 0086
specialize prime_field_convolution_coefficient_append (x) - 0087
specialize prime_field_convolution_coefficient_append (b) - 0088
specialize prime_field_convolution_coefficient_append (x2) - 0089
specialize prime_field_convolution_coefficient_append (x4) - 0090
specialize prime_field_convolution_coefficient_append (r) - 0091
apply prime_field_convolution_coefficient_append - 0092
intro j - 0093
intro v - 0094
intro hj - 0095
intro hv - 0096
exact hv - 0097
exact hpoint_witness_left - 0098
exact hb - 0099
exact hpoint_witness_right_witness_witness_witness_right_left - 0100
exact hshort - 0101
exact hproduct_witness - 0102
have heq : r=x1 - 0103
specialize prime_field_polynomial_quotient_scalar_cancellation (p) - 0104
specialize prime_field_polynomial_quotient_scalar_cancellation (b) - 0105
specialize prime_field_polynomial_quotient_scalar_cancellation (k) - 0106
specialize prime_field_polynomial_quotient_scalar_cancellation (x2) - 0107
specialize prime_field_polynomial_quotient_scalar_cancellation (x3) - 0108
specialize prime_field_polynomial_quotient_scalar_cancellation (x1) - 0109
specialize prime_field_polynomial_quotient_scalar_cancellation (x) - 0110
specialize prime_field_polynomial_quotient_scalar_cancellation (x4) - 0111
specialize prime_field_polynomial_quotient_scalar_cancellation (r) - 0112
apply prime_field_polynomial_quotient_scalar_cancellation - 0113
exact hp - 0114
exact hk - 0115
exact hpoint_witness_right_witness_witness_witness_right_right_left - 0116
exact hpoint_witness_right_witness_witness_witness_right_right_right - 0117
exact hproduct_witness - 0118
exact hsum - 0119
rewrite heq - 0120
rewrite heq - 0121
exact hpoint_witness_right_witness_witness_witness_left