| Step | Hyp | Ref | Expression | 
						
							| 1 |  | gsmsymgrfix.s |  |-  S = ( SymGrp ` N ) | 
						
							| 2 |  | gsmsymgrfix.b |  |-  B = ( Base ` S ) | 
						
							| 3 |  | hasheq0 |  |-  ( w e. _V -> ( ( # ` w ) = 0 <-> w = (/) ) ) | 
						
							| 4 | 3 | elv |  |-  ( ( # ` w ) = 0 <-> w = (/) ) | 
						
							| 5 | 4 | biimpri |  |-  ( w = (/) -> ( # ` w ) = 0 ) | 
						
							| 6 | 5 | oveq2d |  |-  ( w = (/) -> ( 0 ..^ ( # ` w ) ) = ( 0 ..^ 0 ) ) | 
						
							| 7 |  | fzo0 |  |-  ( 0 ..^ 0 ) = (/) | 
						
							| 8 | 6 7 | eqtrdi |  |-  ( w = (/) -> ( 0 ..^ ( # ` w ) ) = (/) ) | 
						
							| 9 |  | fveq1 |  |-  ( w = (/) -> ( w ` i ) = ( (/) ` i ) ) | 
						
							| 10 | 9 | fveq1d |  |-  ( w = (/) -> ( ( w ` i ) ` K ) = ( ( (/) ` i ) ` K ) ) | 
						
							| 11 | 10 | eqeq1d |  |-  ( w = (/) -> ( ( ( w ` i ) ` K ) = K <-> ( ( (/) ` i ) ` K ) = K ) ) | 
						
							| 12 | 8 11 | raleqbidv |  |-  ( w = (/) -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K <-> A. i e. (/) ( ( (/) ` i ) ` K ) = K ) ) | 
						
							| 13 |  | oveq2 |  |-  ( w = (/) -> ( S gsum w ) = ( S gsum (/) ) ) | 
						
							| 14 | 13 | fveq1d |  |-  ( w = (/) -> ( ( S gsum w ) ` K ) = ( ( S gsum (/) ) ` K ) ) | 
						
							| 15 | 14 | eqeq1d |  |-  ( w = (/) -> ( ( ( S gsum w ) ` K ) = K <-> ( ( S gsum (/) ) ` K ) = K ) ) | 
						
							| 16 | 12 15 | imbi12d |  |-  ( w = (/) -> ( ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) <-> ( A. i e. (/) ( ( (/) ` i ) ` K ) = K -> ( ( S gsum (/) ) ` K ) = K ) ) ) | 
						
							| 17 | 16 | imbi2d |  |-  ( w = (/) -> ( ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) ) <-> ( ( N e. Fin /\ K e. N ) -> ( A. i e. (/) ( ( (/) ` i ) ` K ) = K -> ( ( S gsum (/) ) ` K ) = K ) ) ) ) | 
						
							| 18 |  | fveq2 |  |-  ( w = y -> ( # ` w ) = ( # ` y ) ) | 
						
							| 19 | 18 | oveq2d |  |-  ( w = y -> ( 0 ..^ ( # ` w ) ) = ( 0 ..^ ( # ` y ) ) ) | 
						
							| 20 |  | fveq1 |  |-  ( w = y -> ( w ` i ) = ( y ` i ) ) | 
						
							| 21 | 20 | fveq1d |  |-  ( w = y -> ( ( w ` i ) ` K ) = ( ( y ` i ) ` K ) ) | 
						
							| 22 | 21 | eqeq1d |  |-  ( w = y -> ( ( ( w ` i ) ` K ) = K <-> ( ( y ` i ) ` K ) = K ) ) | 
						
							| 23 | 19 22 | raleqbidv |  |-  ( w = y -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K <-> A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K ) ) | 
						
							| 24 |  | oveq2 |  |-  ( w = y -> ( S gsum w ) = ( S gsum y ) ) | 
						
							| 25 | 24 | fveq1d |  |-  ( w = y -> ( ( S gsum w ) ` K ) = ( ( S gsum y ) ` K ) ) | 
						
							| 26 | 25 | eqeq1d |  |-  ( w = y -> ( ( ( S gsum w ) ` K ) = K <-> ( ( S gsum y ) ` K ) = K ) ) | 
						
							| 27 | 23 26 | imbi12d |  |-  ( w = y -> ( ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) <-> ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) ) | 
						
							| 28 | 27 | imbi2d |  |-  ( w = y -> ( ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) ) <-> ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) ) ) | 
						
							| 29 |  | fveq2 |  |-  ( w = ( y ++ <" z "> ) -> ( # ` w ) = ( # ` ( y ++ <" z "> ) ) ) | 
						
							| 30 | 29 | oveq2d |  |-  ( w = ( y ++ <" z "> ) -> ( 0 ..^ ( # ` w ) ) = ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ) | 
						
							| 31 |  | fveq1 |  |-  ( w = ( y ++ <" z "> ) -> ( w ` i ) = ( ( y ++ <" z "> ) ` i ) ) | 
						
							| 32 | 31 | fveq1d |  |-  ( w = ( y ++ <" z "> ) -> ( ( w ` i ) ` K ) = ( ( ( y ++ <" z "> ) ` i ) ` K ) ) | 
						
							| 33 | 32 | eqeq1d |  |-  ( w = ( y ++ <" z "> ) -> ( ( ( w ` i ) ` K ) = K <-> ( ( ( y ++ <" z "> ) ` i ) ` K ) = K ) ) | 
						
							| 34 | 30 33 | raleqbidv |  |-  ( w = ( y ++ <" z "> ) -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K <-> A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K ) ) | 
						
							| 35 |  | oveq2 |  |-  ( w = ( y ++ <" z "> ) -> ( S gsum w ) = ( S gsum ( y ++ <" z "> ) ) ) | 
						
							| 36 | 35 | fveq1d |  |-  ( w = ( y ++ <" z "> ) -> ( ( S gsum w ) ` K ) = ( ( S gsum ( y ++ <" z "> ) ) ` K ) ) | 
						
							| 37 | 36 | eqeq1d |  |-  ( w = ( y ++ <" z "> ) -> ( ( ( S gsum w ) ` K ) = K <-> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) | 
						
							| 38 | 34 37 | imbi12d |  |-  ( w = ( y ++ <" z "> ) -> ( ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) <-> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) ) | 
						
							| 39 | 38 | imbi2d |  |-  ( w = ( y ++ <" z "> ) -> ( ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) ) <-> ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) ) ) | 
						
							| 40 |  | fveq2 |  |-  ( w = W -> ( # ` w ) = ( # ` W ) ) | 
						
							| 41 | 40 | oveq2d |  |-  ( w = W -> ( 0 ..^ ( # ` w ) ) = ( 0 ..^ ( # ` W ) ) ) | 
						
							| 42 |  | fveq1 |  |-  ( w = W -> ( w ` i ) = ( W ` i ) ) | 
						
							| 43 | 42 | fveq1d |  |-  ( w = W -> ( ( w ` i ) ` K ) = ( ( W ` i ) ` K ) ) | 
						
							| 44 | 43 | eqeq1d |  |-  ( w = W -> ( ( ( w ` i ) ` K ) = K <-> ( ( W ` i ) ` K ) = K ) ) | 
						
							| 45 | 41 44 | raleqbidv |  |-  ( w = W -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K <-> A. i e. ( 0 ..^ ( # ` W ) ) ( ( W ` i ) ` K ) = K ) ) | 
						
							| 46 |  | oveq2 |  |-  ( w = W -> ( S gsum w ) = ( S gsum W ) ) | 
						
							| 47 | 46 | fveq1d |  |-  ( w = W -> ( ( S gsum w ) ` K ) = ( ( S gsum W ) ` K ) ) | 
						
							| 48 | 47 | eqeq1d |  |-  ( w = W -> ( ( ( S gsum w ) ` K ) = K <-> ( ( S gsum W ) ` K ) = K ) ) | 
						
							| 49 | 45 48 | imbi12d |  |-  ( w = W -> ( ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) <-> ( A. i e. ( 0 ..^ ( # ` W ) ) ( ( W ` i ) ` K ) = K -> ( ( S gsum W ) ` K ) = K ) ) ) | 
						
							| 50 | 49 | imbi2d |  |-  ( w = W -> ( ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` w ) ) ( ( w ` i ) ` K ) = K -> ( ( S gsum w ) ` K ) = K ) ) <-> ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` W ) ) ( ( W ` i ) ` K ) = K -> ( ( S gsum W ) ` K ) = K ) ) ) ) | 
						
							| 51 |  | eqid |  |-  ( 0g ` S ) = ( 0g ` S ) | 
						
							| 52 | 51 | gsum0 |  |-  ( S gsum (/) ) = ( 0g ` S ) | 
						
							| 53 | 1 | symgid |  |-  ( N e. Fin -> ( _I |` N ) = ( 0g ` S ) ) | 
						
							| 54 | 53 | adantr |  |-  ( ( N e. Fin /\ K e. N ) -> ( _I |` N ) = ( 0g ` S ) ) | 
						
							| 55 | 52 54 | eqtr4id |  |-  ( ( N e. Fin /\ K e. N ) -> ( S gsum (/) ) = ( _I |` N ) ) | 
						
							| 56 | 55 | fveq1d |  |-  ( ( N e. Fin /\ K e. N ) -> ( ( S gsum (/) ) ` K ) = ( ( _I |` N ) ` K ) ) | 
						
							| 57 |  | fvresi |  |-  ( K e. N -> ( ( _I |` N ) ` K ) = K ) | 
						
							| 58 | 57 | adantl |  |-  ( ( N e. Fin /\ K e. N ) -> ( ( _I |` N ) ` K ) = K ) | 
						
							| 59 | 56 58 | eqtrd |  |-  ( ( N e. Fin /\ K e. N ) -> ( ( S gsum (/) ) ` K ) = K ) | 
						
							| 60 | 59 | a1d |  |-  ( ( N e. Fin /\ K e. N ) -> ( A. i e. (/) ( ( (/) ` i ) ` K ) = K -> ( ( S gsum (/) ) ` K ) = K ) ) | 
						
							| 61 |  | ccatws1len |  |-  ( y e. Word B -> ( # ` ( y ++ <" z "> ) ) = ( ( # ` y ) + 1 ) ) | 
						
							| 62 | 61 | oveq2d |  |-  ( y e. Word B -> ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) = ( 0 ..^ ( ( # ` y ) + 1 ) ) ) | 
						
							| 63 | 62 | raleqdv |  |-  ( y e. Word B -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K <-> A. i e. ( 0 ..^ ( ( # ` y ) + 1 ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K ) ) | 
						
							| 64 | 63 | adantr |  |-  ( ( y e. Word B /\ z e. B ) -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K <-> A. i e. ( 0 ..^ ( ( # ` y ) + 1 ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K ) ) | 
						
							| 65 | 64 | adantr |  |-  ( ( ( y e. Word B /\ z e. B ) /\ ( ( N e. Fin /\ K e. N ) /\ ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) ) -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K <-> A. i e. ( 0 ..^ ( ( # ` y ) + 1 ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K ) ) | 
						
							| 66 | 1 2 | gsmsymgrfixlem1 |  |-  ( ( ( y e. Word B /\ z e. B ) /\ ( N e. Fin /\ K e. N ) /\ ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) -> ( A. i e. ( 0 ..^ ( ( # ` y ) + 1 ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) | 
						
							| 67 | 66 | 3expb |  |-  ( ( ( y e. Word B /\ z e. B ) /\ ( ( N e. Fin /\ K e. N ) /\ ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) ) -> ( A. i e. ( 0 ..^ ( ( # ` y ) + 1 ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) | 
						
							| 68 | 65 67 | sylbid |  |-  ( ( ( y e. Word B /\ z e. B ) /\ ( ( N e. Fin /\ K e. N ) /\ ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) ) -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) | 
						
							| 69 | 68 | exp32 |  |-  ( ( y e. Word B /\ z e. B ) -> ( ( N e. Fin /\ K e. N ) -> ( ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) ) ) | 
						
							| 70 | 69 | a2d |  |-  ( ( y e. Word B /\ z e. B ) -> ( ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` y ) ) ( ( y ` i ) ` K ) = K -> ( ( S gsum y ) ` K ) = K ) ) -> ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` ( y ++ <" z "> ) ) ) ( ( ( y ++ <" z "> ) ` i ) ` K ) = K -> ( ( S gsum ( y ++ <" z "> ) ) ` K ) = K ) ) ) ) | 
						
							| 71 | 17 28 39 50 60 70 | wrdind |  |-  ( W e. Word B -> ( ( N e. Fin /\ K e. N ) -> ( A. i e. ( 0 ..^ ( # ` W ) ) ( ( W ` i ) ` K ) = K -> ( ( S gsum W ) ` K ) = K ) ) ) | 
						
							| 72 | 71 | com12 |  |-  ( ( N e. Fin /\ K e. N ) -> ( W e. Word B -> ( A. i e. ( 0 ..^ ( # ` W ) ) ( ( W ` i ) ` K ) = K -> ( ( S gsum W ) ` K ) = K ) ) ) | 
						
							| 73 | 72 | 3impia |  |-  ( ( N e. Fin /\ K e. N /\ W e. Word B ) -> ( A. i e. ( 0 ..^ ( # ` W ) ) ( ( W ` i ) ` K ) = K -> ( ( S gsum W ) ` K ) = K ) ) |