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. ∀ b. ∀ c. ∀ r. Prime(p) → FpUnitTrace(p,b,c,n,r) → CanonicalModularResidue(p,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 97 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 (4)
01Fix variables and assumptionsL1–2
02Induction on nL3–8
03Separate the logical casesL9–10
04Establish heqL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
05Calculate and transport equalitiesL21–21
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L21
rewrite heq
06Use earlier factsL22–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
07Fix variables and assumptionsL28–32
08Separate the logical casesL33–34
09Establish hsL35–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply htrace right right.
- L35
have hs : ∃ u. ∃ v. BetaAt(b,c,n,u) ∧ (BetaAt(b,c,S n,v) ∧ FpAdd(p,u,1,v))Definitions: BetaAt(b,c,n,u)BetaAt(b,c,S n,v)FpAdd(p,u,1,v)Original native command in the exact edition - L36
specialize htrace_right_right (n) - L37
apply htrace_right_right
10Construct an explicit witnessL38–38
Supply the displayed value, then prove that it has the required property.
- L38
exists 0
11Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
apply zero_add
12Separate the logical casesL40–43
13Establish heqL44–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
14Establish hprevL53–53
Establish this local claim before using it. It is not an additional assumption.
- L53
have hprev : FpUnitTrace(p,b,c,n,x)Definitions: FpUnitTrace(p,b,c,n,x)Original native command in the exact edition
15Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
split
16Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact htrace_left
17Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
18Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hs_witness_witness_left
19Fix variables and assumptionsL58–59
20Use earlier factsL60–65
21Establish hresL66–72
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L66
have hres : CanonicalModularResidue(p,n,x)Definitions: CanonicalModularResidue(p,n,x)Original native command in the exact edition - L67
specialize IH (b) - L68
specialize IH (c) - L69
specialize IH (x) - L70
apply IH - L71
exact hp - L72
exact hprev
22Establish hsumL73–82
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field residue add.
- L73
have hsum : CanonicalModularResidue(p,n + 1,x1)Definitions: CanonicalModularResidue(p,n + 1,x1)Original native command in the exact edition - L74
specialize prime_field_residue_add (p) - L75
specialize prime_field_residue_add (n) - L76
specialize prime_field_residue_add (1) - L77
specialize prime_field_residue_add (x) - L78
specialize prime_field_residue_add (1) - L79
specialize prime_field_residue_add (x1) - L80
apply prime_field_residue_add - L81
exact hres - L82
specialize prime_field_residue_reflexive (p)
23Use earlier factsL83–88
24Calculate and transport equalitiesL89–90
25Use earlier factsL91–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
26Calculate and transport equalitiesL96–96
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L96
simp
27Use earlier factsL97–97
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
exact hsum
Original defined command ledger · 97 lines
- 0001
intro p - 0002
intro n - 0003
induction n - 0004
intro b - 0005
intro c - 0006
intro r - 0007
intro hp - 0008
intro htrace - 0009
cases htrace - 0010
cases htrace_right - 0011
have heq : r = 0 - 0012
specialize beta_at_unique (b) - 0013
specialize beta_at_unique (c) - 0014
specialize beta_at_unique (0) - 0015
specialize beta_at_unique (r) - 0016
specialize beta_at_unique (0) - 0017
apply beta_at_unique - 0018
exact htrace_right_left - 0019
exact htrace_left - 0020
rewrite heq - 0021
rewrite heq - 0022
specialize prime_field_residue_reflexive (p) - 0023
specialize prime_field_residue_reflexive (0) - 0024
apply prime_field_residue_reflexive - 0025
specialize prime_field_zero_below_prime (p) - 0026
apply prime_field_zero_below_prime - 0027
exact hp - 0028
intro b - 0029
intro c - 0030
intro r - 0031
intro hp - 0032
intro htrace - 0033
cases htrace - 0034
cases htrace_right - 0035
have hs : ∃ u. ∃ v. BetaAt(b,c,n,u) ∧ (BetaAt(b,c,S n,v) ∧ FpAdd(p,u,1,v)) - 0036
specialize htrace_right_right (n) - 0037
apply htrace_right_right - 0038
exists 0 - 0039
apply zero_add - 0040
cases hs - 0041
cases hs_witness - 0042
cases hs_witness_witness - 0043
cases hs_witness_witness_right - 0044
have heq : x1 = r - 0045
specialize beta_at_unique (b) - 0046
specialize beta_at_unique (c) - 0047
specialize beta_at_unique (S n) - 0048
specialize beta_at_unique (x1) - 0049
specialize beta_at_unique (r) - 0050
apply beta_at_unique - 0051
exact hs_witness_witness_right_left - 0052
exact htrace_right_left - 0053
have hprev : FpUnitTrace(p,b,c,n,x) - 0054
split - 0055
exact htrace_left - 0056
split - 0057
exact hs_witness_witness_left - 0058
intro i - 0059
intro hi - 0060
specialize htrace_right_right (i) - 0061
apply htrace_right_right - 0062
specialize le_succ (S i) - 0063
specialize le_succ (n) - 0064
apply le_succ - 0065
exact hi - 0066
have hres : CanonicalModularResidue(p,n,x) - 0067
specialize IH (b) - 0068
specialize IH (c) - 0069
specialize IH (x) - 0070
apply IH - 0071
exact hp - 0072
exact hprev - 0073
have hsum : CanonicalModularResidue(p,n + 1,x1) - 0074
specialize prime_field_residue_add (p) - 0075
specialize prime_field_residue_add (n) - 0076
specialize prime_field_residue_add (1) - 0077
specialize prime_field_residue_add (x) - 0078
specialize prime_field_residue_add (1) - 0079
specialize prime_field_residue_add (x1) - 0080
apply prime_field_residue_add - 0081
exact hres - 0082
specialize prime_field_residue_reflexive (p) - 0083
specialize prime_field_residue_reflexive (1) - 0084
apply prime_field_residue_reflexive - 0085
specialize prime_two_le (p) - 0086
apply prime_two_le - 0087
exact hp - 0088
exact hs_witness_witness_right_right - 0089
rewrite heq at hsum - 0090
rewrite heq at hsum - 0091
specialize prime_field_residue_input_equal (p) - 0092
specialize prime_field_residue_input_equal (S n) - 0093
specialize prime_field_residue_input_equal (n+1) - 0094
specialize prime_field_residue_input_equal (r) - 0095
apply prime_field_residue_input_equal - 0096
simp - 0097
exact hsum