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. ∀ a. ∀ b. ∀ c. ∀ x. ∀ y. ∀ u. ∀ v. FpMulPrefix(p,B,C,p · p) → Lt(a,p) → Lt(b,p) → Lt(c,p) → BetaAt(B,C,a · p + b,x) → BetaAt(B,C,x · p + c,u) → BetaAt(B,C,b · p + c,y) → BetaAt(B,C,a · p + y,v) → u = v
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 81 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish hfirstL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field multiply table lookup.
- L19
- L20
specialize prime_field_multiply_table_lookup (p) - L21
specialize prime_field_multiply_table_lookup (B) - L22
specialize prime_field_multiply_table_lookup (C) - L23
specialize prime_field_multiply_table_lookup (a) - L24
specialize prime_field_multiply_table_lookup (b) - L25
specialize prime_field_multiply_table_lookup (x) - L26
apply prime_field_multiply_table_lookup - L27
exact htable - L28
exact ha
04Use earlier factsL29–30
05Separate the logical casesL31–33
06Establish hsecondL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field multiply table lookup.
- L34
have hsecond : FpMul(p,b,c,y)Definitions: FpMul(p,b,c,y)Original native command in the exact edition - L35
specialize prime_field_multiply_table_lookup (p) - L36
specialize prime_field_multiply_table_lookup (B) - L37
specialize prime_field_multiply_table_lookup (C) - L38
specialize prime_field_multiply_table_lookup (b) - L39
specialize prime_field_multiply_table_lookup (c) - L40
specialize prime_field_multiply_table_lookup (y) - L41
apply prime_field_multiply_table_lookup - L42
exact htable - L43
exact hb
07Use earlier factsL44–45
08Separate the logical casesL46–48
09Use earlier factsL49–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
specialize prime_field_multiply_associative (p) - L50
specialize prime_field_multiply_associative (a) - L51
specialize prime_field_multiply_associative (b) - L52
specialize prime_field_multiply_associative (c) - L53
specialize prime_field_multiply_associative (x) - L54
specialize prime_field_multiply_associative (y) - L55
specialize prime_field_multiply_associative (u) - L56
specialize prime_field_multiply_associative (v) - L57
apply prime_field_multiply_associative - L58
exact hfirst
10Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
specialize prime_field_multiply_table_lookup (p) - L60
specialize prime_field_multiply_table_lookup (B) - L61
specialize prime_field_multiply_table_lookup (C) - L62
specialize prime_field_multiply_table_lookup (x) - L63
specialize prime_field_multiply_table_lookup (c) - L64
specialize prime_field_multiply_table_lookup (u) - L65
apply prime_field_multiply_table_lookup - L66
exact htable - L67
exact hfirst_right_right_left - L68
exact hc
11Use earlier factsL69–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
exact hatleft - L70
exact hsecond - L71
specialize prime_field_multiply_table_lookup (p) - L72
specialize prime_field_multiply_table_lookup (B) - L73
specialize prime_field_multiply_table_lookup (C) - L74
specialize prime_field_multiply_table_lookup (a) - L75
specialize prime_field_multiply_table_lookup (y) - L76
specialize prime_field_multiply_table_lookup (v) - L77
apply prime_field_multiply_table_lookup - L78
exact htable
Original defined command ledger · 81 lines
- 0001
intro p - 0002
intro B - 0003
intro C - 0004
intro a - 0005
intro b - 0006
intro c - 0007
intro x - 0008
intro y - 0009
intro u - 0010
intro v - 0011
intro htable - 0012
intro ha - 0013
intro hb - 0014
intro hc - 0015
intro hatfirst - 0016
intro hatleft - 0017
intro hatsecond - 0018
intro hatright - 0019
have hfirst : FpMul(p,a,b,x) - 0020
specialize prime_field_multiply_table_lookup (p) - 0021
specialize prime_field_multiply_table_lookup (B) - 0022
specialize prime_field_multiply_table_lookup (C) - 0023
specialize prime_field_multiply_table_lookup (a) - 0024
specialize prime_field_multiply_table_lookup (b) - 0025
specialize prime_field_multiply_table_lookup (x) - 0026
apply prime_field_multiply_table_lookup - 0027
exact htable - 0028
exact ha - 0029
exact hb - 0030
exact hatfirst - 0031
cases hfirst - 0032
cases hfirst_right - 0033
cases hfirst_right_right - 0034
have hsecond : FpMul(p,b,c,y) - 0035
specialize prime_field_multiply_table_lookup (p) - 0036
specialize prime_field_multiply_table_lookup (B) - 0037
specialize prime_field_multiply_table_lookup (C) - 0038
specialize prime_field_multiply_table_lookup (b) - 0039
specialize prime_field_multiply_table_lookup (c) - 0040
specialize prime_field_multiply_table_lookup (y) - 0041
apply prime_field_multiply_table_lookup - 0042
exact htable - 0043
exact hb - 0044
exact hc - 0045
exact hatsecond - 0046
cases hsecond - 0047
cases hsecond_right - 0048
cases hsecond_right_right - 0049
specialize prime_field_multiply_associative (p) - 0050
specialize prime_field_multiply_associative (a) - 0051
specialize prime_field_multiply_associative (b) - 0052
specialize prime_field_multiply_associative (c) - 0053
specialize prime_field_multiply_associative (x) - 0054
specialize prime_field_multiply_associative (y) - 0055
specialize prime_field_multiply_associative (u) - 0056
specialize prime_field_multiply_associative (v) - 0057
apply prime_field_multiply_associative - 0058
exact hfirst - 0059
specialize prime_field_multiply_table_lookup (p) - 0060
specialize prime_field_multiply_table_lookup (B) - 0061
specialize prime_field_multiply_table_lookup (C) - 0062
specialize prime_field_multiply_table_lookup (x) - 0063
specialize prime_field_multiply_table_lookup (c) - 0064
specialize prime_field_multiply_table_lookup (u) - 0065
apply prime_field_multiply_table_lookup - 0066
exact htable - 0067
exact hfirst_right_right_left - 0068
exact hc - 0069
exact hatleft - 0070
exact hsecond - 0071
specialize prime_field_multiply_table_lookup (p) - 0072
specialize prime_field_multiply_table_lookup (B) - 0073
specialize prime_field_multiply_table_lookup (C) - 0074
specialize prime_field_multiply_table_lookup (a) - 0075
specialize prime_field_multiply_table_lookup (y) - 0076
specialize prime_field_multiply_table_lookup (v) - 0077
apply prime_field_multiply_table_lookup - 0078
exact htable - 0079
exact ha - 0080
exact hsecond_right_right_left - 0081
exact hatright