Metamath Proof Explorer


Theorem normpar

Description: Parallelogram law for norms. Remark 3.4(B) of Beran p. 98. (Contributed by NM, 15-Apr-2007) (New usage is discouraged.)

Ref Expression
Assertion normpar ( ( 𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ) → ( ( ( norm ‘ ( 𝐴 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝐴 + 𝐵 ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm𝐴 ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) )

Proof

Step Hyp Ref Expression
1 fvoveq1 ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( norm ‘ ( 𝐴 𝐵 ) ) = ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) )
2 1 oveq1d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( ( norm ‘ ( 𝐴 𝐵 ) ) ↑ 2 ) = ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) ↑ 2 ) )
3 fvoveq1 ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( norm ‘ ( 𝐴 + 𝐵 ) ) = ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) )
4 3 oveq1d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( ( norm ‘ ( 𝐴 + 𝐵 ) ) ↑ 2 ) = ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) ↑ 2 ) )
5 2 4 oveq12d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( ( ( norm ‘ ( 𝐴 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝐴 + 𝐵 ) ) ↑ 2 ) ) = ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) ↑ 2 ) ) )
6 fveq2 ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( norm𝐴 ) = ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) )
7 6 oveq1d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( ( norm𝐴 ) ↑ 2 ) = ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) )
8 7 oveq2d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( 2 · ( ( norm𝐴 ) ↑ 2 ) ) = ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) )
9 8 oveq1d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( ( 2 · ( ( norm𝐴 ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) = ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) )
10 5 9 eqeq12d ( 𝐴 = if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) → ( ( ( ( norm ‘ ( 𝐴 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝐴 + 𝐵 ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm𝐴 ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) ↔ ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) ) )
11 oveq2 ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) = ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) )
12 11 fveq2d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) = ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) )
13 12 oveq1d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) ↑ 2 ) = ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) )
14 oveq2 ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) = ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) )
15 14 fveq2d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) = ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) )
16 15 oveq1d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) ↑ 2 ) = ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) )
17 13 16 oveq12d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) ↑ 2 ) ) = ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) ) )
18 fveq2 ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( norm𝐵 ) = ( norm ‘ if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) )
19 18 oveq1d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( ( norm𝐵 ) ↑ 2 ) = ( ( norm ‘ if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ↑ 2 ) )
20 19 oveq2d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) = ( 2 · ( ( norm ‘ if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ↑ 2 ) ) )
21 20 oveq2d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) = ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm ‘ if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ↑ 2 ) ) ) )
22 17 21 eqeq12d ( 𝐵 = if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) → ( ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + 𝐵 ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) ↔ ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm ‘ if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ↑ 2 ) ) ) ) )
23 ifhvhv0 if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ∈ ℋ
24 ifhvhv0 if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ∈ ℋ
25 23 24 normpari ( ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) − if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) + ( ( norm ‘ ( if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) + if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm ‘ if ( 𝐴 ∈ ℋ , 𝐴 , 0 ) ) ↑ 2 ) ) + ( 2 · ( ( norm ‘ if ( 𝐵 ∈ ℋ , 𝐵 , 0 ) ) ↑ 2 ) ) )
26 10 22 25 dedth2h ( ( 𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ) → ( ( ( norm ‘ ( 𝐴 𝐵 ) ) ↑ 2 ) + ( ( norm ‘ ( 𝐴 + 𝐵 ) ) ↑ 2 ) ) = ( ( 2 · ( ( norm𝐴 ) ↑ 2 ) ) + ( 2 · ( ( norm𝐵 ) ↑ 2 ) ) ) )