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. ∀ a. Prime(p) → Lt(a,p) → ¬a = 0 → ∃ x. FpInv(p,a,x) ∧ (∀ y. FpInv(p,a,y) → y = x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 25 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–5
02Establish hbL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field inverse exists.
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hb
04Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x
05Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
split
06Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
exact hb_witness
07Fix variables and assumptionsL17–18
08Use earlier factsL19–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 25 lines
- 0001
intro p - 0002
intro a - 0003
intro hp - 0004
intro ha - 0005
intro hn - 0006
have hb : ∃ b. FpInv(p,a,b) - 0007
specialize prime_field_inverse_exists (p) - 0008
specialize prime_field_inverse_exists (a) - 0009
apply prime_field_inverse_exists - 0010
exact hp - 0011
exact ha - 0012
exact hn - 0013
cases hb - 0014
exists x - 0015
split - 0016
exact hb_witness - 0017
intro c - 0018
intro hc - 0019
specialize prime_field_inverse_functional (p) - 0020
specialize prime_field_inverse_functional (a) - 0021
specialize prime_field_inverse_functional (c) - 0022
specialize prime_field_inverse_functional (x) - 0023
apply prime_field_inverse_functional - 0024
exact hc - 0025
exact hb_witness