FP000F

prime_field_multiply_commutative

Commutativity of actual canonical multiply, not an assumed table axiom.

Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable

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. ∀ a. ∀ b. ∀ c. FpMul(p,a,b,c)FpMul(p,b,a,c)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p a b c. (((exists pfa_gap_multiplycomm_sourceleft. pfa_gap_multiplycomm_sourceleft + S (a) = (p)) /\ (((exists pfa_gap_multiplycomm_sourceright. pfa_gap_multiplycomm_sourceright + S (b) = (p)) /\ ((((exists pfa_gap_multiplycomm_sourceresultbound. pfa_gap_multiplycomm_sourceresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplycomm_sourceresultcongruence pfa_offset_right_multiplycomm_sourceresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_multiplycomm_sourceresultcongruence = (c) + (p) * pfa_offset_right_multiplycomm_sourceresultcongruence))))))))) -> (((exists pfa_gap_multiplycomm_targetleft. pfa_gap_multiplycomm_targetleft + S (b) = (p)) /\ (((exists pfa_gap_multiplycomm_targetright. pfa_gap_multiplycomm_targetright + S (a) = (p)) /\ ((((exists pfa_gap_multiplycomm_targetresultbound. pfa_gap_multiplycomm_targetresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplycomm_targetresultcongruence pfa_offset_right_multiplycomm_targetresultcongruence. ((b) * (a)) + (p) * pfa_offset_left_multiplycomm_targetresultcongruence = (c) + (p) * pfa_offset_right_multiplycomm_targetresultcongruence)))))))))

Complete tactic proof in conservative notation

All 20 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

20 script commands · 5 reading checkpoints · 0 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro c
  5. L5
    intro h
02Separate the logical casesL6–8

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L6
    cases h
  2. L7
    cases h_right
  3. L8
    split
03Use earlier factsL9–9

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L9
    exact h_right_left
04Separate the logical casesL10–10

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L10
    split
05Use earlier factsL11–20

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L11
    exact h_left
  2. L12
    specialize prime_field_residue_input_equal (p)
  3. L13
    specialize prime_field_residue_input_equal (b * a)
  4. L14
    specialize prime_field_residue_input_equal (a * b)
  5. L15
    specialize prime_field_residue_input_equal (c)
  6. L16
    apply prime_field_residue_input_equal
  7. L17
    specialize mul_comm (b)
  8. L18
    specialize mul_comm (a)
  9. L19
    apply mul_comm
  10. L20
    exact h_right_right

Library-wide reading audit

Original defined command ledger · 20 lines
  1. 0001intro p
  2. 0002intro a
  3. 0003intro b
  4. 0004intro c
  5. 0005intro h
  6. 0006cases h
  7. 0007cases h_right
  8. 0008split
  9. 0009exact h_right_left
  10. 0010split
  11. 0011exact h_left
  12. 0012specialize prime_field_residue_input_equal (p)
  13. 0013specialize prime_field_residue_input_equal (b * a)
  14. 0014specialize prime_field_residue_input_equal (a * b)
  15. 0015specialize prime_field_residue_input_equal (c)
  16. 0016apply prime_field_residue_input_equal
  17. 0017specialize mul_comm (b)
  18. 0018specialize mul_comm (a)
  19. 0019apply mul_comm
  20. 0020exact h_right_right