Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ d. ∀ qb. ∀ qc. ∀ q. ∀ rb. ∀ rc. ∀ R. Prime(p) → FpPolynomialDivisionExecution(p,ab,ac,L,bb,bc,d,qb,qc,q,rb,rc,R) → ∃ x. ∃ y. ∃ z. FpPolyProduct(p,qb,qc,q,bb,bc,S d,x,y,z) ∧ FpPolynomialAlignedAdd(p,x,y,z,rb,rc,R,ab,ac,L)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 152 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–15
03Establish hidentityL16–25
Establish this local claim before using it. It is not an additional assumption.
- L16Definitions: Repeat(pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,0,L)FpPolyProduct(p,qb,qc,q,bb,bc,S d,pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,L)FpPolyAdd(p,pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,pfd_identity_ub_execution_aligned_identity,pfd_identity_uc_execution_aligned_identity,ab,ac,L)FpPolynomialTrim(p,pfd_identity_ub_execution_aligned_identity,pfd_identity_uc_execution_aligned_identity,L,pfd_identity_t_execution_aligned_identity,rb,rc,R)Original native command in the exact edition
have hidentity · expand full local formula (844 characters)
have hidentity : ∃ pfd_identity_pb_execution_aligned_identity. ∃ pfd_identity_pc_execution_aligned_identity. ∃ pfd_identity_ub_execution_aligned_identity. ∃ pfd_identity_uc_execution_aligned_identity. ∃ pfd_identity_t_execution_aligned_identity. (q = 0 ∧ Repeat(pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,0,L) ∨ ¬q = 0 ∧ FpPolyProduct(p,qb,qc,q,bb,bc,S d,pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,L)) ∧ (FpPolyAdd(p,pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,pfd_identity_ub_execution_aligned_identity,pfd_identity_uc_execution_aligned_identity,ab,ac,L) ∧ FpPolynomialTrim(p,pfd_identity_ub_execution_aligned_identity,pfd_identity_uc_execution_aligned_identity,L,pfd_identity_t_execution_aligned_identity,rb,rc,R)) - L17
specialize prime_field_polynomial_division_coefficient_identity (p) - L18
specialize prime_field_polynomial_division_coefficient_identity (ab) - L19
specialize prime_field_polynomial_division_coefficient_identity (ac) - L20
specialize prime_field_polynomial_division_coefficient_identity (L) - L21
specialize prime_field_polynomial_division_coefficient_identity (bb) - L22
specialize prime_field_polynomial_division_coefficient_identity (bc) - L23
specialize prime_field_polynomial_division_coefficient_identity (d) - L24
specialize prime_field_polynomial_division_coefficient_identity (qb) - L25
specialize prime_field_polynomial_division_coefficient_identity (qc)
04Use earlier factsL26–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
specialize prime_field_polynomial_division_coefficient_identity (q) - L27
specialize prime_field_polynomial_division_coefficient_identity (rb) - L28
specialize prime_field_polynomial_division_coefficient_identity (rc) - L29
specialize prime_field_polynomial_division_coefficient_identity (R) - L30
apply prime_field_polynomial_division_coefficient_identity - L31
exact hp - L32
exact he
05Separate the logical casesL33–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hidentity - L34
cases hidentity_witness - L35
cases hidentity_witness_witness - L36
cases hidentity_witness_witness_witness - L37
cases hidentity_witness_witness_witness_witness - L38
cases hidentity_witness_witness_witness_witness_witness - L39
cases hidentity_witness_witness_witness_witness_witness_right - L40
cases he - L41
cases he_right - L42
cases he_right_right
06Establish hboundsL43–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial add bounded.
- L43
have hbounds : BetaPrefixInto(x,x1,L,p) ∧ (BetaPrefixInto(x2,x3,L,p) ∧ BetaPrefixInto(ab,ac,L,p))Definitions: BetaPrefixInto(x,x1,L,p)BetaPrefixInto(x2,x3,L,p)BetaPrefixInto(ab,ac,L,p)Original native command in the exact edition - L44
specialize prime_field_polynomial_add_bounded (p) - L45
specialize prime_field_polynomial_add_bounded (x) - L46
specialize prime_field_polynomial_add_bounded (x1) - L47
specialize prime_field_polynomial_add_bounded (x2) - L48
specialize prime_field_polynomial_add_bounded (x3) - L49
specialize prime_field_polynomial_add_bounded (ab) - L50
specialize prime_field_polynomial_add_bounded (ac) - L51
specialize prime_field_polynomial_add_bounded (L) - L52
apply prime_field_polynomial_add_bounded
07Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
exact hidentity_witness_witness_witness_witness_witness_right_left
08Separate the logical casesL54–57
09Construct an explicit witnessL58–60
10Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
split
11Use earlier factsL62–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
specialize prime_field_polynomial_convolution_empty (p) - L63
specialize prime_field_polynomial_convolution_empty (qb) - L64
specialize prime_field_polynomial_convolution_empty (qc) - L65
specialize prime_field_polynomial_convolution_empty (q) - L66
specialize prime_field_polynomial_convolution_empty (bb) - L67
specialize prime_field_polynomial_convolution_empty (bc) - L68
specialize prime_field_polynomial_convolution_empty (S d) - L69
specialize prime_field_polynomial_convolution_empty (0) - L70
specialize prime_field_polynomial_convolution_empty (0) - L71
apply prime_field_polynomial_convolution_empty
12Calculate and transport equalitiesL72–72
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L72
rewrite hidentity_witness_witness_witness_witness_witness_left_left_left
13Fix variables and assumptionsL73–74
14Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
exfalso
15Use earlier factsL76–82
16Separate the logical casesL83–83
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L83
left
17Use earlier factsL84–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
exact hidentity_witness_witness_witness_witness_witness_left_left_left - L85
specialize prime_field_polynomial_add_trim_aligned (p) - L86
specialize prime_field_polynomial_add_trim_aligned (0) - L87
specialize prime_field_polynomial_add_trim_aligned (0) - L88
specialize prime_field_polynomial_add_trim_aligned (0) - L89
specialize prime_field_polynomial_add_trim_aligned (x) - L90
specialize prime_field_polynomial_add_trim_aligned (x1) - L91
specialize prime_field_polynomial_add_trim_aligned (x2) - L92
specialize prime_field_polynomial_add_trim_aligned (x3) - L93
specialize prime_field_polynomial_add_trim_aligned (ab)
18Use earlier factsL94–100
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L94
specialize prime_field_polynomial_add_trim_aligned (ac) - L95
specialize prime_field_polynomial_add_trim_aligned (L) - L96
specialize prime_field_polynomial_add_trim_aligned (x4) - L97
specialize prime_field_polynomial_add_trim_aligned (rb) - L98
specialize prime_field_polynomial_add_trim_aligned (rc) - L99
specialize prime_field_polynomial_add_trim_aligned (R) - L100
apply prime_field_polynomial_add_trim_aligned
19Fix variables and assumptionsL101–102
20Separate the logical casesL103–103
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L103
exfalso
21Use earlier factsL104–113
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L104
specialize lt_not_le (zero_i) - L105
specialize lt_not_le (0) - L106
apply lt_not_le - L107
exact zero_hi - L108
specialize zero_le (zero_i) - L109
apply zero_le - L110
specialize prime_field_polynomial_equivalent_symmetric (x) - L111
specialize prime_field_polynomial_equivalent_symmetric (x1) - L112
specialize prime_field_polynomial_equivalent_symmetric (L) - L113
specialize prime_field_polynomial_equivalent_symmetric (0)
22Use earlier factsL114–123
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L114
specialize prime_field_polynomial_equivalent_symmetric (0) - L115
specialize prime_field_polynomial_equivalent_symmetric (0) - L116
apply prime_field_polynomial_equivalent_symmetric - L117
specialize prime_field_polynomial_zero_prefix_equivalent_empty (x) - L118
specialize prime_field_polynomial_zero_prefix_equivalent_empty (x1) - L119
specialize prime_field_polynomial_zero_prefix_equivalent_empty (L) - L120
apply prime_field_polynomial_zero_prefix_equivalent_empty - L121
exact hidentity_witness_witness_witness_witness_witness_left_left_right - L122
exact hidentity_witness_witness_witness_witness_witness_right_left - L123
exact hidentity_witness_witness_witness_witness_witness_right_right
23Separate the logical casesL124–124
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L124
cases hidentity_witness_witness_witness_witness_witness_left_right
24Construct an explicit witnessL125–127
25Separate the logical casesL128–128
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L128
split
26Use earlier factsL129–138
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
exact hidentity_witness_witness_witness_witness_witness_left_right_right - L130
specialize prime_field_polynomial_add_trim_aligned (p) - L131
specialize prime_field_polynomial_add_trim_aligned (x) - L132
specialize prime_field_polynomial_add_trim_aligned (x1) - L133
specialize prime_field_polynomial_add_trim_aligned (L) - L134
specialize prime_field_polynomial_add_trim_aligned (x) - L135
specialize prime_field_polynomial_add_trim_aligned (x1) - L136
specialize prime_field_polynomial_add_trim_aligned (x2) - L137
specialize prime_field_polynomial_add_trim_aligned (x3) - L138
specialize prime_field_polynomial_add_trim_aligned (ab)
27Use earlier factsL139–148
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
specialize prime_field_polynomial_add_trim_aligned (ac) - L140
specialize prime_field_polynomial_add_trim_aligned (L) - L141
specialize prime_field_polynomial_add_trim_aligned (x4) - L142
specialize prime_field_polynomial_add_trim_aligned (rb) - L143
specialize prime_field_polynomial_add_trim_aligned (rc) - L144
specialize prime_field_polynomial_add_trim_aligned (R) - L145
apply prime_field_polynomial_add_trim_aligned - L146
exact hbounds_left - L147
specialize prime_field_polynomial_power_coefficient_functional (x) - L148
specialize prime_field_polynomial_power_coefficient_functional (x1)
28Use earlier factsL149–152
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 152 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro d - 0008
intro qb - 0009
intro qc - 0010
intro q - 0011
intro rb - 0012
intro rc - 0013
intro R - 0014
intro hp - 0015
intro he - 0016
have hidentity : ∃ pfd_identity_pb_execution_aligned_identity. ∃ pfd_identity_pc_execution_aligned_identity. ∃ pfd_identity_ub_execution_aligned_identity. ∃ pfd_identity_uc_execution_aligned_identity. ∃ pfd_identity_t_execution_aligned_identity. (q = 0 ∧ Repeat(pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,0,L) ∨ ¬q = 0 ∧ FpPolyProduct(p,qb,qc,q,bb,bc,S d,pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,L)) ∧ (FpPolyAdd(p,pfd_identity_pb_execution_aligned_identity,pfd_identity_pc_execution_aligned_identity,pfd_identity_ub_execution_aligned_identity,pfd_identity_uc_execution_aligned_identity,ab,ac,L) ∧ FpPolynomialTrim(p,pfd_identity_ub_execution_aligned_identity,pfd_identity_uc_execution_aligned_identity,L,pfd_identity_t_execution_aligned_identity,rb,rc,R)) - 0017
specialize prime_field_polynomial_division_coefficient_identity (p) - 0018
specialize prime_field_polynomial_division_coefficient_identity (ab) - 0019
specialize prime_field_polynomial_division_coefficient_identity (ac) - 0020
specialize prime_field_polynomial_division_coefficient_identity (L) - 0021
specialize prime_field_polynomial_division_coefficient_identity (bb) - 0022
specialize prime_field_polynomial_division_coefficient_identity (bc) - 0023
specialize prime_field_polynomial_division_coefficient_identity (d) - 0024
specialize prime_field_polynomial_division_coefficient_identity (qb) - 0025
specialize prime_field_polynomial_division_coefficient_identity (qc) - 0026
specialize prime_field_polynomial_division_coefficient_identity (q) - 0027
specialize prime_field_polynomial_division_coefficient_identity (rb) - 0028
specialize prime_field_polynomial_division_coefficient_identity (rc) - 0029
specialize prime_field_polynomial_division_coefficient_identity (R) - 0030
apply prime_field_polynomial_division_coefficient_identity - 0031
exact hp - 0032
exact he - 0033
cases hidentity - 0034
cases hidentity_witness - 0035
cases hidentity_witness_witness - 0036
cases hidentity_witness_witness_witness - 0037
cases hidentity_witness_witness_witness_witness - 0038
cases hidentity_witness_witness_witness_witness_witness - 0039
cases hidentity_witness_witness_witness_witness_witness_right - 0040
cases he - 0041
cases he_right - 0042
cases he_right_right - 0043
have hbounds : BetaPrefixInto(x,x1,L,p) ∧ (BetaPrefixInto(x2,x3,L,p) ∧ BetaPrefixInto(ab,ac,L,p)) - 0044
specialize prime_field_polynomial_add_bounded (p) - 0045
specialize prime_field_polynomial_add_bounded (x) - 0046
specialize prime_field_polynomial_add_bounded (x1) - 0047
specialize prime_field_polynomial_add_bounded (x2) - 0048
specialize prime_field_polynomial_add_bounded (x3) - 0049
specialize prime_field_polynomial_add_bounded (ab) - 0050
specialize prime_field_polynomial_add_bounded (ac) - 0051
specialize prime_field_polynomial_add_bounded (L) - 0052
apply prime_field_polynomial_add_bounded - 0053
exact hidentity_witness_witness_witness_witness_witness_right_left - 0054
cases hbounds - 0055
cases hbounds_right - 0056
cases hidentity_witness_witness_witness_witness_witness_left - 0057
cases hidentity_witness_witness_witness_witness_witness_left_left - 0058
exists 0 - 0059
exists 0 - 0060
exists 0 - 0061
split - 0062
specialize prime_field_polynomial_convolution_empty (p) - 0063
specialize prime_field_polynomial_convolution_empty (qb) - 0064
specialize prime_field_polynomial_convolution_empty (qc) - 0065
specialize prime_field_polynomial_convolution_empty (q) - 0066
specialize prime_field_polynomial_convolution_empty (bb) - 0067
specialize prime_field_polynomial_convolution_empty (bc) - 0068
specialize prime_field_polynomial_convolution_empty (S d) - 0069
specialize prime_field_polynomial_convolution_empty (0) - 0070
specialize prime_field_polynomial_convolution_empty (0) - 0071
apply prime_field_polynomial_convolution_empty - 0072
rewrite hidentity_witness_witness_witness_witness_witness_left_left_left - 0073
intro empty_i - 0074
intro empty_hi - 0075
exfalso - 0076
specialize lt_not_le (empty_i) - 0077
specialize lt_not_le (0) - 0078
apply lt_not_le - 0079
exact empty_hi - 0080
specialize zero_le (empty_i) - 0081
apply zero_le - 0082
exact he_right_left - 0083
left - 0084
exact hidentity_witness_witness_witness_witness_witness_left_left_left - 0085
specialize prime_field_polynomial_add_trim_aligned (p) - 0086
specialize prime_field_polynomial_add_trim_aligned (0) - 0087
specialize prime_field_polynomial_add_trim_aligned (0) - 0088
specialize prime_field_polynomial_add_trim_aligned (0) - 0089
specialize prime_field_polynomial_add_trim_aligned (x) - 0090
specialize prime_field_polynomial_add_trim_aligned (x1) - 0091
specialize prime_field_polynomial_add_trim_aligned (x2) - 0092
specialize prime_field_polynomial_add_trim_aligned (x3) - 0093
specialize prime_field_polynomial_add_trim_aligned (ab) - 0094
specialize prime_field_polynomial_add_trim_aligned (ac) - 0095
specialize prime_field_polynomial_add_trim_aligned (L) - 0096
specialize prime_field_polynomial_add_trim_aligned (x4) - 0097
specialize prime_field_polynomial_add_trim_aligned (rb) - 0098
specialize prime_field_polynomial_add_trim_aligned (rc) - 0099
specialize prime_field_polynomial_add_trim_aligned (R) - 0100
apply prime_field_polynomial_add_trim_aligned - 0101
intro zero_i - 0102
intro zero_hi - 0103
exfalso - 0104
specialize lt_not_le (zero_i) - 0105
specialize lt_not_le (0) - 0106
apply lt_not_le - 0107
exact zero_hi - 0108
specialize zero_le (zero_i) - 0109
apply zero_le - 0110
specialize prime_field_polynomial_equivalent_symmetric (x) - 0111
specialize prime_field_polynomial_equivalent_symmetric (x1) - 0112
specialize prime_field_polynomial_equivalent_symmetric (L) - 0113
specialize prime_field_polynomial_equivalent_symmetric (0) - 0114
specialize prime_field_polynomial_equivalent_symmetric (0) - 0115
specialize prime_field_polynomial_equivalent_symmetric (0) - 0116
apply prime_field_polynomial_equivalent_symmetric - 0117
specialize prime_field_polynomial_zero_prefix_equivalent_empty (x) - 0118
specialize prime_field_polynomial_zero_prefix_equivalent_empty (x1) - 0119
specialize prime_field_polynomial_zero_prefix_equivalent_empty (L) - 0120
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0121
exact hidentity_witness_witness_witness_witness_witness_left_left_right - 0122
exact hidentity_witness_witness_witness_witness_witness_right_left - 0123
exact hidentity_witness_witness_witness_witness_witness_right_right - 0124
cases hidentity_witness_witness_witness_witness_witness_left_right - 0125
exists x - 0126
exists x1 - 0127
exists L - 0128
split - 0129
exact hidentity_witness_witness_witness_witness_witness_left_right_right - 0130
specialize prime_field_polynomial_add_trim_aligned (p) - 0131
specialize prime_field_polynomial_add_trim_aligned (x) - 0132
specialize prime_field_polynomial_add_trim_aligned (x1) - 0133
specialize prime_field_polynomial_add_trim_aligned (L) - 0134
specialize prime_field_polynomial_add_trim_aligned (x) - 0135
specialize prime_field_polynomial_add_trim_aligned (x1) - 0136
specialize prime_field_polynomial_add_trim_aligned (x2) - 0137
specialize prime_field_polynomial_add_trim_aligned (x3) - 0138
specialize prime_field_polynomial_add_trim_aligned (ab) - 0139
specialize prime_field_polynomial_add_trim_aligned (ac) - 0140
specialize prime_field_polynomial_add_trim_aligned (L) - 0141
specialize prime_field_polynomial_add_trim_aligned (x4) - 0142
specialize prime_field_polynomial_add_trim_aligned (rb) - 0143
specialize prime_field_polynomial_add_trim_aligned (rc) - 0144
specialize prime_field_polynomial_add_trim_aligned (R) - 0145
apply prime_field_polynomial_add_trim_aligned - 0146
exact hbounds_left - 0147
specialize prime_field_polynomial_power_coefficient_functional (x) - 0148
specialize prime_field_polynomial_power_coefficient_functional (x1) - 0149
specialize prime_field_polynomial_power_coefficient_functional (L) - 0150
apply prime_field_polynomial_power_coefficient_functional - 0151
exact hidentity_witness_witness_witness_witness_witness_right_left - 0152
exact hidentity_witness_witness_witness_witness_witness_right_right