FS005O

four_square_signed_cross_mixed_zero

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Opposite signed coordinate orientations make the sum of their crossed bilinear products vanish modulo the multiplier.

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 original first-admission records.

Exact expanded first-order arithmetic statement

forall k a b e f. (exists ftcn_left_fssq_cross_mixed_a ftcn_right_fssq_cross_mixed_a. (a) + (k) * ftcn_left_fssq_cross_mixed_a = (e) + (k) * ftcn_right_fssq_cross_mixed_a) -> (exists ftcn_left_fssq_cross_mixed_b ftcn_right_fssq_cross_mixed_b. (b + f) + (k) * ftcn_left_fssq_cross_mixed_b = (0) + (k) * ftcn_right_fssq_cross_mixed_b) -> (exists ftcn_left_fssq_cross_mixed_result ftcn_right_fssq_cross_mixed_result. (a * f + b * e) + (k) * ftcn_left_fssq_cross_mixed_result = (0) + (k) * ftcn_right_fssq_cross_mixed_result)

Constructive proof overview

Generated structural guide

Opposite signed coordinate orientations make the sum of their crossed bilinear products vanish modulo the multiplier.

The unchanged tactic script uses 7 declared prerequisites and contains 45 exact native proof lines.

dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged

Proof neighborhood

Direct dependencies

mod_eq_mul_right Stable theorem; checked-use authorized FS005K four_square_signed_negative_scale_zero mul_comm Stable theorem; checked-use authorized add_comm Stable theorem; checked-use authorized mod_eq_refl Stable theorem; checked-use authorized mod_eq_add Stable theorem; checked-use authorized mod_eq_trans Stable theorem; checked-use authorized

Direct 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

45 script commands · 7 reading checkpoints · 5 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.

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

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

  1. L1
    intro k
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro e
  5. L5
    intro f
  6. L6
    intro ha
  7. L7
    intro hb
02Establish hfirstL8–14

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq mul right.

  1. L8
    have hfirst : exists ftcn_left_fssq_cross_mixed_first ftcn_right_fssq_cross_mixed_first. (a * f) + (k) * ftcn_left_fssq_cross_mixed_first = (e * f) + (k) * ftcn_right_fssq_cross_mixed_first
  2. L9
    specialize mod_eq_mul_right k
  3. L10
    specialize mod_eq_mul_right a
  4. L11
    specialize mod_eq_mul_right e
  5. L12
    specialize mod_eq_mul_right f
  6. L13
    apply mod_eq_mul_right
  7. L14
    exact ha
03Establish hsecondL15–21

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square signed negative scale zero.

  1. L15
    have hsecond : exists ftcn_left_fssq_cross_mixed_second ftcn_right_fssq_cross_mixed_second. (b * e + f * e) + (k) * ftcn_left_fssq_cross_mixed_second = (0) + (k) * ftcn_right_fssq_cross_mixed_second
  2. L16
    specialize four_square_signed_negative_scale_zero k
  3. L17
    specialize four_square_signed_negative_scale_zero b
  4. L18
    specialize four_square_signed_negative_scale_zero f
  5. L19
    specialize four_square_signed_negative_scale_zero e
  6. L20
    apply four_square_signed_negative_scale_zero
  7. L21
    exact hb
04Establish hswap_factorL22–24

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.

  1. L22
    have hswap_factor : f * e = e * f
  2. L23
    apply mul_comm
  3. L24
    rewrite hswap_factor at hsecond
05Establish hswap_sumL25–27

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.

  1. L25
    have hswap_sum : b * e + e * f = e * f + b * e
  2. L26
    apply add_comm
  3. L27
    rewrite hswap_sum at hsecond
06Establish hleftL28–37

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq add.

  1. L28
    have hleft : exists ftcn_left_fssq_cross_mixed_sum ftcn_right_fssq_cross_mixed_sum. (a * f + b * e) + (k) * ftcn_left_fssq_cross_mixed_sum = (e * f + b * e) + (k) * ftcn_right_fssq_cross_mixed_sum
  2. L29
    specialize mod_eq_add k
  3. L30
    specialize mod_eq_add (a * f)
  4. L31
    specialize mod_eq_add (e * f)
  5. L32
    specialize mod_eq_add (b * e)
  6. L33
    specialize mod_eq_add (b * e)
  7. L34
    apply mod_eq_add
  8. L35
    exact hfirst
  9. L36
    specialize mod_eq_refl k
  10. L37
    specialize mod_eq_refl (b * e)
07Use earlier factsL38–45

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

  1. L38
    exact mod_eq_refl
  2. L39
    specialize mod_eq_trans k
  3. L40
    specialize mod_eq_trans (a * f + b * e)
  4. L41
    specialize mod_eq_trans (e * f + b * e)
  5. L42
    specialize mod_eq_trans 0
  6. L43
    apply mod_eq_trans
  7. L44
    exact hleft
  8. L45
    exact hsecond

Library-wide reading audit

Original exact command ledger · 45 lines
  1. 0001intro k
  2. 0002intro a
  3. 0003intro b
  4. 0004intro e
  5. 0005intro f
  6. 0006intro ha
  7. 0007intro hb
  8. 0008have hfirst : exists ftcn_left_fssq_cross_mixed_first ftcn_right_fssq_cross_mixed_first. (a * f) + (k) * ftcn_left_fssq_cross_mixed_first = (e * f) + (k) * ftcn_right_fssq_cross_mixed_first
  9. 0009specialize mod_eq_mul_right k
  10. 0010specialize mod_eq_mul_right a
  11. 0011specialize mod_eq_mul_right e
  12. 0012specialize mod_eq_mul_right f
  13. 0013apply mod_eq_mul_right
  14. 0014exact ha
  15. 0015have hsecond : exists ftcn_left_fssq_cross_mixed_second ftcn_right_fssq_cross_mixed_second. (b * e + f * e) + (k) * ftcn_left_fssq_cross_mixed_second = (0) + (k) * ftcn_right_fssq_cross_mixed_second
  16. 0016specialize four_square_signed_negative_scale_zero k
  17. 0017specialize four_square_signed_negative_scale_zero b
  18. 0018specialize four_square_signed_negative_scale_zero f
  19. 0019specialize four_square_signed_negative_scale_zero e
  20. 0020apply four_square_signed_negative_scale_zero
  21. 0021exact hb
  22. 0022have hswap_factor : f * e = e * f
  23. 0023apply mul_comm
  24. 0024rewrite hswap_factor at hsecond
  25. 0025have hswap_sum : b * e + e * f = e * f + b * e
  26. 0026apply add_comm
  27. 0027rewrite hswap_sum at hsecond
  28. 0028have hleft : exists ftcn_left_fssq_cross_mixed_sum ftcn_right_fssq_cross_mixed_sum. (a * f + b * e) + (k) * ftcn_left_fssq_cross_mixed_sum = (e * f + b * e) + (k) * ftcn_right_fssq_cross_mixed_sum
  29. 0029specialize mod_eq_add k
  30. 0030specialize mod_eq_add (a * f)
  31. 0031specialize mod_eq_add (e * f)
  32. 0032specialize mod_eq_add (b * e)
  33. 0033specialize mod_eq_add (b * e)
  34. 0034apply mod_eq_add
  35. 0035exact hfirst
  36. 0036specialize mod_eq_refl k
  37. 0037specialize mod_eq_refl (b * e)
  38. 0038exact mod_eq_refl
  39. 0039specialize mod_eq_trans k
  40. 0040specialize mod_eq_trans (a * f + b * e)
  41. 0041specialize mod_eq_trans (e * f + b * e)
  42. 0042specialize mod_eq_trans 0
  43. 0043apply mod_eq_trans
  44. 0044exact hleft
  45. 0045exact hsecond