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. ∀ n. Prime(p) → ∃ x. ∃ y. ∃ z. FpUnitTrace(p,x,y,n,z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 71 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 (3)
01Fix variables and assumptionsL1–2
02Induction on nL3–4
03Construct an explicit witnessL5–7
04Separate the logical casesL8–9
05Construct an explicit witnessL10–10
Supply the displayed value, then prove that it has the required property.
- L10
exists 0
06Calculate and transport equalitiesL11–11
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L11
norm_num
07Construct an explicit witnessL12–12
Supply the displayed value, then prove that it has the required property.
- L12
exists 0
08Calculate and transport equalitiesL13–13
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L13
norm_num
09Separate the logical casesL14–15
10Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists 0
11Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
norm_num
12Construct an explicit witnessL18–18
Supply the displayed value, then prove that it has the required property.
- L18
exists 0
13Calculate and transport equalitiesL19–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L19
norm_num
14Fix variables and assumptionsL20–21
15Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
exfalso
16Use earlier factsL23–28
17Fix variables and assumptionsL29–29
Work with arbitrary variables or the premises of the current implication.
- L29
intro hp
18Establish htL30–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L30
have ht : ∃ b. ∃ c. ∃ r. FpUnitTrace(p,b,c,n,r)Definitions: FpUnitTrace(p,b,c,n,r)Original native command in the exact edition - L31
apply IH - L32
exact hp
19Separate the logical casesL33–35
20Establish hrL36–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field unit trace result bounded.
- L36
- L37
specialize prime_field_unit_trace_result_bounded (p) - L38
specialize prime_field_unit_trace_result_bounded (x) - L39
specialize prime_field_unit_trace_result_bounded (x1) - L40
specialize prime_field_unit_trace_result_bounded (n) - L41
specialize prime_field_unit_trace_result_bounded (x2) - L42
apply prime_field_unit_trace_result_bounded - L43
exact hp - L44
exact ht_witness_witness_witness
21Establish hsL45–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field add exists.
- L45
have hs : ∃ s. FpAdd(p,x2,1,s)Definitions: FpAdd(p,x2,1,s)Original native command in the exact edition - L46
specialize prime_field_add_exists (p) - L47
specialize prime_field_add_exists (x2) - L48
specialize prime_field_add_exists (1) - L49
apply prime_field_add_exists - L50
exact hp - L51
exact hr - L52
specialize prime_two_le (p) - L53
apply prime_two_le - L54
exact hp
22Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hs
23Establish hnewL56–65
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field unit trace successor.
- L56
have hnew : FpUnitMultiple(p,S n,x3)Definitions: FpUnitMultiple(p,S n,x3)Original native command in the exact edition - L57
specialize prime_field_unit_trace_successor (p) - L58
specialize prime_field_unit_trace_successor (x) - L59
specialize prime_field_unit_trace_successor (x1) - L60
specialize prime_field_unit_trace_successor (n) - L61
specialize prime_field_unit_trace_successor (x2) - L62
specialize prime_field_unit_trace_successor (x3) - L63
apply prime_field_unit_trace_successor - L64
exact ht_witness_witness_witness - L65
exact hs_witness
24Separate the logical casesL66–67
25Construct an explicit witnessL68–70
26Use earlier factsL71–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
exact hnew_witness_witness
Original defined command ledger · 71 lines
- 0001
intro p - 0002
intro n - 0003
induction n - 0004
intro hp - 0005
exists 0 - 0006
exists 0 - 0007
exists 0 - 0008
split - 0009
split - 0010
exists 0 - 0011
norm_num - 0012
exists 0 - 0013
norm_num - 0014
split - 0015
split - 0016
exists 0 - 0017
norm_num - 0018
exists 0 - 0019
norm_num - 0020
intro i - 0021
intro hi - 0022
exfalso - 0023
specialize lt_not_le (i) - 0024
specialize lt_not_le (0) - 0025
apply lt_not_le - 0026
exact hi - 0027
specialize zero_le (i) - 0028
apply zero_le - 0029
intro hp - 0030
have ht : ∃ b. ∃ c. ∃ r. FpUnitTrace(p,b,c,n,r) - 0031
apply IH - 0032
exact hp - 0033
cases ht - 0034
cases ht_witness - 0035
cases ht_witness_witness - 0036
have hr : Lt(x2,p) - 0037
specialize prime_field_unit_trace_result_bounded (p) - 0038
specialize prime_field_unit_trace_result_bounded (x) - 0039
specialize prime_field_unit_trace_result_bounded (x1) - 0040
specialize prime_field_unit_trace_result_bounded (n) - 0041
specialize prime_field_unit_trace_result_bounded (x2) - 0042
apply prime_field_unit_trace_result_bounded - 0043
exact hp - 0044
exact ht_witness_witness_witness - 0045
have hs : ∃ s. FpAdd(p,x2,1,s) - 0046
specialize prime_field_add_exists (p) - 0047
specialize prime_field_add_exists (x2) - 0048
specialize prime_field_add_exists (1) - 0049
apply prime_field_add_exists - 0050
exact hp - 0051
exact hr - 0052
specialize prime_two_le (p) - 0053
apply prime_two_le - 0054
exact hp - 0055
cases hs - 0056
have hnew : FpUnitMultiple(p,S n,x3) - 0057
specialize prime_field_unit_trace_successor (p) - 0058
specialize prime_field_unit_trace_successor (x) - 0059
specialize prime_field_unit_trace_successor (x1) - 0060
specialize prime_field_unit_trace_successor (n) - 0061
specialize prime_field_unit_trace_successor (x2) - 0062
specialize prime_field_unit_trace_successor (x3) - 0063
apply prime_field_unit_trace_successor - 0064
exact ht_witness_witness_witness - 0065
exact hs_witness - 0066
cases hnew - 0067
cases hnew_witness - 0068
exists x4 - 0069
exists x5 - 0070
exists x3 - 0071
exact hnew_witness_witness