Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Length is representation length, not polynomial degree. Leading zeros and the empty zero polynomial are allowed; the canonical argument guard x<p also applies to the empty case. Evaluation is defined by actual field-operation steps, not an assumed residue invariant. Polynomial division, gcd, irreducibles and general prime-power extension fields remain open; this does not close G091.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ rb. ∀ rc. ∀ cb. ∀ cc. ∀ l. BetaPrefixInto(ab,ac,l,p) → BetaPrefixInto(bb,bc,l,p) → (∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → BetaAt(ab,ac,x,y) → BetaAt(bb,bc,x,z) → BetaAt(rb,rc,x,n) → n = y + z) → FpCoefficientReduction(p,rb,rc,cb,cc,l) → FpPolyAdd(p,ab,ac,bb,bc,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 65 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Establish hvaL17–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply ha.
- L17
have hva : ∃ a. BetaAt(ab,ac,i,a) ∧ Lt(a,p)Definitions: BetaAt(ab,ac,i,a)Lt(a,p)Original native command in the exact edition - L18
specialize ha (i) - L19
apply ha - L20
exact hi
04Separate the logical casesL21–22
05Establish hvbL23–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hb.
- L23
have hvb : ∃ b. BetaAt(bb,bc,i,b) ∧ Lt(b,p)Definitions: BetaAt(bb,bc,i,b)Lt(b,p)Original native command in the exact edition - L24
specialize hb (i) - L25
apply hb - L26
exact hi
06Separate the logical casesL27–28
07Establish hvnL29–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hn.
- L29
have hvn : ∃ s. ∃ r. BetaAt(rb,rc,i,s) ∧ (BetaAt(cb,cc,i,r) ∧ CanonicalModularResidue(p,s,r))Definitions: BetaAt(rb,rc,i,s)BetaAt(cb,cc,i,r)CanonicalModularResidue(p,s,r)Original native command in the exact edition - L30
specialize hn (i) - L31
apply hn - L32
exact hi
08Separate the logical casesL33–36
09Construct an explicit witnessL37–39
10Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
split
11Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact hva_witness_left
12Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
13Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hvb_witness_left
14Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
15Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hvn_witness_witness_right_left
16Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
17Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hva_witness_right
18Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
19Use earlier factsL49–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
20Calculate and transport equalitiesL55–55
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L55
symm
21Use earlier factsL56–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 65 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro rb - 0007
intro rc - 0008
intro cb - 0009
intro cc - 0010
intro l - 0011
intro ha - 0012
intro hb - 0013
intro hs - 0014
intro hn - 0015
intro i - 0016
intro hi - 0017
have hva : ∃ a. BetaAt(ab,ac,i,a) ∧ Lt(a,p) - 0018
specialize ha (i) - 0019
apply ha - 0020
exact hi - 0021
cases hva - 0022
cases hva_witness - 0023
have hvb : ∃ b. BetaAt(bb,bc,i,b) ∧ Lt(b,p) - 0024
specialize hb (i) - 0025
apply hb - 0026
exact hi - 0027
cases hvb - 0028
cases hvb_witness - 0029
have hvn : ∃ s. ∃ r. BetaAt(rb,rc,i,s) ∧ (BetaAt(cb,cc,i,r) ∧ CanonicalModularResidue(p,s,r)) - 0030
specialize hn (i) - 0031
apply hn - 0032
exact hi - 0033
cases hvn - 0034
cases hvn_witness - 0035
cases hvn_witness_witness - 0036
cases hvn_witness_witness_right - 0037
exists x - 0038
exists x1 - 0039
exists x3 - 0040
split - 0041
exact hva_witness_left - 0042
split - 0043
exact hvb_witness_left - 0044
split - 0045
exact hvn_witness_witness_right_left - 0046
split - 0047
exact hva_witness_right - 0048
split - 0049
exact hvb_witness_right - 0050
specialize prime_field_residue_input_equal (p) - 0051
specialize prime_field_residue_input_equal (x+x1) - 0052
specialize prime_field_residue_input_equal (x2) - 0053
specialize prime_field_residue_input_equal (x3) - 0054
apply prime_field_residue_input_equal - 0055
symm - 0056
specialize hs (i) - 0057
specialize hs (x) - 0058
specialize hs (x1) - 0059
specialize hs (x2) - 0060
apply hs - 0061
exact hi - 0062
exact hva_witness_left - 0063
exact hvb_witness_left - 0064
exact hvn_witness_witness_left - 0065
exact hvn_witness_witness_right_right