Metamath Proof Explorer


Theorem hoaddass

Description: Associativity of sum of Hilbert space operators. (Contributed by NM, 24-Aug-2006) (New usage is discouraged.)

Ref Expression
Assertion hoaddass
|- ( ( R : ~H --> ~H /\ S : ~H --> ~H /\ T : ~H --> ~H ) -> ( ( R +op S ) +op T ) = ( R +op ( S +op T ) ) )

Proof

Step Hyp Ref Expression
1 oveq1
 |-  ( R = if ( R : ~H --> ~H , R , 0hop ) -> ( R +op S ) = ( if ( R : ~H --> ~H , R , 0hop ) +op S ) )
2 1 oveq1d
 |-  ( R = if ( R : ~H --> ~H , R , 0hop ) -> ( ( R +op S ) +op T ) = ( ( if ( R : ~H --> ~H , R , 0hop ) +op S ) +op T ) )
3 oveq1
 |-  ( R = if ( R : ~H --> ~H , R , 0hop ) -> ( R +op ( S +op T ) ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( S +op T ) ) )
4 2 3 eqeq12d
 |-  ( R = if ( R : ~H --> ~H , R , 0hop ) -> ( ( ( R +op S ) +op T ) = ( R +op ( S +op T ) ) <-> ( ( if ( R : ~H --> ~H , R , 0hop ) +op S ) +op T ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( S +op T ) ) ) )
5 oveq2
 |-  ( S = if ( S : ~H --> ~H , S , 0hop ) -> ( if ( R : ~H --> ~H , R , 0hop ) +op S ) = ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) )
6 5 oveq1d
 |-  ( S = if ( S : ~H --> ~H , S , 0hop ) -> ( ( if ( R : ~H --> ~H , R , 0hop ) +op S ) +op T ) = ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op T ) )
7 oveq1
 |-  ( S = if ( S : ~H --> ~H , S , 0hop ) -> ( S +op T ) = ( if ( S : ~H --> ~H , S , 0hop ) +op T ) )
8 7 oveq2d
 |-  ( S = if ( S : ~H --> ~H , S , 0hop ) -> ( if ( R : ~H --> ~H , R , 0hop ) +op ( S +op T ) ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op T ) ) )
9 6 8 eqeq12d
 |-  ( S = if ( S : ~H --> ~H , S , 0hop ) -> ( ( ( if ( R : ~H --> ~H , R , 0hop ) +op S ) +op T ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( S +op T ) ) <-> ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op T ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op T ) ) ) )
10 oveq2
 |-  ( T = if ( T : ~H --> ~H , T , 0hop ) -> ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op T ) = ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op if ( T : ~H --> ~H , T , 0hop ) ) )
11 oveq2
 |-  ( T = if ( T : ~H --> ~H , T , 0hop ) -> ( if ( S : ~H --> ~H , S , 0hop ) +op T ) = ( if ( S : ~H --> ~H , S , 0hop ) +op if ( T : ~H --> ~H , T , 0hop ) ) )
12 11 oveq2d
 |-  ( T = if ( T : ~H --> ~H , T , 0hop ) -> ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op T ) ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op if ( T : ~H --> ~H , T , 0hop ) ) ) )
13 10 12 eqeq12d
 |-  ( T = if ( T : ~H --> ~H , T , 0hop ) -> ( ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op T ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op T ) ) <-> ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op if ( T : ~H --> ~H , T , 0hop ) ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op if ( T : ~H --> ~H , T , 0hop ) ) ) ) )
14 ho0f
 |-  0hop : ~H --> ~H
15 14 elimf
 |-  if ( R : ~H --> ~H , R , 0hop ) : ~H --> ~H
16 14 elimf
 |-  if ( S : ~H --> ~H , S , 0hop ) : ~H --> ~H
17 14 elimf
 |-  if ( T : ~H --> ~H , T , 0hop ) : ~H --> ~H
18 15 16 17 hoaddassi
 |-  ( ( if ( R : ~H --> ~H , R , 0hop ) +op if ( S : ~H --> ~H , S , 0hop ) ) +op if ( T : ~H --> ~H , T , 0hop ) ) = ( if ( R : ~H --> ~H , R , 0hop ) +op ( if ( S : ~H --> ~H , S , 0hop ) +op if ( T : ~H --> ~H , T , 0hop ) ) )
19 4 9 13 18 dedth3h
 |-  ( ( R : ~H --> ~H /\ S : ~H --> ~H /\ T : ~H --> ~H ) -> ( ( R +op S ) +op T ) = ( R +op ( S +op T ) ) )