Metamath Proof Explorer


Theorem ismnd

Description: The predicate "is a monoid". This is the defining theorem of a monoid by showing that a set is a monoid if and only if it is a set equipped with a closed, everywhere defined internal operation (so, a magma, see mndcl ), whose operation is associative (so, a semigroup, see also mndass ) and has a two-sided neutral element (see mndid ). (Contributed by Mario Carneiro, 6-Jan-2015) (Revised by AV, 1-Feb-2020)

Ref Expression
Hypotheses ismnd.b B=BaseG
ismnd.p +˙=+G
Assertion ismnd GMndaBbBa+˙bBcBa+˙b+˙c=a+˙b+˙ceBaBe+˙a=aa+˙e=a

Proof

Step Hyp Ref Expression
1 ismnd.b B=BaseG
2 ismnd.p +˙=+G
3 1 2 ismnddef Could not format ( G e. Mnd <-> ( G e. Smgrp /\ E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) ) ) : No typesetting found for |- ( G e. Mnd <-> ( G e. Smgrp /\ E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) ) ) with typecode |-
4 rexn0 eBaBe+˙a=aa+˙e=aB
5 fvprc ¬GVBaseG=
6 1 5 eqtrid ¬GVB=
7 6 necon1ai BGV
8 1 2 issgrpv Could not format ( G e. _V -> ( G e. Smgrp <-> A. a e. B A. b e. B ( ( a .+ b ) e. B /\ A. c e. B ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) ) ) : No typesetting found for |- ( G e. _V -> ( G e. Smgrp <-> A. a e. B A. b e. B ( ( a .+ b ) e. B /\ A. c e. B ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) ) ) with typecode |-
9 4 7 8 3syl Could not format ( E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) -> ( G e. Smgrp <-> A. a e. B A. b e. B ( ( a .+ b ) e. B /\ A. c e. B ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) ) ) : No typesetting found for |- ( E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) -> ( G e. Smgrp <-> A. a e. B A. b e. B ( ( a .+ b ) e. B /\ A. c e. B ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) ) ) with typecode |-
10 9 pm5.32ri Could not format ( ( G e. Smgrp /\ E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) ) <-> ( A. a e. B A. b e. B ( ( a .+ b ) e. B /\ A. c e. B ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) /\ E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) ) ) : No typesetting found for |- ( ( G e. Smgrp /\ E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) ) <-> ( A. a e. B A. b e. B ( ( a .+ b ) e. B /\ A. c e. B ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) /\ E. e e. B A. a e. B ( ( e .+ a ) = a /\ ( a .+ e ) = a ) ) ) with typecode |-
11 3 10 bitri GMndaBbBa+˙bBcBa+˙b+˙c=a+˙b+˙ceBaBe+˙a=aa+˙e=a