Metamath Proof Explorer


Theorem hhph

Description: The Hilbert space of the Hilbert Space Explorer is an inner product space. (Contributed by NM, 24-Nov-2007) (New usage is discouraged.)

Ref Expression
Hypothesis hhnv.1 𝑈 = ⟨ ⟨ + , · ⟩ , norm
Assertion hhph 𝑈 ∈ CPreHilOLD

Proof

Step Hyp Ref Expression
1 hhnv.1 𝑈 = ⟨ ⟨ + , · ⟩ , norm
2 eqid ⟨ ⟨ + , · ⟩ , norm ⟩ = ⟨ ⟨ + , · ⟩ , norm
3 2 hhnv ⟨ ⟨ + , · ⟩ , norm ⟩ ∈ NrmCVec
4 normpar ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm𝑥 ) ↑ 2 ) ) + ( 2 · ( ( norm𝑦 ) ↑ 2 ) ) ) )
5 hvsubval ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( 𝑥 𝑦 ) = ( 𝑥 + ( - 1 · 𝑦 ) ) )
6 5 fveq2d ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( norm ‘ ( 𝑥 𝑦 ) ) = ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) )
7 6 oveq1d ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) = ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) )
8 7 oveq2d ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) ) = ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) )
9 hvaddcl ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( 𝑥 + 𝑦 ) ∈ ℋ )
10 normcl ( ( 𝑥 + 𝑦 ) ∈ ℋ → ( norm ‘ ( 𝑥 + 𝑦 ) ) ∈ ℝ )
11 9 10 syl ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( norm ‘ ( 𝑥 + 𝑦 ) ) ∈ ℝ )
12 11 recnd ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( norm ‘ ( 𝑥 + 𝑦 ) ) ∈ ℂ )
13 12 sqcld ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) ∈ ℂ )
14 hvsubcl ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( 𝑥 𝑦 ) ∈ ℋ )
15 normcl ( ( 𝑥 𝑦 ) ∈ ℋ → ( norm ‘ ( 𝑥 𝑦 ) ) ∈ ℝ )
16 15 recnd ( ( 𝑥 𝑦 ) ∈ ℋ → ( norm ‘ ( 𝑥 𝑦 ) ) ∈ ℂ )
17 14 16 syl ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( norm ‘ ( 𝑥 𝑦 ) ) ∈ ℂ )
18 17 sqcld ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) ∈ ℂ )
19 13 18 addcomd ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) ) = ( ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) ) )
20 8 19 eqtr3d ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( ( ( norm ‘ ( 𝑥 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) ) )
21 normcl ( 𝑥 ∈ ℋ → ( norm𝑥 ) ∈ ℝ )
22 21 recnd ( 𝑥 ∈ ℋ → ( norm𝑥 ) ∈ ℂ )
23 22 sqcld ( 𝑥 ∈ ℋ → ( ( norm𝑥 ) ↑ 2 ) ∈ ℂ )
24 normcl ( 𝑦 ∈ ℋ → ( norm𝑦 ) ∈ ℝ )
25 24 recnd ( 𝑦 ∈ ℋ → ( norm𝑦 ) ∈ ℂ )
26 25 sqcld ( 𝑦 ∈ ℋ → ( ( norm𝑦 ) ↑ 2 ) ∈ ℂ )
27 2cn 2 ∈ ℂ
28 adddi ( ( 2 ∈ ℂ ∧ ( ( norm𝑥 ) ↑ 2 ) ∈ ℂ ∧ ( ( norm𝑦 ) ↑ 2 ) ∈ ℂ ) → ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) = ( ( 2 · ( ( norm𝑥 ) ↑ 2 ) ) + ( 2 · ( ( norm𝑦 ) ↑ 2 ) ) ) )
29 27 28 mp3an1 ( ( ( ( norm𝑥 ) ↑ 2 ) ∈ ℂ ∧ ( ( norm𝑦 ) ↑ 2 ) ∈ ℂ ) → ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) = ( ( 2 · ( ( norm𝑥 ) ↑ 2 ) ) + ( 2 · ( ( norm𝑦 ) ↑ 2 ) ) ) )
30 23 26 29 syl2an ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) = ( ( 2 · ( ( norm𝑥 ) ↑ 2 ) ) + ( 2 · ( ( norm𝑦 ) ↑ 2 ) ) ) )
31 4 20 30 3eqtr4d ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) )
32 31 rgen2 𝑥 ∈ ℋ ∀ 𝑦 ∈ ℋ ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) )
33 hilablo + ∈ AbelOp
34 33 elexi + ∈ V
35 hvmulex · ∈ V
36 normf norm : ℋ ⟶ ℝ
37 ax-hilex ℋ ∈ V
38 fex ( ( norm : ℋ ⟶ ℝ ∧ ℋ ∈ V ) → norm ∈ V )
39 36 37 38 mp2an norm ∈ V
40 1 eleq1i ( 𝑈 ∈ CPreHilOLD ↔ ⟨ ⟨ + , · ⟩ , norm ⟩ ∈ CPreHilOLD )
41 ablogrpo ( + ∈ AbelOp → + ∈ GrpOp )
42 33 41 ax-mp + ∈ GrpOp
43 ax-hfvadd + : ( ℋ × ℋ ) ⟶ ℋ
44 43 fdmi dom + = ( ℋ × ℋ )
45 42 44 grporn ℋ = ran +
46 45 isphg ( ( + ∈ V ∧ · ∈ V ∧ norm ∈ V ) → ( ⟨ ⟨ + , · ⟩ , norm ⟩ ∈ CPreHilOLD ↔ ( ⟨ ⟨ + , · ⟩ , norm ⟩ ∈ NrmCVec ∧ ∀ 𝑥 ∈ ℋ ∀ 𝑦 ∈ ℋ ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) ) ) )
47 40 46 syl5bb ( ( + ∈ V ∧ · ∈ V ∧ norm ∈ V ) → ( 𝑈 ∈ CPreHilOLD ↔ ( ⟨ ⟨ + , · ⟩ , norm ⟩ ∈ NrmCVec ∧ ∀ 𝑥 ∈ ℋ ∀ 𝑦 ∈ ℋ ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) ) ) )
48 34 35 39 47 mp3an ( 𝑈 ∈ CPreHilOLD ↔ ( ⟨ ⟨ + , · ⟩ , norm ⟩ ∈ NrmCVec ∧ ∀ 𝑥 ∈ ℋ ∀ 𝑦 ∈ ℋ ( ( ( norm ‘ ( 𝑥 + 𝑦 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝑥 + ( - 1 · 𝑦 ) ) ) ↑ 2 ) ) = ( 2 · ( ( ( norm𝑥 ) ↑ 2 ) + ( ( norm𝑦 ) ↑ 2 ) ) ) ) )
49 3 32 48 mpbir2an 𝑈 ∈ CPreHilOLD