FS005O · theorem body

four_square_signed_cross_mixed_zero

Alpha v34 checked-use · independently kernel and Lean verified; 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.

Statement with defined notation

∀ k. ∀ a. ∀ b. ∀ e. ∀ f. ModEq(k,a,e)ModEq(k,b + f,0)ModEq(k,a · f + b · e,0)

Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.

Definitions used by this theorem

In the theorem statement

In local proof propositions

Exact expanded first-order 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)

Proof neighborhood

Direct theorem prerequisites

mod_eq_mul_right · Stable closed FS005K four_square_signed_negative_scale_zero mul_comm · Stable closed add_comm · Stable closed mod_eq_refl · Stable closed mod_eq_add · Stable closed mod_eq_trans · Stable closed

Direct theorem dependents

Definition-aware tactic body

Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.

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.

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–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 : ModEq(k,a · f,e · f)Definitions: ModEq(k,a · f,e · f)Original native command in the exact edition
  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 : ModEq(k,b · e + f · e,0)Definitions: ModEq(k,b · e + f · e,0)Original native command in the exact edition
  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 : ModEq(k,a · f + b · e,e · f + b · e)Definitions: ModEq(k,a · f + b · e,e · f + b · e)Original native command in the exact edition
  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 defined 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 : ModEq(k,a · f,e · f)
    Exact native replay linehave 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 : ModEq(k,b · e + f · e,0)
    Exact native replay linehave 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 : ModEq(k,a · f + b · e,e · f + b · e)
    Exact native replay linehave 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