Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
This checkpoint constructs prime-order fields (k=1), with genuine finite arithmetic tables, cardinality, and characteristic. Inversion is proved only for nonzero elements; the table's zero entry is a zero-to-zero convention. G091 for every prime power p^k, with an irreducible polynomial of degree k, remains open. No extension-field construction or G091 closure is claimed.
Exact theorem in conservative defined notation
∀ p. ∀ b. ∀ c. ∀ B. ∀ C. ∀ n. ∀ r. FpUnitTrace(p,b,c,n,r) → (∀ x. ∀ y. Lt(x,S n) → BetaAt(b,c,x,y) → BetaAt(B,C,x,y)) → FpUnitTrace(p,B,C,n,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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–9
02Separate the logical casesL10–12
03Use earlier factsL13–15
04Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists n
05Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
simp
06Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact htrace_left
07Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
split
08Use earlier factsL20–22
09Construct an explicit witnessL23–23
Supply the displayed value, then prove that it has the required property.
- L23
exists 0
10Use earlier factsL24–25
11Fix variables and assumptionsL26–27
12Establish hsL28–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply htrace right right.
- L28
have hs : ∃ u. ∃ v. BetaAt(b,c,i,u) ∧ (BetaAt(b,c,S i,v) ∧ FpAdd(p,u,1,v))Definitions: BetaAt(b,c,i,u)BetaAt(b,c,S i,v)FpAdd(p,u,1,v)Original native command in the exact edition - L29
specialize htrace_right_right (i) - L30
apply htrace_right_right - L31
exact hi
13Separate the logical casesL32–35
14Construct an explicit witnessL36–37
15Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
split
16Use earlier factsL39–46
17Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
split
18Use earlier factsL48–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 56 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro B - 0005
intro C - 0006
intro n - 0007
intro r - 0008
intro htrace - 0009
intro hpreserve - 0010
cases htrace - 0011
cases htrace_right - 0012
split - 0013
specialize hpreserve (0) - 0014
specialize hpreserve (0) - 0015
apply hpreserve - 0016
exists n - 0017
simp - 0018
exact htrace_left - 0019
split - 0020
specialize hpreserve (n) - 0021
specialize hpreserve (r) - 0022
apply hpreserve - 0023
exists 0 - 0024
apply zero_add - 0025
exact htrace_right_left - 0026
intro i - 0027
intro hi - 0028
have hs : ∃ u. ∃ v. BetaAt(b,c,i,u) ∧ (BetaAt(b,c,S i,v) ∧ FpAdd(p,u,1,v)) - 0029
specialize htrace_right_right (i) - 0030
apply htrace_right_right - 0031
exact hi - 0032
cases hs - 0033
cases hs_witness - 0034
cases hs_witness_witness - 0035
cases hs_witness_witness_right - 0036
exists x - 0037
exists x1 - 0038
split - 0039
specialize hpreserve (i) - 0040
specialize hpreserve (x) - 0041
apply hpreserve - 0042
specialize le_succ (S i) - 0043
specialize le_succ (n) - 0044
apply le_succ - 0045
exact hi - 0046
exact hs_witness_witness_left - 0047
split - 0048
specialize hpreserve (S i) - 0049
specialize hpreserve (x1) - 0050
apply hpreserve - 0051
specialize succ_le_succ (S i) - 0052
specialize succ_le_succ (n) - 0053
apply succ_le_succ - 0054
exact hi - 0055
exact hs_witness_witness_right_left - 0056
exact hs_witness_witness_right_right