Metamath Proof Explorer


Theorem subsq

Description: Factor the difference of two squares. (Contributed by NM, 21-Feb-2008)

Ref Expression
Assertion subsq ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴 ↑ 2 ) − ( 𝐵 ↑ 2 ) ) = ( ( 𝐴 + 𝐵 ) · ( 𝐴𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 simpl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → 𝐴 ∈ ℂ )
2 simpr ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → 𝐵 ∈ ℂ )
3 subcl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴𝐵 ) ∈ ℂ )
4 1 2 3 adddird ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴 + 𝐵 ) · ( 𝐴𝐵 ) ) = ( ( 𝐴 · ( 𝐴𝐵 ) ) + ( 𝐵 · ( 𝐴𝐵 ) ) ) )
5 subdi ( ( 𝐴 ∈ ℂ ∧ 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 · ( 𝐴𝐵 ) ) = ( ( 𝐴 · 𝐴 ) − ( 𝐴 · 𝐵 ) ) )
6 5 3anidm12 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 · ( 𝐴𝐵 ) ) = ( ( 𝐴 · 𝐴 ) − ( 𝐴 · 𝐵 ) ) )
7 sqval ( 𝐴 ∈ ℂ → ( 𝐴 ↑ 2 ) = ( 𝐴 · 𝐴 ) )
8 7 adantr ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 ↑ 2 ) = ( 𝐴 · 𝐴 ) )
9 8 oveq1d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴 ↑ 2 ) − ( 𝐴 · 𝐵 ) ) = ( ( 𝐴 · 𝐴 ) − ( 𝐴 · 𝐵 ) ) )
10 6 9 eqtr4d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 · ( 𝐴𝐵 ) ) = ( ( 𝐴 ↑ 2 ) − ( 𝐴 · 𝐵 ) ) )
11 2 1 2 subdid ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐵 · ( 𝐴𝐵 ) ) = ( ( 𝐵 · 𝐴 ) − ( 𝐵 · 𝐵 ) ) )
12 mulcom ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 · 𝐵 ) = ( 𝐵 · 𝐴 ) )
13 sqval ( 𝐵 ∈ ℂ → ( 𝐵 ↑ 2 ) = ( 𝐵 · 𝐵 ) )
14 13 adantl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐵 ↑ 2 ) = ( 𝐵 · 𝐵 ) )
15 12 14 oveq12d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴 · 𝐵 ) − ( 𝐵 ↑ 2 ) ) = ( ( 𝐵 · 𝐴 ) − ( 𝐵 · 𝐵 ) ) )
16 11 15 eqtr4d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐵 · ( 𝐴𝐵 ) ) = ( ( 𝐴 · 𝐵 ) − ( 𝐵 ↑ 2 ) ) )
17 10 16 oveq12d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴 · ( 𝐴𝐵 ) ) + ( 𝐵 · ( 𝐴𝐵 ) ) ) = ( ( ( 𝐴 ↑ 2 ) − ( 𝐴 · 𝐵 ) ) + ( ( 𝐴 · 𝐵 ) − ( 𝐵 ↑ 2 ) ) ) )
18 sqcl ( 𝐴 ∈ ℂ → ( 𝐴 ↑ 2 ) ∈ ℂ )
19 18 adantr ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 ↑ 2 ) ∈ ℂ )
20 mulcl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴 · 𝐵 ) ∈ ℂ )
21 sqcl ( 𝐵 ∈ ℂ → ( 𝐵 ↑ 2 ) ∈ ℂ )
22 21 adantl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐵 ↑ 2 ) ∈ ℂ )
23 19 20 22 npncand ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( ( 𝐴 ↑ 2 ) − ( 𝐴 · 𝐵 ) ) + ( ( 𝐴 · 𝐵 ) − ( 𝐵 ↑ 2 ) ) ) = ( ( 𝐴 ↑ 2 ) − ( 𝐵 ↑ 2 ) ) )
24 4 17 23 3eqtrrd ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴 ↑ 2 ) − ( 𝐵 ↑ 2 ) ) = ( ( 𝐴 + 𝐵 ) · ( 𝐴𝐵 ) ) )