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. IdentityMatrixSelector(b,c,p) → FpCardinality(p,b,c)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 63 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 (1)
01Fix variables and assumptionsL1–4
02Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
split
03Use earlier factsL6–6
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L6
exact henum
04Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
05Fix variables and assumptionsL8–11
06Establish heqL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field enumeration value.
- L12
have heq : a = i - L13
specialize prime_field_enumeration_value (p) - L14
specialize prime_field_enumeration_value (b) - L15
specialize prime_field_enumeration_value (c) - L16
specialize prime_field_enumeration_value (i) - L17
specialize prime_field_enumeration_value (a) - L18
apply prime_field_enumeration_value - L19
exact henum - L20
exact hi - L21
exact hat
07Calculate and transport equalitiesL22–22
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L22
rewrite heq
08Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact hi
09Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
10Fix variables and assumptionsL25–31
11Establish hleftL32–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field enumeration value.
- L32
have hleft : a = i - L33
specialize prime_field_enumeration_value (p) - L34
specialize prime_field_enumeration_value (b) - L35
specialize prime_field_enumeration_value (c) - L36
specialize prime_field_enumeration_value (i) - L37
specialize prime_field_enumeration_value (a) - L38
apply prime_field_enumeration_value - L39
exact henum - L40
exact hi - L41
exact hfirst
12Establish hrightL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field enumeration value.
- L42
have hright : a = j - L43
specialize prime_field_enumeration_value (p) - L44
specialize prime_field_enumeration_value (b) - L45
specialize prime_field_enumeration_value (c) - L46
specialize prime_field_enumeration_value (j) - L47
specialize prime_field_enumeration_value (a) - L48
apply prime_field_enumeration_value - L49
exact henum - L50
exact hj - L51
exact hsecond
13Calculate and transport equalitiesL52–53
14Use earlier factsL54–55
15Fix variables and assumptionsL56–57
16Construct an explicit witnessL58–58
Supply the displayed value, then prove that it has the required property.
- L58
exists a
17Separate the logical casesL59–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L59
split
Original defined command ledger · 63 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro henum - 0005
split - 0006
exact henum - 0007
split - 0008
intro i - 0009
intro a - 0010
intro hi - 0011
intro hat - 0012
have heq : a = i - 0013
specialize prime_field_enumeration_value (p) - 0014
specialize prime_field_enumeration_value (b) - 0015
specialize prime_field_enumeration_value (c) - 0016
specialize prime_field_enumeration_value (i) - 0017
specialize prime_field_enumeration_value (a) - 0018
apply prime_field_enumeration_value - 0019
exact henum - 0020
exact hi - 0021
exact hat - 0022
rewrite heq - 0023
exact hi - 0024
split - 0025
intro i - 0026
intro j - 0027
intro a - 0028
intro hi - 0029
intro hj - 0030
intro hfirst - 0031
intro hsecond - 0032
have hleft : a = i - 0033
specialize prime_field_enumeration_value (p) - 0034
specialize prime_field_enumeration_value (b) - 0035
specialize prime_field_enumeration_value (c) - 0036
specialize prime_field_enumeration_value (i) - 0037
specialize prime_field_enumeration_value (a) - 0038
apply prime_field_enumeration_value - 0039
exact henum - 0040
exact hi - 0041
exact hfirst - 0042
have hright : a = j - 0043
specialize prime_field_enumeration_value (p) - 0044
specialize prime_field_enumeration_value (b) - 0045
specialize prime_field_enumeration_value (c) - 0046
specialize prime_field_enumeration_value (j) - 0047
specialize prime_field_enumeration_value (a) - 0048
apply prime_field_enumeration_value - 0049
exact henum - 0050
exact hj - 0051
exact hsecond - 0052
trans a - 0053
symm - 0054
exact hleft - 0055
exact hright - 0056
intro a - 0057
intro ha - 0058
exists a - 0059
split - 0060
exact ha - 0061
specialize henum (a) - 0062
apply henum - 0063
exact ha