FS005M

four_square_signed_cross_positive

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

Two positive signed coordinate orientations have congruent crossed bilinear products.

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_positive_a ftcn_right_fssq_cross_positive_a. (a) + (k) * ftcn_left_fssq_cross_positive_a = (e) + (k) * ftcn_right_fssq_cross_positive_a) -> (exists ftcn_left_fssq_cross_positive_b ftcn_right_fssq_cross_positive_b. (b) + (k) * ftcn_left_fssq_cross_positive_b = (f) + (k) * ftcn_right_fssq_cross_positive_b) -> (exists ftcn_left_fssq_cross_positive_result ftcn_right_fssq_cross_positive_result. (a * f) + (k) * ftcn_left_fssq_cross_positive_result = (b * e) + (k) * ftcn_right_fssq_cross_positive_result)

Constructive proof overview

Generated structural guide

Two positive signed coordinate orientations have congruent crossed bilinear products.

The unchanged tactic script uses 4 declared prerequisites and contains 37 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

Historical empty-context replay experiment only; that experiment persisted no certificate and granted no release authority. Current checked use follows separately sealed, independently verified proof bundles; there is no Stable promotion.

Proof neighborhood

Direct dependencies

mod_eq_mul_right Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized mod_eq_symm 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

37 script commands · 6 reading checkpoints · 4 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.

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_positive_first ftcn_right_fssq_cross_positive_first. (a * f) + (k) * ftcn_left_fssq_cross_positive_first = (e * f) + (k) * ftcn_right_fssq_cross_positive_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 mod eq mul right.

  1. L15
    have hsecond : exists ftcn_left_fssq_cross_positive_second ftcn_right_fssq_cross_positive_second. (b * e) + (k) * ftcn_left_fssq_cross_positive_second = (f * e) + (k) * ftcn_right_fssq_cross_positive_second
  2. L16
    specialize mod_eq_mul_right k
  3. L17
    specialize mod_eq_mul_right b
  4. L18
    specialize mod_eq_mul_right f
  5. L19
    specialize mod_eq_mul_right e
  6. L20
    apply mod_eq_mul_right
  7. L21
    exact hb
04Establish hswapL22–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 : f * e = e * f
  2. L23
    apply mul_comm
  3. L24
    rewrite hswap at hsecond
05Establish hreverseL25–34

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

  1. L25
    have hreverse : exists ftcn_left_fssq_cross_positive_reverse ftcn_right_fssq_cross_positive_reverse. (e * f) + (k) * ftcn_left_fssq_cross_positive_reverse = (b * e) + (k) * ftcn_right_fssq_cross_positive_reverse
  2. L26
    specialize mod_eq_symm k
  3. L27
    specialize mod_eq_symm (b * e)
  4. L28
    specialize mod_eq_symm (e * f)
  5. L29
    apply mod_eq_symm
  6. L30
    exact hsecond
  7. L31
    specialize mod_eq_trans k
  8. L32
    specialize mod_eq_trans (a * f)
  9. L33
    specialize mod_eq_trans (e * f)
  10. L34
    specialize mod_eq_trans (b * e)
06Use earlier factsL35–37

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

  1. L35
    apply mod_eq_trans
  2. L36
    exact hfirst
  3. L37
    exact hreverse

Library-wide reading audit

Original exact command ledger · 37 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_positive_first ftcn_right_fssq_cross_positive_first. (a * f) + (k) * ftcn_left_fssq_cross_positive_first = (e * f) + (k) * ftcn_right_fssq_cross_positive_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_positive_second ftcn_right_fssq_cross_positive_second. (b * e) + (k) * ftcn_left_fssq_cross_positive_second = (f * e) + (k) * ftcn_right_fssq_cross_positive_second
  16. 0016specialize mod_eq_mul_right k
  17. 0017specialize mod_eq_mul_right b
  18. 0018specialize mod_eq_mul_right f
  19. 0019specialize mod_eq_mul_right e
  20. 0020apply mod_eq_mul_right
  21. 0021exact hb
  22. 0022have hswap : f * e = e * f
  23. 0023apply mul_comm
  24. 0024rewrite hswap at hsecond
  25. 0025have hreverse : exists ftcn_left_fssq_cross_positive_reverse ftcn_right_fssq_cross_positive_reverse. (e * f) + (k) * ftcn_left_fssq_cross_positive_reverse = (b * e) + (k) * ftcn_right_fssq_cross_positive_reverse
  26. 0026specialize mod_eq_symm k
  27. 0027specialize mod_eq_symm (b * e)
  28. 0028specialize mod_eq_symm (e * f)
  29. 0029apply mod_eq_symm
  30. 0030exact hsecond
  31. 0031specialize mod_eq_trans k
  32. 0032specialize mod_eq_trans (a * f)
  33. 0033specialize mod_eq_trans (e * f)
  34. 0034specialize mod_eq_trans (b * e)
  35. 0035apply mod_eq_trans
  36. 0036exact hfirst
  37. 0037exact hreverse