# Metamath Proof Explorer

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

Ref Expression
`|- ( ( 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`
` |-  ( ( 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 ) ) )`
` |-  ( ( R : ~H --> ~H /\ S : ~H --> ~H /\ T : ~H --> ~H ) -> ( ( R +op S ) +op T ) = ( R +op ( S +op T ) ) )`