Metamath Proof Explorer


Theorem crosspcld

Description: Closure of the cross product: the cross product of two 3-dimensional real coordinate vectors is again such a vector. (Contributed by Jiamin Zhao, 12-Aug-2026)

Ref Expression
Hypotheses crosspd.1 ⊢ φ → A ∈ ℝ 1 … 3
crosspd.2 ⊢ φ → B ∈ ℝ 1 … 3
Assertion crosspcld Could not format assertion : No typesetting found for |- ( ph -> ( A crossp B ) e. ( RR ^m ( 1 ... 3 ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 crosspd.1 ⊢ φ → A ∈ ℝ 1 … 3
2 crosspd.2 ⊢ φ → B ∈ ℝ 1 … 3
3 crosspval 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 |-
4 1 2 3 syl2anc Could not format ( ph -> ( 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 |- ( ph -> ( 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 |-
5 1 2 crosspclem ⊢ φ → 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 ∈ ℝ
6 5 adantr ⊢ φ ∧ 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 ∈ ℝ
7 6 fmpttd ⊢ φ → 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 : 1 … 3 ⟶ ℝ
8 reex ⊢ ℝ ∈ V
9 ovex ⊢ 1 … 3 ∈ V
10 8 9 elmap ⊢ 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 ∈ ℝ 1 … 3 ↔ 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 : 1 … 3 ⟶ ℝ
11 7 10 sylibr ⊢ φ → 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 ∈ ℝ 1 … 3
12 4 11 eqeltrd Could not format ( ph -> ( A crossp B ) e. ( RR ^m ( 1 ... 3 ) ) ) : No typesetting found for |- ( ph -> ( A crossp B ) e. ( RR ^m ( 1 ... 3 ) ) ) with typecode |-