Metamath Proof Explorer


Theorem iscmnd

Description: Properties that determine a commutative monoid. (Contributed by Mario Carneiro, 7-Jan-2015)

Ref Expression
Hypotheses iscmnd.b
|- ( ph -> B = ( Base ` G ) )
iscmnd.p
|- ( ph -> .+ = ( +g ` G ) )
iscmnd.g
|- ( ph -> G e. Mnd )
iscmnd.c
|- ( ( ph /\ x e. B /\ y e. B ) -> ( x .+ y ) = ( y .+ x ) )
Assertion iscmnd
|- ( ph -> G e. CMnd )

Proof

Step Hyp Ref Expression
1 iscmnd.b
 |-  ( ph -> B = ( Base ` G ) )
2 iscmnd.p
 |-  ( ph -> .+ = ( +g ` G ) )
3 iscmnd.g
 |-  ( ph -> G e. Mnd )
4 iscmnd.c
 |-  ( ( ph /\ x e. B /\ y e. B ) -> ( x .+ y ) = ( y .+ x ) )
5 4 3expib
 |-  ( ph -> ( ( x e. B /\ y e. B ) -> ( x .+ y ) = ( y .+ x ) ) )
6 5 ralrimivv
 |-  ( ph -> A. x e. B A. y e. B ( x .+ y ) = ( y .+ x ) )
7 2 oveqd
 |-  ( ph -> ( x .+ y ) = ( x ( +g ` G ) y ) )
8 2 oveqd
 |-  ( ph -> ( y .+ x ) = ( y ( +g ` G ) x ) )
9 7 8 eqeq12d
 |-  ( ph -> ( ( x .+ y ) = ( y .+ x ) <-> ( x ( +g ` G ) y ) = ( y ( +g ` G ) x ) ) )
10 1 9 raleqbidv
 |-  ( ph -> ( A. y e. B ( x .+ y ) = ( y .+ x ) <-> A. y e. ( Base ` G ) ( x ( +g ` G ) y ) = ( y ( +g ` G ) x ) ) )
11 1 10 raleqbidv
 |-  ( ph -> ( A. x e. B A. y e. B ( x .+ y ) = ( y .+ x ) <-> A. x e. ( Base ` G ) A. y e. ( Base ` G ) ( x ( +g ` G ) y ) = ( y ( +g ` G ) x ) ) )
12 11 anbi2d
 |-  ( ph -> ( ( G e. Mnd /\ A. x e. B A. y e. B ( x .+ y ) = ( y .+ x ) ) <-> ( G e. Mnd /\ A. x e. ( Base ` G ) A. y e. ( Base ` G ) ( x ( +g ` G ) y ) = ( y ( +g ` G ) x ) ) ) )
13 3 6 12 mpbi2and
 |-  ( ph -> ( G e. Mnd /\ A. x e. ( Base ` G ) A. y e. ( Base ` G ) ( x ( +g ` G ) y ) = ( y ( +g ` G ) x ) ) )
14 eqid
 |-  ( Base ` G ) = ( Base ` G )
15 eqid
 |-  ( +g ` G ) = ( +g ` G )
16 14 15 iscmn
 |-  ( G e. CMnd <-> ( G e. Mnd /\ A. x e. ( Base ` G ) A. y e. ( Base ` G ) ( x ( +g ` G ) y ) = ( y ( +g ` G ) x ) ) )
17 13 16 sylibr
 |-  ( ph -> G e. CMnd )