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
`|- ( ( A e. ~H /\ B e. ~H ) -> ( ( ( normh ` ( A -h B ) ) ^ 2 ) + ( ( normh ` ( A +h B ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` A ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) )`

Proof

Step Hyp Ref Expression
1 fvoveq1
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( normh ` ( A -h B ) ) = ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) )`
2 1 oveq1d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( normh ` ( A -h B ) ) ^ 2 ) = ( ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) ^ 2 ) )`
3 fvoveq1
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( normh ` ( A +h B ) ) = ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) )`
4 3 oveq1d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( normh ` ( A +h B ) ) ^ 2 ) = ( ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) ^ 2 ) )`
5 2 4 oveq12d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( ( normh ` ( A -h B ) ) ^ 2 ) + ( ( normh ` ( A +h B ) ) ^ 2 ) ) = ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) ^ 2 ) ) )`
6 fveq2
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( normh ` A ) = ( normh ` if ( A e. ~H , A , 0h ) ) )`
7 6 oveq1d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( normh ` A ) ^ 2 ) = ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) )`
8 7 oveq2d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( 2 x. ( ( normh ` A ) ^ 2 ) ) = ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) )`
9 8 oveq1d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( 2 x. ( ( normh ` A ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) = ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) )`
10 5 9 eqeq12d
` |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( ( ( normh ` ( A -h B ) ) ^ 2 ) + ( ( normh ` ( A +h B ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` A ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) <-> ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) ) )`
11 oveq2
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( if ( A e. ~H , A , 0h ) -h B ) = ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) )`
12 11 fveq2d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) = ( normh ` ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) ) )`
13 12 oveq1d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) ^ 2 ) = ( ( normh ` ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) )`
14 oveq2
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( if ( A e. ~H , A , 0h ) +h B ) = ( if ( A e. ~H , A , 0h ) +h if ( B e. ~H , B , 0h ) ) )`
15 14 fveq2d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) = ( normh ` ( if ( A e. ~H , A , 0h ) +h if ( B e. ~H , B , 0h ) ) ) )`
16 15 oveq1d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) ^ 2 ) = ( ( normh ` ( if ( A e. ~H , A , 0h ) +h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) )`
17 13 16 oveq12d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) ^ 2 ) ) = ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) ) )`
18 fveq2
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( normh ` B ) = ( normh ` if ( B e. ~H , B , 0h ) ) )`
19 18 oveq1d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( normh ` B ) ^ 2 ) = ( ( normh ` if ( B e. ~H , B , 0h ) ) ^ 2 ) )`
20 19 oveq2d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( 2 x. ( ( normh ` B ) ^ 2 ) ) = ( 2 x. ( ( normh ` if ( B e. ~H , B , 0h ) ) ^ 2 ) ) )`
21 20 oveq2d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) = ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` if ( B e. ~H , B , 0h ) ) ^ 2 ) ) ) )`
22 17 21 eqeq12d
` |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h B ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h B ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) <-> ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` if ( B e. ~H , B , 0h ) ) ^ 2 ) ) ) ) )`
23 ifhvhv0
` |-  if ( A e. ~H , A , 0h ) e. ~H`
24 ifhvhv0
` |-  if ( B e. ~H , B , 0h ) e. ~H`
25 23 24 normpari
` |-  ( ( ( normh ` ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) + ( ( normh ` ( if ( A e. ~H , A , 0h ) +h if ( B e. ~H , B , 0h ) ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` if ( A e. ~H , A , 0h ) ) ^ 2 ) ) + ( 2 x. ( ( normh ` if ( B e. ~H , B , 0h ) ) ^ 2 ) ) )`
26 10 22 25 dedth2h
` |-  ( ( A e. ~H /\ B e. ~H ) -> ( ( ( normh ` ( A -h B ) ) ^ 2 ) + ( ( normh ` ( A +h B ) ) ^ 2 ) ) = ( ( 2 x. ( ( normh ` A ) ^ 2 ) ) + ( 2 x. ( ( normh ` B ) ^ 2 ) ) ) )`