This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Homomorphic property of composites. Second formula in Lang p. 4. (Contributed by Stefan O'Rear, 16-Aug-2015) (Revised by Mario Carneiro, 1-Oct-2015) (Proof shortened by AV, 26-Dec-2023)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | gsumccat.b | |- B = ( Base ` G ) |
|
| gsumccat.p | |- .+ = ( +g ` G ) |
||
| Assertion | gsumccat | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | gsumccat.b | |- B = ( Base ` G ) |
|
| 2 | gsumccat.p | |- .+ = ( +g ` G ) |
|
| 3 | oveq1 | |- ( W = (/) -> ( W ++ X ) = ( (/) ++ X ) ) |
|
| 4 | 3 | oveq2d | |- ( W = (/) -> ( G gsum ( W ++ X ) ) = ( G gsum ( (/) ++ X ) ) ) |
| 5 | oveq2 | |- ( W = (/) -> ( G gsum W ) = ( G gsum (/) ) ) |
|
| 6 | eqid | |- ( 0g ` G ) = ( 0g ` G ) |
|
| 7 | 6 | gsum0 | |- ( G gsum (/) ) = ( 0g ` G ) |
| 8 | 5 7 | eqtrdi | |- ( W = (/) -> ( G gsum W ) = ( 0g ` G ) ) |
| 9 | 8 | oveq1d | |- ( W = (/) -> ( ( G gsum W ) .+ ( G gsum X ) ) = ( ( 0g ` G ) .+ ( G gsum X ) ) ) |
| 10 | 4 9 | eqeq12d | |- ( W = (/) -> ( ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) <-> ( G gsum ( (/) ++ X ) ) = ( ( 0g ` G ) .+ ( G gsum X ) ) ) ) |
| 11 | oveq2 | |- ( X = (/) -> ( W ++ X ) = ( W ++ (/) ) ) |
|
| 12 | 11 | oveq2d | |- ( X = (/) -> ( G gsum ( W ++ X ) ) = ( G gsum ( W ++ (/) ) ) ) |
| 13 | oveq2 | |- ( X = (/) -> ( G gsum X ) = ( G gsum (/) ) ) |
|
| 14 | 13 7 | eqtrdi | |- ( X = (/) -> ( G gsum X ) = ( 0g ` G ) ) |
| 15 | 14 | oveq2d | |- ( X = (/) -> ( ( G gsum W ) .+ ( G gsum X ) ) = ( ( G gsum W ) .+ ( 0g ` G ) ) ) |
| 16 | 12 15 | eqeq12d | |- ( X = (/) -> ( ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) <-> ( G gsum ( W ++ (/) ) ) = ( ( G gsum W ) .+ ( 0g ` G ) ) ) ) |
| 17 | mndsgrp | |- ( G e. Mnd -> G e. Smgrp ) |
|
| 18 | 17 | 3ad2ant1 | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> G e. Smgrp ) |
| 19 | 18 | ad2antrr | |- ( ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) /\ X =/= (/) ) -> G e. Smgrp ) |
| 20 | 3simpc | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( W e. Word B /\ X e. Word B ) ) |
|
| 21 | 20 | ad2antrr | |- ( ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) /\ X =/= (/) ) -> ( W e. Word B /\ X e. Word B ) ) |
| 22 | simpr | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> W =/= (/) ) |
|
| 23 | 22 | anim1i | |- ( ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) /\ X =/= (/) ) -> ( W =/= (/) /\ X =/= (/) ) ) |
| 24 | 1 2 | gsumsgrpccat | |- ( ( G e. Smgrp /\ ( W e. Word B /\ X e. Word B ) /\ ( W =/= (/) /\ X =/= (/) ) ) -> ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) ) |
| 25 | 19 21 23 24 | syl3anc | |- ( ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) /\ X =/= (/) ) -> ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) ) |
| 26 | simpl2 | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> W e. Word B ) |
|
| 27 | ccatrid | |- ( W e. Word B -> ( W ++ (/) ) = W ) |
|
| 28 | 26 27 | syl | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> ( W ++ (/) ) = W ) |
| 29 | 28 | oveq2d | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> ( G gsum ( W ++ (/) ) ) = ( G gsum W ) ) |
| 30 | simpl1 | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> G e. Mnd ) |
|
| 31 | 1 | gsumwcl | |- ( ( G e. Mnd /\ W e. Word B ) -> ( G gsum W ) e. B ) |
| 32 | 31 | 3adant3 | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( G gsum W ) e. B ) |
| 33 | 32 | adantr | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> ( G gsum W ) e. B ) |
| 34 | 1 2 6 | mndrid | |- ( ( G e. Mnd /\ ( G gsum W ) e. B ) -> ( ( G gsum W ) .+ ( 0g ` G ) ) = ( G gsum W ) ) |
| 35 | 30 33 34 | syl2anc | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> ( ( G gsum W ) .+ ( 0g ` G ) ) = ( G gsum W ) ) |
| 36 | 29 35 | eqtr4d | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> ( G gsum ( W ++ (/) ) ) = ( ( G gsum W ) .+ ( 0g ` G ) ) ) |
| 37 | 16 25 36 | pm2.61ne | |- ( ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) /\ W =/= (/) ) -> ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) ) |
| 38 | ccatlid | |- ( X e. Word B -> ( (/) ++ X ) = X ) |
|
| 39 | 38 | 3ad2ant3 | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( (/) ++ X ) = X ) |
| 40 | 39 | oveq2d | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( G gsum ( (/) ++ X ) ) = ( G gsum X ) ) |
| 41 | simp1 | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> G e. Mnd ) |
|
| 42 | 1 | gsumwcl | |- ( ( G e. Mnd /\ X e. Word B ) -> ( G gsum X ) e. B ) |
| 43 | 1 2 6 | mndlid | |- ( ( G e. Mnd /\ ( G gsum X ) e. B ) -> ( ( 0g ` G ) .+ ( G gsum X ) ) = ( G gsum X ) ) |
| 44 | 41 42 43 | 3imp3i2an | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( ( 0g ` G ) .+ ( G gsum X ) ) = ( G gsum X ) ) |
| 45 | 40 44 | eqtr4d | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( G gsum ( (/) ++ X ) ) = ( ( 0g ` G ) .+ ( G gsum X ) ) ) |
| 46 | 10 37 45 | pm2.61ne | |- ( ( G e. Mnd /\ W e. Word B /\ X e. Word B ) -> ( G gsum ( W ++ X ) ) = ( ( G gsum W ) .+ ( G gsum X ) ) ) |