# Metamath Proof Explorer

## Theorem ismgmhm

Description: Property of a magma homomorphism. (Contributed by AV, 25-Feb-2020)

Ref Expression
Hypotheses ismgmhm.b
`|- B = ( Base ` S )`
ismgmhm.c
`|- C = ( Base ` T )`
ismgmhm.p
`|- .+ = ( +g ` S )`
ismgmhm.q
`|- .+^ = ( +g ` T )`
Assertion ismgmhm
`|- ( F e. ( S MgmHom T ) <-> ( ( S e. Mgm /\ T e. Mgm ) /\ ( F : B --> C /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) ) )`

### Proof

Step Hyp Ref Expression
1 ismgmhm.b
` |-  B = ( Base ` S )`
2 ismgmhm.c
` |-  C = ( Base ` T )`
3 ismgmhm.p
` |-  .+ = ( +g ` S )`
4 ismgmhm.q
` |-  .+^ = ( +g ` T )`
5 mgmhmrcl
` |-  ( F e. ( S MgmHom T ) -> ( S e. Mgm /\ T e. Mgm ) )`
6 fveq2
` |-  ( t = T -> ( Base ` t ) = ( Base ` T ) )`
7 6 2 syl6eqr
` |-  ( t = T -> ( Base ` t ) = C )`
8 fveq2
` |-  ( s = S -> ( Base ` s ) = ( Base ` S ) )`
9 8 1 syl6eqr
` |-  ( s = S -> ( Base ` s ) = B )`
10 7 9 oveqan12rd
` |-  ( ( s = S /\ t = T ) -> ( ( Base ` t ) ^m ( Base ` s ) ) = ( C ^m B ) )`
` |-  ( ( s = S /\ t = T ) -> ( Base ` s ) = B )`
12 fveq2
` |-  ( s = S -> ( +g ` s ) = ( +g ` S ) )`
13 12 3 syl6eqr
` |-  ( s = S -> ( +g ` s ) = .+ )`
14 13 oveqd
` |-  ( s = S -> ( x ( +g ` s ) y ) = ( x .+ y ) )`
15 14 fveq2d
` |-  ( s = S -> ( f ` ( x ( +g ` s ) y ) ) = ( f ` ( x .+ y ) ) )`
16 fveq2
` |-  ( t = T -> ( +g ` t ) = ( +g ` T ) )`
17 16 4 syl6eqr
` |-  ( t = T -> ( +g ` t ) = .+^ )`
18 17 oveqd
` |-  ( t = T -> ( ( f ` x ) ( +g ` t ) ( f ` y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) )`
19 15 18 eqeqan12d
` |-  ( ( s = S /\ t = T ) -> ( ( f ` ( x ( +g ` s ) y ) ) = ( ( f ` x ) ( +g ` t ) ( f ` y ) ) <-> ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) ) )`
20 11 19 raleqbidv
` |-  ( ( s = S /\ t = T ) -> ( A. y e. ( Base ` s ) ( f ` ( x ( +g ` s ) y ) ) = ( ( f ` x ) ( +g ` t ) ( f ` y ) ) <-> A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) ) )`
21 11 20 raleqbidv
` |-  ( ( s = S /\ t = T ) -> ( A. x e. ( Base ` s ) A. y e. ( Base ` s ) ( f ` ( x ( +g ` s ) y ) ) = ( ( f ` x ) ( +g ` t ) ( f ` y ) ) <-> A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) ) )`
22 10 21 rabeqbidv
` |-  ( ( s = S /\ t = T ) -> { f e. ( ( Base ` t ) ^m ( Base ` s ) ) | A. x e. ( Base ` s ) A. y e. ( Base ` s ) ( f ` ( x ( +g ` s ) y ) ) = ( ( f ` x ) ( +g ` t ) ( f ` y ) ) } = { f e. ( C ^m B ) | A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) } )`
23 df-mgmhm
` |-  MgmHom = ( s e. Mgm , t e. Mgm |-> { f e. ( ( Base ` t ) ^m ( Base ` s ) ) | A. x e. ( Base ` s ) A. y e. ( Base ` s ) ( f ` ( x ( +g ` s ) y ) ) = ( ( f ` x ) ( +g ` t ) ( f ` y ) ) } )`
24 ovex
` |-  ( C ^m B ) e. _V`
25 24 rabex
` |-  { f e. ( C ^m B ) | A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) } e. _V`
26 22 23 25 ovmpoa
` |-  ( ( S e. Mgm /\ T e. Mgm ) -> ( S MgmHom T ) = { f e. ( C ^m B ) | A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) } )`
27 26 eleq2d
` |-  ( ( S e. Mgm /\ T e. Mgm ) -> ( F e. ( S MgmHom T ) <-> F e. { f e. ( C ^m B ) | A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) } ) )`
28 fveq1
` |-  ( f = F -> ( f ` ( x .+ y ) ) = ( F ` ( x .+ y ) ) )`
29 fveq1
` |-  ( f = F -> ( f ` x ) = ( F ` x ) )`
30 fveq1
` |-  ( f = F -> ( f ` y ) = ( F ` y ) )`
31 29 30 oveq12d
` |-  ( f = F -> ( ( f ` x ) .+^ ( f ` y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) )`
32 28 31 eqeq12d
` |-  ( f = F -> ( ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) <-> ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) )`
33 32 2ralbidv
` |-  ( f = F -> ( A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) <-> A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) )`
34 33 elrab
` |-  ( F e. { f e. ( C ^m B ) | A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) } <-> ( F e. ( C ^m B ) /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) )`
35 2 fvexi
` |-  C e. _V`
36 1 fvexi
` |-  B e. _V`
37 35 36 elmap
` |-  ( F e. ( C ^m B ) <-> F : B --> C )`
38 37 anbi1i
` |-  ( ( F e. ( C ^m B ) /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) <-> ( F : B --> C /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) )`
39 34 38 bitri
` |-  ( F e. { f e. ( C ^m B ) | A. x e. B A. y e. B ( f ` ( x .+ y ) ) = ( ( f ` x ) .+^ ( f ` y ) ) } <-> ( F : B --> C /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) )`
40 27 39 syl6bb
` |-  ( ( S e. Mgm /\ T e. Mgm ) -> ( F e. ( S MgmHom T ) <-> ( F : B --> C /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) ) )`
` |-  ( F e. ( S MgmHom T ) <-> ( ( S e. Mgm /\ T e. Mgm ) /\ ( F : B --> C /\ A. x e. B A. y e. B ( F ` ( x .+ y ) ) = ( ( F ` x ) .+^ ( F ` y ) ) ) ) )`