Metamath Proof Explorer


Theorem crosspval

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)

Ref Expression
Assertion crosspval Could not format assertion : No typesetting found for |- ( ( A e. ( RR ^m ( 1 ... 3 ) ) /\ B e. ( RR ^m ( 1 ... 3 ) ) ) -> ( A crossp B ) = ( k e. ( 1 ... 3 ) |-> if ( k = 1 , ( ( ( A ` 2 ) x. ( B ` 3 ) ) - ( ( A ` 3 ) x. ( B ` 2 ) ) ) , if ( k = 2 , ( ( ( A ` 3 ) x. ( B ` 1 ) ) - ( ( A ` 1 ) x. ( B ` 3 ) ) ) , ( ( ( A ` 1 ) x. ( B ` 2 ) ) - ( ( A ` 2 ) x. ( B ` 1 ) ) ) ) ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 fveq1 u = A u 2 = A 2
2 1 oveq1d u = A u 2 v 3 = A 2 v 3
3 fveq1 u = A u 3 = A 3
4 3 oveq1d u = A u 3 v 2 = A 3 v 2
5 2 4 oveq12d u = A u 2 v 3 u 3 v 2 = A 2 v 3 A 3 v 2
6 3 oveq1d u = A u 3 v 1 = A 3 v 1
7 fveq1 u = A u 1 = A 1
8 7 oveq1d u = A u 1 v 3 = A 1 v 3
9 6 8 oveq12d u = A u 3 v 1 u 1 v 3 = A 3 v 1 A 1 v 3
10 7 oveq1d u = A u 1 v 2 = A 1 v 2
11 1 oveq1d u = A u 2 v 1 = A 2 v 1
12 10 11 oveq12d u = A u 1 v 2 u 2 v 1 = A 1 v 2 A 2 v 1
13 9 12 ifeq12d u = A if k = 2 u 3 v 1 u 1 v 3 u 1 v 2 u 2 v 1 = if k = 2 A 3 v 1 A 1 v 3 A 1 v 2 A 2 v 1
14 5 13 ifeq12d u = A if k = 1 u 2 v 3 u 3 v 2 if k = 2 u 3 v 1 u 1 v 3 u 1 v 2 u 2 v 1 = if k = 1 A 2 v 3 A 3 v 2 if k = 2 A 3 v 1 A 1 v 3 A 1 v 2 A 2 v 1
15 14 mpteq2dv u = A k 1 3 if k = 1 u 2 v 3 u 3 v 2 if k = 2 u 3 v 1 u 1 v 3 u 1 v 2 u 2 v 1 = k 1 3 if k = 1 A 2 v 3 A 3 v 2 if k = 2 A 3 v 1 A 1 v 3 A 1 v 2 A 2 v 1
16 fveq1 v = B v 3 = B 3
17 16 oveq2d v = B A 2 v 3 = A 2 B 3
18 fveq1 v = B v 2 = B 2
19 18 oveq2d v = B A 3 v 2 = A 3 B 2
20 17 19 oveq12d v = B A 2 v 3 A 3 v 2 = A 2 B 3 A 3 B 2
21 fveq1 v = B v 1 = B 1
22 21 oveq2d v = B A 3 v 1 = A 3 B 1
23 16 oveq2d v = B A 1 v 3 = A 1 B 3
24 22 23 oveq12d v = B A 3 v 1 A 1 v 3 = A 3 B 1 A 1 B 3
25 18 oveq2d v = B A 1 v 2 = A 1 B 2
26 21 oveq2d v = B A 2 v 1 = A 2 B 1
27 25 26 oveq12d v = B A 1 v 2 A 2 v 1 = A 1 B 2 A 2 B 1
28 24 27 ifeq12d v = B if k = 2 A 3 v 1 A 1 v 3 A 1 v 2 A 2 v 1 = if k = 2 A 3 B 1 A 1 B 3 A 1 B 2 A 2 B 1
29 20 28 ifeq12d v = B if k = 1 A 2 v 3 A 3 v 2 if k = 2 A 3 v 1 A 1 v 3 A 1 v 2 A 2 v 1 = if k = 1 A 2 B 3 A 3 B 2 if k = 2 A 3 B 1 A 1 B 3 A 1 B 2 A 2 B 1
30 29 mpteq2dv v = B k 1 3 if k = 1 A 2 v 3 A 3 v 2 if k = 2 A 3 v 1 A 1 v 3 A 1 v 2 A 2 v 1 = k 1 3 if k = 1 A 2 B 3 A 3 B 2 if k = 2 A 3 B 1 A 1 B 3 A 1 B 2 A 2 B 1
31 df-crossp Could not format crossp = ( u e. ( RR ^m ( 1 ... 3 ) ) , v e. ( RR ^m ( 1 ... 3 ) ) |-> ( k e. ( 1 ... 3 ) |-> if ( k = 1 , ( ( ( u ` 2 ) x. ( v ` 3 ) ) - ( ( u ` 3 ) x. ( v ` 2 ) ) ) , if ( k = 2 , ( ( ( u ` 3 ) x. ( v ` 1 ) ) - ( ( u ` 1 ) x. ( v ` 3 ) ) ) , ( ( ( u ` 1 ) x. ( v ` 2 ) ) - ( ( u ` 2 ) x. ( v ` 1 ) ) ) ) ) ) ) : No typesetting found for |- crossp = ( u e. ( RR ^m ( 1 ... 3 ) ) , v e. ( RR ^m ( 1 ... 3 ) ) |-> ( k e. ( 1 ... 3 ) |-> if ( k = 1 , ( ( ( u ` 2 ) x. ( v ` 3 ) ) - ( ( u ` 3 ) x. ( v ` 2 ) ) ) , if ( k = 2 , ( ( ( u ` 3 ) x. ( v ` 1 ) ) - ( ( u ` 1 ) x. ( v ` 3 ) ) ) , ( ( ( u ` 1 ) x. ( v ` 2 ) ) - ( ( u ` 2 ) x. ( v ` 1 ) ) ) ) ) ) ) with typecode |-
32 ovex 1 3 V
33 32 mptex k 1 3 if k = 1 A 2 B 3 A 3 B 2 if k = 2 A 3 B 1 A 1 B 3 A 1 B 2 A 2 B 1 V
34 15 30 31 33 ovmpo Could not format ( ( A e. ( RR ^m ( 1 ... 3 ) ) /\ B e. ( RR ^m ( 1 ... 3 ) ) ) -> ( A crossp B ) = ( k e. ( 1 ... 3 ) |-> if ( k = 1 , ( ( ( A ` 2 ) x. ( B ` 3 ) ) - ( ( A ` 3 ) x. ( B ` 2 ) ) ) , if ( k = 2 , ( ( ( A ` 3 ) x. ( B ` 1 ) ) - ( ( A ` 1 ) x. ( B ` 3 ) ) ) , ( ( ( A ` 1 ) x. ( B ` 2 ) ) - ( ( A ` 2 ) x. ( B ` 1 ) ) ) ) ) ) ) : No typesetting found for |- ( ( A e. ( RR ^m ( 1 ... 3 ) ) /\ B e. ( RR ^m ( 1 ... 3 ) ) ) -> ( A crossp B ) = ( k e. ( 1 ... 3 ) |-> if ( k = 1 , ( ( ( A ` 2 ) x. ( B ` 3 ) ) - ( ( A ` 3 ) x. ( B ` 2 ) ) ) , if ( k = 2 , ( ( ( A ` 3 ) x. ( B ` 1 ) ) - ( ( A ` 1 ) x. ( B ` 3 ) ) ) , ( ( ( A ` 1 ) x. ( B ` 2 ) ) - ( ( A ` 2 ) x. ( B ` 1 ) ) ) ) ) ) ) with typecode |-