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. ∃ b. ∃ c. 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 13 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–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro p
02Establish heL2–4
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix lattice identity selector exists.
- L2
have he : ∃ b. ∃ c. IdentityMatrixSelector(b,c,p)Definitions: IdentityMatrixSelector(b,c,p)Original native command in the exact edition - L3
specialize matrix_lattice_identity_selector_exists (p) - L4
apply matrix_lattice_identity_selector_exists
03Separate the logical casesL5–6
04Construct an explicit witnessL7–8
05Use earlier factsL9–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 13 lines
- 0001
intro p - 0002
have he : ∃ b. ∃ c. IdentityMatrixSelector(b,c,p) - 0003
specialize matrix_lattice_identity_selector_exists (p) - 0004
apply matrix_lattice_identity_selector_exists - 0005
cases he - 0006
cases he_witness - 0007
exists x - 0008
exists x1 - 0009
specialize prime_field_enumeration_is_bijection (p) - 0010
specialize prime_field_enumeration_is_bijection (x) - 0011
specialize prime_field_enumeration_is_bijection (x1) - 0012
apply prime_field_enumeration_is_bijection - 0013
exact he_witness_witness