Metamath Proof Explorer


Theorem cncph

Description: The set of complex numbers is an inner product (pre-Hilbert) space. (Contributed by Steve Rodriguez, 28-Apr-2007) (Revised by Mario Carneiro, 7-Nov-2013) (New usage is discouraged.)

Ref Expression
Hypothesis cncph.6 𝑈 = ⟨ ⟨ + , · ⟩ , abs ⟩
Assertion cncph 𝑈 ∈ CPreHilOLD

Proof

Step Hyp Ref Expression
1 cncph.6 𝑈 = ⟨ ⟨ + , · ⟩ , abs ⟩
2 eqid ⟨ ⟨ + , · ⟩ , abs ⟩ = ⟨ ⟨ + , · ⟩ , abs ⟩
3 2 cnnv ⟨ ⟨ + , · ⟩ , abs ⟩ ∈ NrmCVec
4 mulm1 ( 𝑦 ∈ ℂ → ( - 1 · 𝑦 ) = - 𝑦 )
5 4 adantl ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( - 1 · 𝑦 ) = - 𝑦 )
6 5 oveq2d ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( 𝑥 + ( - 1 · 𝑦 ) ) = ( 𝑥 + - 𝑦 ) )
7 negsub ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( 𝑥 + - 𝑦 ) = ( 𝑥𝑦 ) )
8 6 7 eqtrd ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( 𝑥 + ( - 1 · 𝑦 ) ) = ( 𝑥𝑦 ) )
9 8 fveq2d ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) = ( abs ‘ ( 𝑥𝑦 ) ) )
10 9 oveq1d ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) = ( ( abs ‘ ( 𝑥𝑦 ) ) ↑ 2 ) )
11 10 oveq2d ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥𝑦 ) ) ↑ 2 ) ) )
12 sqabsadd ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) = ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ) )
13 sqabssub ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( abs ‘ ( 𝑥𝑦 ) ) ↑ 2 ) = ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) − ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ) )
14 12 13 oveq12d ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥𝑦 ) ) ↑ 2 ) ) = ( ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ) + ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) − ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ) ) )
15 abscl ( 𝑥 ∈ ℂ → ( abs ‘ 𝑥 ) ∈ ℝ )
16 15 recnd ( 𝑥 ∈ ℂ → ( abs ‘ 𝑥 ) ∈ ℂ )
17 16 sqcld ( 𝑥 ∈ ℂ → ( ( abs ‘ 𝑥 ) ↑ 2 ) ∈ ℂ )
18 abscl ( 𝑦 ∈ ℂ → ( abs ‘ 𝑦 ) ∈ ℝ )
19 18 recnd ( 𝑦 ∈ ℂ → ( abs ‘ 𝑦 ) ∈ ℂ )
20 19 sqcld ( 𝑦 ∈ ℂ → ( ( abs ‘ 𝑦 ) ↑ 2 ) ∈ ℂ )
21 addcl ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) ∈ ℂ ∧ ( ( abs ‘ 𝑦 ) ↑ 2 ) ∈ ℂ ) → ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ∈ ℂ )
22 17 20 21 syl2an ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ∈ ℂ )
23 2cn 2 ∈ ℂ
24 cjcl ( 𝑦 ∈ ℂ → ( ∗ ‘ 𝑦 ) ∈ ℂ )
25 mulcl ( ( 𝑥 ∈ ℂ ∧ ( ∗ ‘ 𝑦 ) ∈ ℂ ) → ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ∈ ℂ )
26 24 25 sylan2 ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ∈ ℂ )
27 recl ( ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ∈ ℂ → ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ∈ ℝ )
28 27 recnd ( ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ∈ ℂ → ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ∈ ℂ )
29 26 28 syl ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ∈ ℂ )
30 mulcl ( ( 2 ∈ ℂ ∧ ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ∈ ℂ ) → ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ∈ ℂ )
31 23 29 30 sylancr ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ∈ ℂ )
32 22 31 22 ppncand ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ) + ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) − ( 2 · ( ℜ ‘ ( 𝑥 · ( ∗ ‘ 𝑦 ) ) ) ) ) ) = ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
33 14 32 eqtrd ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥𝑦 ) ) ↑ 2 ) ) = ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
34 2times ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ∈ ℂ → ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) = ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
35 34 eqcomd ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ∈ ℂ → ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
36 22 35 syl ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) + ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
37 33 36 eqtrd ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥𝑦 ) ) ↑ 2 ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
38 11 37 eqtrd ( ( 𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ) → ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) )
39 38 rgen2 𝑥 ∈ ℂ ∀ 𝑦 ∈ ℂ ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) )
40 addex + ∈ V
41 mulex · ∈ V
42 absf abs : ℂ ⟶ ℝ
43 cnex ℂ ∈ V
44 fex ( ( abs : ℂ ⟶ ℝ ∧ ℂ ∈ V ) → abs ∈ V )
45 42 43 44 mp2an abs ∈ V
46 cnaddabloOLD + ∈ AbelOp
47 ablogrpo ( + ∈ AbelOp → + ∈ GrpOp )
48 46 47 ax-mp + ∈ GrpOp
49 ax-addf + : ( ℂ × ℂ ) ⟶ ℂ
50 49 fdmi dom + = ( ℂ × ℂ )
51 48 50 grporn ℂ = ran +
52 51 isphg ( ( + ∈ V ∧ · ∈ V ∧ abs ∈ V ) → ( ⟨ ⟨ + , · ⟩ , abs ⟩ ∈ CPreHilOLD ↔ ( ⟨ ⟨ + , · ⟩ , abs ⟩ ∈ NrmCVec ∧ ∀ 𝑥 ∈ ℂ ∀ 𝑦 ∈ ℂ ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) ) ) )
53 40 41 45 52 mp3an ( ⟨ ⟨ + , · ⟩ , abs ⟩ ∈ CPreHilOLD ↔ ( ⟨ ⟨ + , · ⟩ , abs ⟩ ∈ NrmCVec ∧ ∀ 𝑥 ∈ ℂ ∀ 𝑦 ∈ ℂ ( ( ( abs ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( abs ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( abs ‘ 𝑥 ) ↑ 2 ) + ( ( abs ‘ 𝑦 ) ↑ 2 ) ) ) ) )
54 3 39 53 mpbir2an ⟨ ⟨ + , · ⟩ , abs ⟩ ∈ CPreHilOLD
55 1 54 eqeltri 𝑈 ∈ CPreHilOLD