This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 ) ) ) |
| 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 ) ) ) |