Exact expanded first-order arithmetic statement
forall p B C a b v. (forall pft_index_addcomm_table. (exists pfa_gap_addcomm_tableprefix. pfa_gap_addcomm_tableprefix + S (pft_index_addcomm_table) = ((p) * (p))) -> exists pft_value_addcomm_table. (((((exists ff_h_pft_addcomm_tablepointentry. ff_h_pft_addcomm_tablepointentry + S (pft_value_addcomm_table) = S ((S (pft_index_addcomm_table)) * C)) /\ exists ff_q_pft_addcomm_tablepointentry. B = ff_q_pft_addcomm_tablepointentry * S ((S (pft_index_addcomm_table)) * C) + (pft_value_addcomm_table))) /\ ((exists pft_row_addcomm_tablepointvalue pft_column_addcomm_tablepointvalue. (((pft_index_addcomm_table) = pft_row_addcomm_tablepointvalue * (p) + pft_column_addcomm_tablepointvalue) /\ ((((exists pfa_gap_addcomm_tablepointvalueoperationleft. pfa_gap_addcomm_tablepointvalueoperationleft + S (pft_row_addcomm_tablepointvalue) = (p)) /\ (((exists pfa_gap_addcomm_tablepointvalueoperationright. pfa_gap_addcomm_tablepointvalueoperationright + S (pft_column_addcomm_tablepointvalue) = (p)) /\ ((((exists pfa_gap_addcomm_tablepointvalueoperationresultbound. pfa_gap_addcomm_tablepointvalueoperationresultbound + S (pft_value_addcomm_table) = (p)) /\ ((exists pfa_offset_left_addcomm_tablepointvalueoperationresultcongruence pfa_offset_right_addcomm_tablepointvalueoperationresultcongruence. ((pft_row_addcomm_tablepointvalue) + (pft_column_addcomm_tablepointvalue)) + (p) * pfa_offset_left_addcomm_tablepointvalueoperationresultcongruence = (pft_value_addcomm_table) + (p) * pfa_offset_right_addcomm_tablepointvalueoperationresultcongruence)))))))))))))))) -> (exists pfa_gap_addcomm_a. pfa_gap_addcomm_a + S (a) = (p)) -> (exists pfa_gap_addcomm_b. pfa_gap_addcomm_b + S (b) = (p)) -> (((exists ff_h_pft_addcomm_source. ff_h_pft_addcomm_source + S (v) = S ((S (a*p+b)) * C)) /\ exists ff_q_pft_addcomm_source. B = ff_q_pft_addcomm_source * S ((S (a*p+b)) * C) + (v))) -> (((exists ff_h_pft_addcomm_target. ff_h_pft_addcomm_target + S (v) = S ((S (b*p+a)) * C)) /\ exists ff_q_pft_addcomm_target. B = ff_q_pft_addcomm_target * S ((S (b*p+a)) * C) + (v)))Constructive proof overview
Generated structural guide
The actual finite add table is symmetric under exchanging row and column.
The unchanged tactic script uses 3 declared prerequisites and contains 34 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
FP003A prime_field_add_table_reflect FP000B prime_field_add_commutative FP0039 prime_field_add_table_lookupDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or Stable membership.
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 (3)
01Fix variables and assumptionsL1–10
02Use earlier factsL11–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
specialize prime_field_add_table_reflect (p) - L12
specialize prime_field_add_table_reflect (B) - L13
specialize prime_field_add_table_reflect (C) - L14
specialize prime_field_add_table_reflect (b) - L15
specialize prime_field_add_table_reflect (a) - L16
specialize prime_field_add_table_reflect (v) - L17
apply prime_field_add_table_reflect - L18
exact htable - L19
specialize prime_field_add_commutative (p) - L20
specialize prime_field_add_commutative (a)
03Use earlier factsL21–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
specialize prime_field_add_commutative (b) - L22
specialize prime_field_add_commutative (v) - L23
apply prime_field_add_commutative - L24
specialize prime_field_add_table_lookup (p) - L25
specialize prime_field_add_table_lookup (B) - L26
specialize prime_field_add_table_lookup (C) - L27
specialize prime_field_add_table_lookup (a) - L28
specialize prime_field_add_table_lookup (b) - L29
specialize prime_field_add_table_lookup (v) - L30
apply prime_field_add_table_lookup
Original exact command ledger · 34 lines
- 0001
intro p - 0002
intro B - 0003
intro C - 0004
intro a - 0005
intro b - 0006
intro v - 0007
intro htable - 0008
intro ha - 0009
intro hb - 0010
intro hat - 0011
specialize prime_field_add_table_reflect (p) - 0012
specialize prime_field_add_table_reflect (B) - 0013
specialize prime_field_add_table_reflect (C) - 0014
specialize prime_field_add_table_reflect (b) - 0015
specialize prime_field_add_table_reflect (a) - 0016
specialize prime_field_add_table_reflect (v) - 0017
apply prime_field_add_table_reflect - 0018
exact htable - 0019
specialize prime_field_add_commutative (p) - 0020
specialize prime_field_add_commutative (a) - 0021
specialize prime_field_add_commutative (b) - 0022
specialize prime_field_add_commutative (v) - 0023
apply prime_field_add_commutative - 0024
specialize prime_field_add_table_lookup (p) - 0025
specialize prime_field_add_table_lookup (B) - 0026
specialize prime_field_add_table_lookup (C) - 0027
specialize prime_field_add_table_lookup (a) - 0028
specialize prime_field_add_table_lookup (b) - 0029
specialize prime_field_add_table_lookup (v) - 0030
apply prime_field_add_table_lookup - 0031
exact htable - 0032
exact ha - 0033
exact hb - 0034
exact hat