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. ∀ k. ∀ kb. ∀ kc. ∀ ab. ∀ ac. ∀ rb. ∀ rc. ∀ bb. ∀ bc. ∀ l. Lt(k,p) → BetaPrefixInto(ab,ac,l,p) → Repeat(kb,kc,k,l) → (∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → BetaAt(kb,kc,x,y) → BetaAt(ab,ac,x,z) → BetaAt(rb,rc,x,n) → n = y · z) → FpCoefficientReduction(p,rb,rc,bb,bc,l) → FpPolyScale(p,k,ab,ac,bb,bc,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 62 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
03Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
split
04Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact hk
05Fix variables and assumptionsL19–20
06Establish haL21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc.
- L21
have ha : ∃ 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 - L22
specialize hc (i) - L23
apply hc - L24
exact hi
07Separate the logical casesL25–26
08Establish hvnL27–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hn.
- L27
have hvn : ∃ n. ∃ r. BetaAt(rb,rc,i,n) ∧ (BetaAt(bb,bc,i,r) ∧ CanonicalModularResidue(p,n,r))Definitions: BetaAt(rb,rc,i,n)BetaAt(bb,bc,i,r)CanonicalModularResidue(p,n,r)Original native command in the exact edition - L28
specialize hn (i) - L29
apply hn - L30
exact hi
09Separate the logical casesL31–34
10Construct an explicit witnessL35–36
11Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
12Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact ha_witness_left
13Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
14Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hvn_witness_witness_right_left
15Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
split
16Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hk
17Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
split
18Use earlier factsL44–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
19Calculate and transport equalitiesL50–50
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L50
symm
20Use earlier factsL51–60
Original defined command ledger · 62 lines
- 0001
intro p - 0002
intro k - 0003
intro kb - 0004
intro kc - 0005
intro ab - 0006
intro ac - 0007
intro rb - 0008
intro rc - 0009
intro bb - 0010
intro bc - 0011
intro l - 0012
intro hk - 0013
intro hc - 0014
intro hr - 0015
intro hm - 0016
intro hn - 0017
split - 0018
exact hk - 0019
intro i - 0020
intro hi - 0021
have ha : ∃ a. BetaAt(ab,ac,i,a) ∧ Lt(a,p) - 0022
specialize hc (i) - 0023
apply hc - 0024
exact hi - 0025
cases ha - 0026
cases ha_witness - 0027
have hvn : ∃ n. ∃ r. BetaAt(rb,rc,i,n) ∧ (BetaAt(bb,bc,i,r) ∧ CanonicalModularResidue(p,n,r)) - 0028
specialize hn (i) - 0029
apply hn - 0030
exact hi - 0031
cases hvn - 0032
cases hvn_witness - 0033
cases hvn_witness_witness - 0034
cases hvn_witness_witness_right - 0035
exists x - 0036
exists x2 - 0037
split - 0038
exact ha_witness_left - 0039
split - 0040
exact hvn_witness_witness_right_left - 0041
split - 0042
exact hk - 0043
split - 0044
exact ha_witness_right - 0045
specialize prime_field_residue_input_equal (p) - 0046
specialize prime_field_residue_input_equal (k*x) - 0047
specialize prime_field_residue_input_equal (x1) - 0048
specialize prime_field_residue_input_equal (x2) - 0049
apply prime_field_residue_input_equal - 0050
symm - 0051
specialize hm (i) - 0052
specialize hm (k) - 0053
specialize hm (x) - 0054
specialize hm (x1) - 0055
apply hm - 0056
exact hi - 0057
specialize hr (i) - 0058
apply hr - 0059
exact hi - 0060
exact ha_witness_left - 0061
exact hvn_witness_witness_left - 0062
exact hvn_witness_witness_right_right