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. ∀ b. ∀ c. ∀ s. ∀ x. ∀ y. ∀ u. ∀ v. FpAdd(p,b,c,s) → FpMul(p,s,a,u) → FpMul(p,b,a,x) → FpMul(p,c,a,y) → FpAdd(p,x,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 77 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–10
02Fix variables and assumptionsL11–14
03Separate the logical casesL15–24
04Separate the logical casesL25–29
05Establish hlL30–30
Establish this local claim before using it. It is not an additional assumption.
- L30
have hl : CanonicalModularResidue(p,(b + c) · a,u)Definitions: CanonicalModularResidue(p,(b + c) · a,u)Original native command in the exact edition
06Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
split
07Use earlier factsL32–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hleft_right_right_left - L33
specialize mod_eq_trans (p) - L34
specialize mod_eq_trans ((b + c) * a) - L35
specialize mod_eq_trans (s * a) - L36
specialize mod_eq_trans (u) - L37
apply mod_eq_trans - L38
specialize mod_eq_mul_right (p) - L39
specialize mod_eq_mul_right (b + c) - L40
specialize mod_eq_mul_right (s) - L41
specialize mod_eq_mul_right (a)
08Use earlier factsL42–44
09Establish hrL45–45
Establish this local claim before using it. It is not an additional assumption.
- L45
have hr : CanonicalModularResidue(p,b · a + c · a,v)Definitions: CanonicalModularResidue(p,b · a + c · a,v)Original native command in the exact edition
10Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
11Use earlier factsL47–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hright_right_right_left - L48
specialize mod_eq_trans (p) - L49
specialize mod_eq_trans (b * a + c * a) - L50
specialize mod_eq_trans (x + y) - L51
specialize mod_eq_trans (v) - L52
apply mod_eq_trans - L53
specialize mod_eq_add (p) - L54
specialize mod_eq_add (b * a) - L55
specialize mod_eq_add (x) - L56
specialize mod_eq_add (c * a)
12Use earlier factsL57–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize mod_eq_add (y) - L58
apply mod_eq_add - L59
exact hfirst_right_right_right - L60
exact hsecond_right_right_right - L61
exact hright_right_right_right - L62
specialize binary_canonical_residue_functional (p) - L63
specialize binary_canonical_residue_functional ((b + c) * a) - L64
specialize binary_canonical_residue_functional (u) - L65
specialize binary_canonical_residue_functional (v) - L66
apply binary_canonical_residue_functional
13Use earlier factsL67–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact hl - L68
specialize prime_field_residue_input_equal (p) - L69
specialize prime_field_residue_input_equal ((b + c) * a) - L70
specialize prime_field_residue_input_equal (b * a + c * a) - L71
specialize prime_field_residue_input_equal (v) - L72
apply prime_field_residue_input_equal - L73
specialize add_mul (b) - L74
specialize add_mul (c) - L75
specialize add_mul (a) - L76
apply add_mul
14Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hr
Original defined command ledger · 77 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro s - 0006
intro x - 0007
intro y - 0008
intro u - 0009
intro v - 0010
intro hsum - 0011
intro hleft - 0012
intro hfirst - 0013
intro hsecond - 0014
intro hright - 0015
cases hsum - 0016
cases hsum_right - 0017
cases hsum_right_right - 0018
cases hleft - 0019
cases hleft_right - 0020
cases hleft_right_right - 0021
cases hfirst - 0022
cases hfirst_right - 0023
cases hfirst_right_right - 0024
cases hsecond - 0025
cases hsecond_right - 0026
cases hsecond_right_right - 0027
cases hright - 0028
cases hright_right - 0029
cases hright_right_right - 0030
have hl : CanonicalModularResidue(p,(b + c) · a,u) - 0031
split - 0032
exact hleft_right_right_left - 0033
specialize mod_eq_trans (p) - 0034
specialize mod_eq_trans ((b + c) * a) - 0035
specialize mod_eq_trans (s * a) - 0036
specialize mod_eq_trans (u) - 0037
apply mod_eq_trans - 0038
specialize mod_eq_mul_right (p) - 0039
specialize mod_eq_mul_right (b + c) - 0040
specialize mod_eq_mul_right (s) - 0041
specialize mod_eq_mul_right (a) - 0042
apply mod_eq_mul_right - 0043
exact hsum_right_right_right - 0044
exact hleft_right_right_right - 0045
have hr : CanonicalModularResidue(p,b · a + c · a,v) - 0046
split - 0047
exact hright_right_right_left - 0048
specialize mod_eq_trans (p) - 0049
specialize mod_eq_trans (b * a + c * a) - 0050
specialize mod_eq_trans (x + y) - 0051
specialize mod_eq_trans (v) - 0052
apply mod_eq_trans - 0053
specialize mod_eq_add (p) - 0054
specialize mod_eq_add (b * a) - 0055
specialize mod_eq_add (x) - 0056
specialize mod_eq_add (c * a) - 0057
specialize mod_eq_add (y) - 0058
apply mod_eq_add - 0059
exact hfirst_right_right_right - 0060
exact hsecond_right_right_right - 0061
exact hright_right_right_right - 0062
specialize binary_canonical_residue_functional (p) - 0063
specialize binary_canonical_residue_functional ((b + c) * a) - 0064
specialize binary_canonical_residue_functional (u) - 0065
specialize binary_canonical_residue_functional (v) - 0066
apply binary_canonical_residue_functional - 0067
exact hl - 0068
specialize prime_field_residue_input_equal (p) - 0069
specialize prime_field_residue_input_equal ((b + c) * a) - 0070
specialize prime_field_residue_input_equal (b * a + c * a) - 0071
specialize prime_field_residue_input_equal (v) - 0072
apply prime_field_residue_input_equal - 0073
specialize add_mul (b) - 0074
specialize add_mul (c) - 0075
specialize add_mul (a) - 0076
apply add_mul - 0077
exact hr