Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Exact expanded first-order arithmetic statement
forall p B C a b v. (forall pft_index_multiplycomm_table. (exists pfa_gap_multiplycomm_tableprefix. pfa_gap_multiplycomm_tableprefix + S (pft_index_multiplycomm_table) = ((p) * (p))) -> exists pft_value_multiplycomm_table. (((((exists ff_h_pft_multiplycomm_tablepointentry. ff_h_pft_multiplycomm_tablepointentry + S (pft_value_multiplycomm_table) = S ((S (pft_index_multiplycomm_table)) * C)) /\ exists ff_q_pft_multiplycomm_tablepointentry. B = ff_q_pft_multiplycomm_tablepointentry * S ((S (pft_index_multiplycomm_table)) * C) + (pft_value_multiplycomm_table))) /\ ((exists pft_row_multiplycomm_tablepointvalue pft_column_multiplycomm_tablepointvalue. (((pft_index_multiplycomm_table) = pft_row_multiplycomm_tablepointvalue * (p) + pft_column_multiplycomm_tablepointvalue) /\ ((((exists pfa_gap_multiplycomm_tablepointvalueoperationleft. pfa_gap_multiplycomm_tablepointvalueoperationleft + S (pft_row_multiplycomm_tablepointvalue) = (p)) /\ (((exists pfa_gap_multiplycomm_tablepointvalueoperationright. pfa_gap_multiplycomm_tablepointvalueoperationright + S (pft_column_multiplycomm_tablepointvalue) = (p)) /\ ((((exists pfa_gap_multiplycomm_tablepointvalueoperationresultbound. pfa_gap_multiplycomm_tablepointvalueoperationresultbound + S (pft_value_multiplycomm_table) = (p)) /\ ((exists pfa_offset_left_multiplycomm_tablepointvalueoperationresultcongruence pfa_offset_right_multiplycomm_tablepointvalueoperationresultcongruence. ((pft_row_multiplycomm_tablepointvalue) * (pft_column_multiplycomm_tablepointvalue)) + (p) * pfa_offset_left_multiplycomm_tablepointvalueoperationresultcongruence = (pft_value_multiplycomm_table) + (p) * pfa_offset_right_multiplycomm_tablepointvalueoperationresultcongruence)))))))))))))))) -> (exists pfa_gap_multiplycomm_a. pfa_gap_multiplycomm_a + S (a) = (p)) -> (exists pfa_gap_multiplycomm_b. pfa_gap_multiplycomm_b + S (b) = (p)) -> (((exists ff_h_pft_multiplycomm_source. ff_h_pft_multiplycomm_source + S (v) = S ((S (a*p+b)) * C)) /\ exists ff_q_pft_multiplycomm_source. B = ff_q_pft_multiplycomm_source * S ((S (a*p+b)) * C) + (v))) -> (((exists ff_h_pft_multiplycomm_target. ff_h_pft_multiplycomm_target + S (v) = S ((S (b*p+a)) * C)) /\ exists ff_q_pft_multiplycomm_target. B = ff_q_pft_multiplycomm_target * S ((S (b*p+a)) * C) + (v)))Constructive proof overview
Generated structural guide
The actual finite multiply table is symmetric under exchanging row and column.
The unchanged tactic script uses 3 declared prerequisites and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
FP003D prime_field_multiply_table_reflect FP000F prime_field_multiply_commutative FP003C prime_field_multiply_table_lookupDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply 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_multiply_table_reflect (p) - L12
specialize prime_field_multiply_table_reflect (B) - L13
specialize prime_field_multiply_table_reflect (C) - L14
specialize prime_field_multiply_table_reflect (b) - L15
specialize prime_field_multiply_table_reflect (a) - L16
specialize prime_field_multiply_table_reflect (v) - L17
apply prime_field_multiply_table_reflect - L18
exact htable - L19
specialize prime_field_multiply_commutative (p) - L20
specialize prime_field_multiply_commutative (a)
03Use earlier factsL21–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
specialize prime_field_multiply_commutative (b) - L22
specialize prime_field_multiply_commutative (v) - L23
apply prime_field_multiply_commutative - L24
specialize prime_field_multiply_table_lookup (p) - L25
specialize prime_field_multiply_table_lookup (B) - L26
specialize prime_field_multiply_table_lookup (C) - L27
specialize prime_field_multiply_table_lookup (a) - L28
specialize prime_field_multiply_table_lookup (b) - L29
specialize prime_field_multiply_table_lookup (v) - L30
apply prime_field_multiply_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_multiply_table_reflect (p) - 0012
specialize prime_field_multiply_table_reflect (B) - 0013
specialize prime_field_multiply_table_reflect (C) - 0014
specialize prime_field_multiply_table_reflect (b) - 0015
specialize prime_field_multiply_table_reflect (a) - 0016
specialize prime_field_multiply_table_reflect (v) - 0017
apply prime_field_multiply_table_reflect - 0018
exact htable - 0019
specialize prime_field_multiply_commutative (p) - 0020
specialize prime_field_multiply_commutative (a) - 0021
specialize prime_field_multiply_commutative (b) - 0022
specialize prime_field_multiply_commutative (v) - 0023
apply prime_field_multiply_commutative - 0024
specialize prime_field_multiply_table_lookup (p) - 0025
specialize prime_field_multiply_table_lookup (B) - 0026
specialize prime_field_multiply_table_lookup (C) - 0027
specialize prime_field_multiply_table_lookup (a) - 0028
specialize prime_field_multiply_table_lookup (b) - 0029
specialize prime_field_multiply_table_lookup (v) - 0030
apply prime_field_multiply_table_lookup - 0031
exact htable - 0032
exact ha - 0033
exact hb - 0034
exact hat