Metamath Proof Explorer


Theorem mulsub

Description: Product of two differences. (Contributed by NM, 14-Jan-2006)

Ref Expression
Assertion mulsub ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴𝐵 ) · ( 𝐶𝐷 ) ) = ( ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) − ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ) )

Proof

Step Hyp Ref Expression
1 negsub ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 + - 𝐵 ) = ( 𝐴𝐵 ) )
2 negsub ( ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( 𝐶 + - 𝐷 ) = ( 𝐶𝐷 ) )
3 1 2 oveqan12d ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 + - 𝐵 ) · ( 𝐶 + - 𝐷 ) ) = ( ( 𝐴𝐵 ) · ( 𝐶𝐷 ) ) )
4 negcl ( 𝐵 ∈ ℂ → - 𝐵 ∈ ℂ )
5 negcl ( 𝐷 ∈ ℂ → - 𝐷 ∈ ℂ )
6 muladd ( ( ( 𝐴 ∈ ℂ ∧ - 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ - 𝐷 ∈ ℂ ) ) → ( ( 𝐴 + - 𝐵 ) · ( 𝐶 + - 𝐷 ) ) = ( ( ( 𝐴 · 𝐶 ) + ( - 𝐷 · - 𝐵 ) ) + ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) ) )
7 5 6 sylanr2 ( ( ( 𝐴 ∈ ℂ ∧ - 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 + - 𝐵 ) · ( 𝐶 + - 𝐷 ) ) = ( ( ( 𝐴 · 𝐶 ) + ( - 𝐷 · - 𝐵 ) ) + ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) ) )
8 4 7 sylanl2 ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 + - 𝐵 ) · ( 𝐶 + - 𝐷 ) ) = ( ( ( 𝐴 · 𝐶 ) + ( - 𝐷 · - 𝐵 ) ) + ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) ) )
9 mul2neg ( ( 𝐷 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( - 𝐷 · - 𝐵 ) = ( 𝐷 · 𝐵 ) )
10 9 ancoms ( ( 𝐵 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( - 𝐷 · - 𝐵 ) = ( 𝐷 · 𝐵 ) )
11 10 oveq2d ( ( 𝐵 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( ( 𝐴 · 𝐶 ) + ( - 𝐷 · - 𝐵 ) ) = ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) )
12 11 ad2ant2l ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 · 𝐶 ) + ( - 𝐷 · - 𝐵 ) ) = ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) )
13 mulneg2 ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( 𝐴 · - 𝐷 ) = - ( 𝐴 · 𝐷 ) )
14 mulneg2 ( ( 𝐶 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐶 · - 𝐵 ) = - ( 𝐶 · 𝐵 ) )
15 13 14 oveqan12d ( ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ) → ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) = ( - ( 𝐴 · 𝐷 ) + - ( 𝐶 · 𝐵 ) ) )
16 mulcl ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( 𝐴 · 𝐷 ) ∈ ℂ )
17 mulcl ( ( 𝐶 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐶 · 𝐵 ) ∈ ℂ )
18 negdi ( ( ( 𝐴 · 𝐷 ) ∈ ℂ ∧ ( 𝐶 · 𝐵 ) ∈ ℂ ) → - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) = ( - ( 𝐴 · 𝐷 ) + - ( 𝐶 · 𝐵 ) ) )
19 16 17 18 syl2an ( ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ) → - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) = ( - ( 𝐴 · 𝐷 ) + - ( 𝐶 · 𝐵 ) ) )
20 15 19 eqtr4d ( ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ) → ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) = - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) )
21 20 ancom2s ( ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ∧ ( 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℂ ) ) → ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) = - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) )
22 21 an42s ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) = - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) )
23 12 22 oveq12d ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( ( 𝐴 · 𝐶 ) + ( - 𝐷 · - 𝐵 ) ) + ( ( 𝐴 · - 𝐷 ) + ( 𝐶 · - 𝐵 ) ) ) = ( ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) + - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ) )
24 mulcl ( ( 𝐴 ∈ ℂ ∧ 𝐶 ∈ ℂ ) → ( 𝐴 · 𝐶 ) ∈ ℂ )
25 mulcl ( ( 𝐷 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐷 · 𝐵 ) ∈ ℂ )
26 25 ancoms ( ( 𝐵 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( 𝐷 · 𝐵 ) ∈ ℂ )
27 addcl ( ( ( 𝐴 · 𝐶 ) ∈ ℂ ∧ ( 𝐷 · 𝐵 ) ∈ ℂ ) → ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) ∈ ℂ )
28 24 26 27 syl2an ( ( ( 𝐴 ∈ ℂ ∧ 𝐶 ∈ ℂ ) ∧ ( 𝐵 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) ∈ ℂ )
29 28 an4s ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) ∈ ℂ )
30 17 ancoms ( ( 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℂ ) → ( 𝐶 · 𝐵 ) ∈ ℂ )
31 addcl ( ( ( 𝐴 · 𝐷 ) ∈ ℂ ∧ ( 𝐶 · 𝐵 ) ∈ ℂ ) → ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ∈ ℂ )
32 16 30 31 syl2an ( ( ( 𝐴 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ∧ ( 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℂ ) ) → ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ∈ ℂ )
33 32 an42s ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ∈ ℂ )
34 29 33 negsubd ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) + - ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ) = ( ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) − ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ) )
35 8 23 34 3eqtrd ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴 + - 𝐵 ) · ( 𝐶 + - 𝐷 ) ) = ( ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) − ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ) )
36 3 35 eqtr3d ( ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) ∧ ( 𝐶 ∈ ℂ ∧ 𝐷 ∈ ℂ ) ) → ( ( 𝐴𝐵 ) · ( 𝐶𝐷 ) ) = ( ( ( 𝐴 · 𝐶 ) + ( 𝐷 · 𝐵 ) ) − ( ( 𝐴 · 𝐷 ) + ( 𝐶 · 𝐵 ) ) ) )