Users' Mathboxes Mathbox for Jiamin Zhao < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  crosspval Structured version   Visualization version   GIF version

Theorem crosspval 50954
Description: Value of the cross product of two 3-dimensional real coordinate vectors as a function on (1...3). (Contributed by Jiamin Zhao, 31-Jul-2026.)
Assertion
Ref Expression
crosspval ((𝐴 ∈ (ℝ ↑m (1...3)) ∧ 𝐵 ∈ (ℝ ↑m (1...3))) → (𝐴⊠𝐵) = (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))))
Distinct variable groups:   𝐴,𝑘   𝐵,𝑘

Proof of Theorem crosspval
Dummy variables 𝑢 𝑣 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fveq1 6884 . . . . . 6 (𝑢 = 𝐴 → (𝑢‘2) = (𝐴‘2))
21oveq1d 7435 . . . . 5 (𝑢 = 𝐴 → ((𝑢‘2) · (𝑣‘3)) = ((𝐴‘2) · (𝑣‘3)))
3 fveq1 6884 . . . . . 6 (𝑢 = 𝐴 → (𝑢‘3) = (𝐴‘3))
43oveq1d 7435 . . . . 5 (𝑢 = 𝐴 → ((𝑢‘3) · (𝑣‘2)) = ((𝐴‘3) · (𝑣‘2)))
52, 4oveq12d 7438 . . . 4 (𝑢 = 𝐴 → (((𝑢‘2) · (𝑣‘3)) − ((𝑢‘3) · (𝑣‘2))) = (((𝐴‘2) · (𝑣‘3)) − ((𝐴‘3) · (𝑣‘2))))
63oveq1d 7435 . . . . . 6 (𝑢 = 𝐴 → ((𝑢‘3) · (𝑣‘1)) = ((𝐴‘3) · (𝑣‘1)))
7 fveq1 6884 . . . . . . 7 (𝑢 = 𝐴 → (𝑢‘1) = (𝐴‘1))
87oveq1d 7435 . . . . . 6 (𝑢 = 𝐴 → ((𝑢‘1) · (𝑣‘3)) = ((𝐴‘1) · (𝑣‘3)))
96, 8oveq12d 7438 . . . . 5 (𝑢 = 𝐴 → (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))) = (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))))
107oveq1d 7435 . . . . . 6 (𝑢 = 𝐴 → ((𝑢‘1) · (𝑣‘2)) = ((𝐴‘1) · (𝑣‘2)))
111oveq1d 7435 . . . . . 6 (𝑢 = 𝐴 → ((𝑢‘2) · (𝑣‘1)) = ((𝐴‘2) · (𝑣‘1)))
1210, 11oveq12d 7438 . . . . 5 (𝑢 = 𝐴 → (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1))) = (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1))))
139, 12ifeq12d 4503 . . . 4 (𝑢 = 𝐴 → if(𝑘 = 2, (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))), (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1)))) = if(𝑘 = 2, (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))), (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1)))))
145, 13ifeq12d 4503 . . 3 (𝑢 = 𝐴 → if(𝑘 = 1, (((𝑢‘2) · (𝑣‘3)) − ((𝑢‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))), (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1))))) = if(𝑘 = 1, (((𝐴‘2) · (𝑣‘3)) − ((𝐴‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))), (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1))))))
1514mpteq2dv 5198 . 2 (𝑢 = 𝐴 → (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝑢‘2) · (𝑣‘3)) − ((𝑢‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))), (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1)))))) = (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝑣‘3)) − ((𝐴‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))), (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1)))))))
16 fveq1 6884 . . . . . 6 (𝑣 = 𝐵 → (𝑣‘3) = (𝐵‘3))
1716oveq2d 7436 . . . . 5 (𝑣 = 𝐵 → ((𝐴‘2) · (𝑣‘3)) = ((𝐴‘2) · (𝐵‘3)))
18 fveq1 6884 . . . . . 6 (𝑣 = 𝐵 → (𝑣‘2) = (𝐵‘2))
1918oveq2d 7436 . . . . 5 (𝑣 = 𝐵 → ((𝐴‘3) · (𝑣‘2)) = ((𝐴‘3) · (𝐵‘2)))
2017, 19oveq12d 7438 . . . 4 (𝑣 = 𝐵 → (((𝐴‘2) · (𝑣‘3)) − ((𝐴‘3) · (𝑣‘2))) = (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))))
21 fveq1 6884 . . . . . . 7 (𝑣 = 𝐵 → (𝑣‘1) = (𝐵‘1))
2221oveq2d 7436 . . . . . 6 (𝑣 = 𝐵 → ((𝐴‘3) · (𝑣‘1)) = ((𝐴‘3) · (𝐵‘1)))
2316oveq2d 7436 . . . . . 6 (𝑣 = 𝐵 → ((𝐴‘1) · (𝑣‘3)) = ((𝐴‘1) · (𝐵‘3)))
2422, 23oveq12d 7438 . . . . 5 (𝑣 = 𝐵 → (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))) = (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))))
2518oveq2d 7436 . . . . . 6 (𝑣 = 𝐵 → ((𝐴‘1) · (𝑣‘2)) = ((𝐴‘1) · (𝐵‘2)))
2621oveq2d 7436 . . . . . 6 (𝑣 = 𝐵 → ((𝐴‘2) · (𝑣‘1)) = ((𝐴‘2) · (𝐵‘1)))
2725, 26oveq12d 7438 . . . . 5 (𝑣 = 𝐵 → (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1))) = (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))))
2824, 27ifeq12d 4503 . . . 4 (𝑣 = 𝐵 → if(𝑘 = 2, (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))), (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1)))) = if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))
2920, 28ifeq12d 4503 . . 3 (𝑣 = 𝐵 → if(𝑘 = 1, (((𝐴‘2) · (𝑣‘3)) − ((𝐴‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))), (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1))))) = if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))))))
3029mpteq2dv 5198 . 2 (𝑣 = 𝐵 → (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝑣‘3)) − ((𝐴‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝑣‘1)) − ((𝐴‘1) · (𝑣‘3))), (((𝐴‘1) · (𝑣‘2)) − ((𝐴‘2) · (𝑣‘1)))))) = (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))))
31 df-crossp 50951 . 2 ⊠ = (𝑢 ∈ (ℝ ↑m (1...3)), 𝑣 ∈ (ℝ ↑m (1...3)) ↦ (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝑢‘2) · (𝑣‘3)) − ((𝑢‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))), (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1)))))))
32 ovex 7453 . . 3 (1...3) ∈ V
3332mptex 7229 . 2 (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))) ∈ V
3415, 30, 31, 33ovmpo 7580 1 ((𝐴 ∈ (ℝ ↑m (1...3)) ∧ 𝐵 ∈ (ℝ ↑m (1...3))) → (𝐴⊠𝐵) = (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1569   ∈ wcel 2144  ifcif 4481   ↦ cmpt 5185  ‘cfv 6538  (class class class)co 7420   ↑m cmap 8847  ℝcr 11199  1c1 11201   · cmul 11205   − cmin 11541  2c2 12397  3c3 12398  ...cfz 13639  ⊠ccrossp 50950
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pr 5390
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-ov 7423  df-oprab 7424  df-mpo 7425  df-crossp 50951
This theorem is used by:  crosspcld  50959  crosspv1d  50960  crosspv2d  50961  crosspv3d  50962
  Copyright terms: Public domain W3C validator