Metamath Proof Explorer


Theorem xadddir

Description: Commuted version of xadddi . (Contributed by Mario Carneiro, 20-Aug-2015)

Ref Expression
Assertion xadddir
|- ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( ( A +e B ) *e C ) = ( ( A *e C ) +e ( B *e C ) ) )

Proof

Step Hyp Ref Expression
1 xadddi
 |-  ( ( C e. RR /\ A e. RR* /\ B e. RR* ) -> ( C *e ( A +e B ) ) = ( ( C *e A ) +e ( C *e B ) ) )
2 1 3coml
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( C *e ( A +e B ) ) = ( ( C *e A ) +e ( C *e B ) ) )
3 xaddcl
 |-  ( ( A e. RR* /\ B e. RR* ) -> ( A +e B ) e. RR* )
4 3 3adant3
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( A +e B ) e. RR* )
5 rexr
 |-  ( C e. RR -> C e. RR* )
6 5 3ad2ant3
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> C e. RR* )
7 xmulcom
 |-  ( ( ( A +e B ) e. RR* /\ C e. RR* ) -> ( ( A +e B ) *e C ) = ( C *e ( A +e B ) ) )
8 4 6 7 syl2anc
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( ( A +e B ) *e C ) = ( C *e ( A +e B ) ) )
9 simp1
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> A e. RR* )
10 xmulcom
 |-  ( ( A e. RR* /\ C e. RR* ) -> ( A *e C ) = ( C *e A ) )
11 9 6 10 syl2anc
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( A *e C ) = ( C *e A ) )
12 simp2
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> B e. RR* )
13 xmulcom
 |-  ( ( B e. RR* /\ C e. RR* ) -> ( B *e C ) = ( C *e B ) )
14 12 6 13 syl2anc
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( B *e C ) = ( C *e B ) )
15 11 14 oveq12d
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( ( A *e C ) +e ( B *e C ) ) = ( ( C *e A ) +e ( C *e B ) ) )
16 2 8 15 3eqtr4d
 |-  ( ( A e. RR* /\ B e. RR* /\ C e. RR ) -> ( ( A +e B ) *e C ) = ( ( A *e C ) +e ( B *e C ) ) )