FP003F

prime_field_negate_table_reflect

Every genuine negate value is stored at its actual unary table index.

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. ∀ B. ∀ C. ∀ a. ∀ v. FpNegPrefix(p,B,C,p)FpAdd(p,a,v,0)BetaAt(B,C,a,v)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p B C a v. (forall pft_index_negateunary_reflect_table. (exists pfa_gap_negateunary_reflect_tableprefix. pfa_gap_negateunary_reflect_tableprefix + S (pft_index_negateunary_reflect_table) = (p)) -> exists pft_value_negateunary_reflect_table. (((((exists ff_h_pft_negateunary_reflect_tablepointentry. ff_h_pft_negateunary_reflect_tablepointentry + S (pft_value_negateunary_reflect_table) = S ((S (pft_index_negateunary_reflect_table)) * C)) /\ exists ff_q_pft_negateunary_reflect_tablepointentry. B = ff_q_pft_negateunary_reflect_tablepointentry * S ((S (pft_index_negateunary_reflect_table)) * C) + (pft_value_negateunary_reflect_table))) /\ ((((exists pfa_gap_negateunary_reflect_tablepointvalueadditionleft. pfa_gap_negateunary_reflect_tablepointvalueadditionleft + S (pft_index_negateunary_reflect_table) = (p)) /\ (((exists pfa_gap_negateunary_reflect_tablepointvalueadditionright. pfa_gap_negateunary_reflect_tablepointvalueadditionright + S (pft_value_negateunary_reflect_table) = (p)) /\ ((((exists pfa_gap_negateunary_reflect_tablepointvalueadditionresultbound. pfa_gap_negateunary_reflect_tablepointvalueadditionresultbound + S (0) = (p)) /\ ((exists pfa_offset_left_negateunary_reflect_tablepointvalueadditionresultcongruence pfa_offset_right_negateunary_reflect_tablepointvalueadditionresultcongruence. ((pft_index_negateunary_reflect_table) + (pft_value_negateunary_reflect_table)) + (p) * pfa_offset_left_negateunary_reflect_tablepointvalueadditionresultcongruence = (0) + (p) * pfa_offset_right_negateunary_reflect_tablepointvalueadditionresultcongruence))))))))))))) -> (((exists pfa_gap_negateunary_reflect_graphadditionleft. pfa_gap_negateunary_reflect_graphadditionleft + S (a) = (p)) /\ (((exists pfa_gap_negateunary_reflect_graphadditionright. pfa_gap_negateunary_reflect_graphadditionright + S (v) = (p)) /\ ((((exists pfa_gap_negateunary_reflect_graphadditionresultbound. pfa_gap_negateunary_reflect_graphadditionresultbound + S (0) = (p)) /\ ((exists pfa_offset_left_negateunary_reflect_graphadditionresultcongruence pfa_offset_right_negateunary_reflect_graphadditionresultcongruence. ((a) + (v)) + (p) * pfa_offset_left_negateunary_reflect_graphadditionresultcongruence = (0) + (p) * pfa_offset_right_negateunary_reflect_graphadditionresultcongruence))))))))) -> (((exists ff_h_pft_negateunary_reflect_at. ff_h_pft_negateunary_reflect_at + S (v) = S ((S (a)) * C)) /\ exists ff_q_pft_negateunary_reflect_at. B = ff_q_pft_negateunary_reflect_at * S ((S (a)) * C) + (v)))

Complete tactic proof in conservative notation

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

35 script commands · 7 reading checkpoints · 3 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 (2)
01Fix variables and assumptionsL1–7

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

  1. L1
    intro p
  2. L2
    intro B
  3. L3
    intro C
  4. L4
    intro a
  5. L5
    intro v
  6. L6
    intro htable
  7. L7
    intro hop
02Separate the logical casesL8–8

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

  1. L8
    cases hop
03Establish hatL9–13

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.

  1. L9
    have hat : ∃ w. BetaAt(B,C,a,w)Definitions: BetaAt(B,C,a,w)Original native command in the exact edition
  2. L10
    specialize beta_at_exists (B)
  3. L11
    specialize beta_at_exists (C)
  4. L12
    specialize beta_at_exists (a)
  5. L13
    apply beta_at_exists
04Separate the logical casesL14–14

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

  1. L14
    cases hat
05Establish houtL15–24

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field negate table lookup.

  1. L15
    have hout : FpAdd(p,a,x,0)Definitions: FpAdd(p,a,x,0)Original native command in the exact edition
  2. L16
    specialize prime_field_negate_table_lookup (p)
  3. L17
    specialize prime_field_negate_table_lookup (B)
  4. L18
    specialize prime_field_negate_table_lookup (C)
  5. L19
    specialize prime_field_negate_table_lookup (a)
  6. L20
    specialize prime_field_negate_table_lookup (x)
  7. L21
    apply prime_field_negate_table_lookup
  8. L22
    exact htable
  9. L23
    exact hop_left
  10. L24
    exact hat_witness
06Establish heqL25–34

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field negate functional.

  1. L25
    have heq : x = v
  2. L26
    specialize prime_field_negate_functional (p)
  3. L27
    specialize prime_field_negate_functional (a)
  4. L28
    specialize prime_field_negate_functional (x)
  5. L29
    specialize prime_field_negate_functional (v)
  6. L30
    apply prime_field_negate_functional
  7. L31
    exact hout
  8. L32
    exact hop
  9. L33
    rewrite heq at hat_witness
  10. L34
    rewrite heq at hat_witness
07Use earlier factsL35–35

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

  1. L35
    exact hat_witness

Library-wide reading audit

Original defined command ledger · 35 lines
  1. 0001intro p
  2. 0002intro B
  3. 0003intro C
  4. 0004intro a
  5. 0005intro v
  6. 0006intro htable
  7. 0007intro hop
  8. 0008cases hop
  9. 0009have hat : ∃ w. BetaAt(B,C,a,w)
  10. 0010specialize beta_at_exists (B)
  11. 0011specialize beta_at_exists (C)
  12. 0012specialize beta_at_exists (a)
  13. 0013apply beta_at_exists
  14. 0014cases hat
  15. 0015have hout : FpAdd(p,a,x,0)
  16. 0016specialize prime_field_negate_table_lookup (p)
  17. 0017specialize prime_field_negate_table_lookup (B)
  18. 0018specialize prime_field_negate_table_lookup (C)
  19. 0019specialize prime_field_negate_table_lookup (a)
  20. 0020specialize prime_field_negate_table_lookup (x)
  21. 0021apply prime_field_negate_table_lookup
  22. 0022exact htable
  23. 0023exact hop_left
  24. 0024exact hat_witness
  25. 0025have heq : x = v
  26. 0026specialize prime_field_negate_functional (p)
  27. 0027specialize prime_field_negate_functional (a)
  28. 0028specialize prime_field_negate_functional (x)
  29. 0029specialize prime_field_negate_functional (v)
  30. 0030apply prime_field_negate_functional
  31. 0031exact hout
  32. 0032exact hop
  33. 0033rewrite heq at hat_witness
  34. 0034rewrite heq at hat_witness
  35. 0035exact hat_witness