| Step |
Hyp |
Ref |
Expression |
| 1 |
|
xadddi2 |
|- ( ( C e. RR* /\ ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) -> ( C *e ( A +e B ) ) = ( ( C *e A ) +e ( C *e B ) ) ) |
| 2 |
1
|
3coml |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( C *e ( A +e B ) ) = ( ( C *e A ) +e ( C *e B ) ) ) |
| 3 |
|
simp1l |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> A e. RR* ) |
| 4 |
|
simp2l |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> B e. RR* ) |
| 5 |
|
xaddcl |
|- ( ( A e. RR* /\ B e. RR* ) -> ( A +e B ) e. RR* ) |
| 6 |
3 4 5
|
syl2anc |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( A +e B ) e. RR* ) |
| 7 |
|
simp3 |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> C e. RR* ) |
| 8 |
|
xmulcom |
|- ( ( ( A +e B ) e. RR* /\ C e. RR* ) -> ( ( A +e B ) *e C ) = ( C *e ( A +e B ) ) ) |
| 9 |
6 7 8
|
syl2anc |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( ( A +e B ) *e C ) = ( C *e ( A +e B ) ) ) |
| 10 |
|
xmulcom |
|- ( ( A e. RR* /\ C e. RR* ) -> ( A *e C ) = ( C *e A ) ) |
| 11 |
3 7 10
|
syl2anc |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( A *e C ) = ( C *e A ) ) |
| 12 |
|
xmulcom |
|- ( ( B e. RR* /\ C e. RR* ) -> ( B *e C ) = ( C *e B ) ) |
| 13 |
4 7 12
|
syl2anc |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( B *e C ) = ( C *e B ) ) |
| 14 |
11 13
|
oveq12d |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( ( A *e C ) +e ( B *e C ) ) = ( ( C *e A ) +e ( C *e B ) ) ) |
| 15 |
2 9 14
|
3eqtr4d |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) /\ C e. RR* ) -> ( ( A +e B ) *e C ) = ( ( A *e C ) +e ( B *e C ) ) ) |