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. ∀ k. ∀ i. ∀ a. ∀ r. Prime(p) → BetaPrefixInto(ab,ac,L,p) → BetaPrefixInto(bb,bc,1,p) → BetaAt(bb,bc,0,k) → Lt(i,L) → BetaAt(ab,ac,i,a) → FpConvolutionCoefficient(p,ab,ac,L,bb,bc,1,i,r) → FpMul(p,k,a,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 158 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–17
03Establish hp0L18–23
04Establish hcL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field convolution coefficient exists.
- L24
have hc : ∃ c. FpConvolutionCoefficient(p,ab,ac,i,bb,bc,1,i,c)Definitions: FpConvolutionCoefficient(p,ab,ac,i,bb,bc,1,i,c)Original native command in the exact edition - L25
specialize prime_field_convolution_coefficient_exists (p) - L26
specialize prime_field_convolution_coefficient_exists (ab) - L27
specialize prime_field_convolution_coefficient_exists (ac) - L28
specialize prime_field_convolution_coefficient_exists (i) - L29
specialize prime_field_convolution_coefficient_exists (bb) - L30
specialize prime_field_convolution_coefficient_exists (bc) - L31
specialize prime_field_convolution_coefficient_exists (1) - L32
specialize prime_field_convolution_coefficient_exists (i) - L33
apply prime_field_convolution_coefficient_exists
05Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact hp0
06Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hc
07Establish hc0L36–45
Establish this local claim before using it. It is not an additional assumption.
- L36
have hc0 : x=0 - L37
specialize prime_field_convolution_coefficient_zero_past_support (p) - L38
specialize prime_field_convolution_coefficient_zero_past_support (ab) - L39
specialize prime_field_convolution_coefficient_zero_past_support (ac) - L40
specialize prime_field_convolution_coefficient_zero_past_support (i) - L41
specialize prime_field_convolution_coefficient_zero_past_support (bb) - L42
specialize prime_field_convolution_coefficient_zero_past_support (bc) - L43
specialize prime_field_convolution_coefficient_zero_past_support (1) - L44
specialize prime_field_convolution_coefficient_zero_past_support (i) - L45
specialize prime_field_convolution_coefficient_zero_past_support (x)
08Use earlier factsL46–47
09Construct an explicit witnessL48–48
Supply the displayed value, then prove that it has the required property.
- L48
exists 0
10Calculate and transport equalitiesL49–49
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L49
simp [zero_add]
11Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
exact hc_witness
12Establish hshortL51–60
Establish this local claim before using it. It is not an additional assumption.
- L51
have hshort : FpConvolutionCoefficient(p,ab,ac,S i,bb,bc,1,i,r)Definitions: FpConvolutionCoefficient(p,ab,ac,S i,bb,bc,1,i,r)Original native command in the exact edition - L52
specialize prime_field_convolution_coefficient_prefix_transport (p) - L53
specialize prime_field_convolution_coefficient_prefix_transport (ab) - L54
specialize prime_field_convolution_coefficient_prefix_transport (ac) - L55
specialize prime_field_convolution_coefficient_prefix_transport (L) - L56
specialize prime_field_convolution_coefficient_prefix_transport (ab) - L57
specialize prime_field_convolution_coefficient_prefix_transport (ac) - L58
specialize prime_field_convolution_coefficient_prefix_transport (S i) - L59
specialize prime_field_convolution_coefficient_prefix_transport (bb) - L60
specialize prime_field_convolution_coefficient_prefix_transport (bc)
13Use earlier factsL61–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
specialize prime_field_convolution_coefficient_prefix_transport (1) - L62
specialize prime_field_convolution_coefficient_prefix_transport (S i) - L63
specialize prime_field_convolution_coefficient_prefix_transport (i) - L64
specialize prime_field_convolution_coefficient_prefix_transport (r) - L65
apply prime_field_convolution_coefficient_prefix_transport - L66
exact hi - L67
specialize le_refl (S i) - L68
apply le_refl
14Fix variables and assumptionsL69–72
15Use earlier factsL73–76
16Establish hmL77–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field multiply exists.
- L77
have hm : ∃ z. FpMul(p,a,k,z)Definitions: FpMul(p,a,k,z)Original native command in the exact edition - L78
specialize prime_field_multiply_exists (p) - L79
specialize prime_field_multiply_exists (a) - L80
specialize prime_field_multiply_exists (k) - L81
apply prime_field_multiply_exists - L82
exact hp - L83
specialize matrix_rank_bounded_prefix_value (ab) - L84
specialize matrix_rank_bounded_prefix_value (ac) - L85
specialize matrix_rank_bounded_prefix_value (L) - L86
specialize matrix_rank_bounded_prefix_value (p)
17Use earlier factsL87–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
specialize matrix_rank_bounded_prefix_value (i) - L88
specialize matrix_rank_bounded_prefix_value (a) - L89
apply matrix_rank_bounded_prefix_value - L90
exact hA - L91
exact hi - L92
exact ha - L93
specialize matrix_rank_bounded_prefix_value (bb) - L94
specialize matrix_rank_bounded_prefix_value (bc) - L95
specialize matrix_rank_bounded_prefix_value (1) - L96
specialize matrix_rank_bounded_prefix_value (p)
18Use earlier factsL97–100
19Construct an explicit witnessL101–101
Supply the displayed value, then prove that it has the required property.
- L101
exists 0
20Calculate and transport equalitiesL102–102
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L102
simp [zero_add]
21Use earlier factsL103–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L103
exact hk
22Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
cases hm
23Establish hsL105–114
Establish this local claim before using it. It is not an additional assumption.
- L105
- L106
specialize prime_field_convolution_coefficient_append (p) - L107
specialize prime_field_convolution_coefficient_append (ab) - L108
specialize prime_field_convolution_coefficient_append (ac) - L109
specialize prime_field_convolution_coefficient_append (ab) - L110
specialize prime_field_convolution_coefficient_append (ac) - L111
specialize prime_field_convolution_coefficient_append (bb) - L112
specialize prime_field_convolution_coefficient_append (bc) - L113
specialize prime_field_convolution_coefficient_append (0) - L114
specialize prime_field_convolution_coefficient_append (i)
24Use earlier factsL115–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
specialize prime_field_convolution_coefficient_append (a) - L116
specialize prime_field_convolution_coefficient_append (k) - L117
specialize prime_field_convolution_coefficient_append (x) - L118
specialize prime_field_convolution_coefficient_append (x1) - L119
specialize prime_field_convolution_coefficient_append (r) - L120
apply prime_field_convolution_coefficient_append
25Fix variables and assumptionsL121–124
26Use earlier factsL125–130
27Calculate and transport equalitiesL131–132
28Establish heqL133–142
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field add functional.
- L133
have heq : r=x1 - L134
specialize prime_field_add_functional (p) - L135
specialize prime_field_add_functional (0) - L136
specialize prime_field_add_functional (x1) - L137
specialize prime_field_add_functional (r) - L138
specialize prime_field_add_functional (x1) - L139
apply prime_field_add_functional - L140
exact hs - L141
specialize prime_field_add_zero_left (p) - L142
specialize prime_field_add_zero_left (x1)
29Use earlier factsL143–144
30Establish hmcL145–146
Establish this local claim before using it. It is not an additional assumption.
31Separate the logical casesL147–149
32Use earlier factsL150–150
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L150
exact hmc_right_right_left
33Calculate and transport equalitiesL151–152
34Use earlier factsL153–158
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 158 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro k - 0008
intro i - 0009
intro a - 0010
intro r - 0011
intro hp - 0012
intro hA - 0013
intro hB - 0014
intro hk - 0015
intro hi - 0016
intro ha - 0017
intro hr - 0018
have hp0 : ~(p=0) - 0019
intro hpzero - 0020
specialize prime_nonzero (p) - 0021
apply prime_nonzero - 0022
exact hp - 0023
exact hpzero - 0024
have hc : ∃ c. FpConvolutionCoefficient(p,ab,ac,i,bb,bc,1,i,c) - 0025
specialize prime_field_convolution_coefficient_exists (p) - 0026
specialize prime_field_convolution_coefficient_exists (ab) - 0027
specialize prime_field_convolution_coefficient_exists (ac) - 0028
specialize prime_field_convolution_coefficient_exists (i) - 0029
specialize prime_field_convolution_coefficient_exists (bb) - 0030
specialize prime_field_convolution_coefficient_exists (bc) - 0031
specialize prime_field_convolution_coefficient_exists (1) - 0032
specialize prime_field_convolution_coefficient_exists (i) - 0033
apply prime_field_convolution_coefficient_exists - 0034
exact hp0 - 0035
cases hc - 0036
have hc0 : x=0 - 0037
specialize prime_field_convolution_coefficient_zero_past_support (p) - 0038
specialize prime_field_convolution_coefficient_zero_past_support (ab) - 0039
specialize prime_field_convolution_coefficient_zero_past_support (ac) - 0040
specialize prime_field_convolution_coefficient_zero_past_support (i) - 0041
specialize prime_field_convolution_coefficient_zero_past_support (bb) - 0042
specialize prime_field_convolution_coefficient_zero_past_support (bc) - 0043
specialize prime_field_convolution_coefficient_zero_past_support (1) - 0044
specialize prime_field_convolution_coefficient_zero_past_support (i) - 0045
specialize prime_field_convolution_coefficient_zero_past_support (x) - 0046
apply prime_field_convolution_coefficient_zero_past_support - 0047
exact hp0 - 0048
exists 0 - 0049
simp [zero_add] - 0050
exact hc_witness - 0051
have hshort : FpConvolutionCoefficient(p,ab,ac,S i,bb,bc,1,i,r) - 0052
specialize prime_field_convolution_coefficient_prefix_transport (p) - 0053
specialize prime_field_convolution_coefficient_prefix_transport (ab) - 0054
specialize prime_field_convolution_coefficient_prefix_transport (ac) - 0055
specialize prime_field_convolution_coefficient_prefix_transport (L) - 0056
specialize prime_field_convolution_coefficient_prefix_transport (ab) - 0057
specialize prime_field_convolution_coefficient_prefix_transport (ac) - 0058
specialize prime_field_convolution_coefficient_prefix_transport (S i) - 0059
specialize prime_field_convolution_coefficient_prefix_transport (bb) - 0060
specialize prime_field_convolution_coefficient_prefix_transport (bc) - 0061
specialize prime_field_convolution_coefficient_prefix_transport (1) - 0062
specialize prime_field_convolution_coefficient_prefix_transport (S i) - 0063
specialize prime_field_convolution_coefficient_prefix_transport (i) - 0064
specialize prime_field_convolution_coefficient_prefix_transport (r) - 0065
apply prime_field_convolution_coefficient_prefix_transport - 0066
exact hi - 0067
specialize le_refl (S i) - 0068
apply le_refl - 0069
intro j - 0070
intro z - 0071
intro hj - 0072
intro hz - 0073
exact hz - 0074
specialize le_refl (S i) - 0075
apply le_refl - 0076
exact hr - 0077
have hm : ∃ z. FpMul(p,a,k,z) - 0078
specialize prime_field_multiply_exists (p) - 0079
specialize prime_field_multiply_exists (a) - 0080
specialize prime_field_multiply_exists (k) - 0081
apply prime_field_multiply_exists - 0082
exact hp - 0083
specialize matrix_rank_bounded_prefix_value (ab) - 0084
specialize matrix_rank_bounded_prefix_value (ac) - 0085
specialize matrix_rank_bounded_prefix_value (L) - 0086
specialize matrix_rank_bounded_prefix_value (p) - 0087
specialize matrix_rank_bounded_prefix_value (i) - 0088
specialize matrix_rank_bounded_prefix_value (a) - 0089
apply matrix_rank_bounded_prefix_value - 0090
exact hA - 0091
exact hi - 0092
exact ha - 0093
specialize matrix_rank_bounded_prefix_value (bb) - 0094
specialize matrix_rank_bounded_prefix_value (bc) - 0095
specialize matrix_rank_bounded_prefix_value (1) - 0096
specialize matrix_rank_bounded_prefix_value (p) - 0097
specialize matrix_rank_bounded_prefix_value (0) - 0098
specialize matrix_rank_bounded_prefix_value (k) - 0099
apply matrix_rank_bounded_prefix_value - 0100
exact hB - 0101
exists 0 - 0102
simp [zero_add] - 0103
exact hk - 0104
cases hm - 0105
have hs : FpAdd(p,x,x1,r) - 0106
specialize prime_field_convolution_coefficient_append (p) - 0107
specialize prime_field_convolution_coefficient_append (ab) - 0108
specialize prime_field_convolution_coefficient_append (ac) - 0109
specialize prime_field_convolution_coefficient_append (ab) - 0110
specialize prime_field_convolution_coefficient_append (ac) - 0111
specialize prime_field_convolution_coefficient_append (bb) - 0112
specialize prime_field_convolution_coefficient_append (bc) - 0113
specialize prime_field_convolution_coefficient_append (0) - 0114
specialize prime_field_convolution_coefficient_append (i) - 0115
specialize prime_field_convolution_coefficient_append (a) - 0116
specialize prime_field_convolution_coefficient_append (k) - 0117
specialize prime_field_convolution_coefficient_append (x) - 0118
specialize prime_field_convolution_coefficient_append (x1) - 0119
specialize prime_field_convolution_coefficient_append (r) - 0120
apply prime_field_convolution_coefficient_append - 0121
intro j - 0122
intro z - 0123
intro hj - 0124
intro hz - 0125
exact hz - 0126
exact ha - 0127
exact hk - 0128
exact hc_witness - 0129
exact hshort - 0130
exact hm_witness - 0131
rewrite hc0 at hs - 0132
rewrite hc0 at hs - 0133
have heq : r=x1 - 0134
specialize prime_field_add_functional (p) - 0135
specialize prime_field_add_functional (0) - 0136
specialize prime_field_add_functional (x1) - 0137
specialize prime_field_add_functional (r) - 0138
specialize prime_field_add_functional (x1) - 0139
apply prime_field_add_functional - 0140
exact hs - 0141
specialize prime_field_add_zero_left (p) - 0142
specialize prime_field_add_zero_left (x1) - 0143
apply prime_field_add_zero_left - 0144
exact hp - 0145
have hmc : FpMul(p,a,k,x1) - 0146
exact hm_witness - 0147
cases hmc - 0148
cases hmc_right - 0149
cases hmc_right_right - 0150
exact hmc_right_right_left - 0151
rewrite heq - 0152
rewrite heq - 0153
specialize prime_field_multiply_commutative (p) - 0154
specialize prime_field_multiply_commutative (a) - 0155
specialize prime_field_multiply_commutative (k) - 0156
specialize prime_field_multiply_commutative (x1) - 0157
apply prime_field_multiply_commutative - 0158
exact hm_witness