Metamath Proof Explorer


Theorem sgrpidmnd

Description: A semigroup with an identity element which is not the empty set is a monoid. Of course there could be monoids with the empty set as identity element (see, for example, the monoid of the power set of a class under union, pwmnd and pwmndid ), but these cannot be proven to be monoids with this theorem. (Contributed by AV, 29-Jan-2024)

Ref Expression
Hypotheses sgrpidmnd.b B=BaseG
sgrpidmnd.0 0˙=0G
Assertion sgrpidmnd Could not format assertion : No typesetting found for |- ( ( G e. Smgrp /\ E. e e. B ( e =/= (/) /\ e = .0. ) ) -> G e. Mnd ) with typecode |-

Proof

Step Hyp Ref Expression
1 sgrpidmnd.b B=BaseG
2 sgrpidmnd.0 0˙=0G
3 eqid +G=+G
4 1 3 2 grpidval 0˙=ιy|yBxBy+Gx=xx+Gy=x
5 4 eqeq2i e=0˙e=ιy|yBxBy+Gx=xx+Gy=x
6 eleq1w y=eyBeB
7 oveq1 y=ey+Gx=e+Gx
8 7 eqeq1d y=ey+Gx=xe+Gx=x
9 8 ovanraleqv y=exBy+Gx=xx+Gy=xxBe+Gx=xx+Ge=x
10 6 9 anbi12d y=eyBxBy+Gx=xx+Gy=xeBxBe+Gx=xx+Ge=x
11 10 iotan0 eBee=ιy|yBxBy+Gx=xx+Gy=xeBxBe+Gx=xx+Ge=x
12 rsp xBe+Gx=xx+Ge=xxBe+Gx=xx+Ge=x
13 11 12 simpl2im eBee=ιy|yBxBy+Gx=xx+Gy=xxBe+Gx=xx+Ge=x
14 13 3expb eBee=ιy|yBxBy+Gx=xx+Gy=xxBe+Gx=xx+Ge=x
15 14 expcom ee=ιy|yBxBy+Gx=xx+Gy=xeBxBe+Gx=xx+Ge=x
16 5 15 sylan2b ee=0˙eBxBe+Gx=xx+Ge=x
17 16 impcom eBee=0˙xBe+Gx=xx+Ge=x
18 17 ralrimiv eBee=0˙xBe+Gx=xx+Ge=x
19 18 ex eBee=0˙xBe+Gx=xx+Ge=x
20 19 reximia eBee=0˙eBxBe+Gx=xx+Ge=x
21 20 anim2i Could not format ( ( G e. Smgrp /\ E. e e. B ( e =/= (/) /\ e = .0. ) ) -> ( G e. Smgrp /\ E. e e. B A. x e. B ( ( e ( +g ` G ) x ) = x /\ ( x ( +g ` G ) e ) = x ) ) ) : No typesetting found for |- ( ( G e. Smgrp /\ E. e e. B ( e =/= (/) /\ e = .0. ) ) -> ( G e. Smgrp /\ E. e e. B A. x e. B ( ( e ( +g ` G ) x ) = x /\ ( x ( +g ` G ) e ) = x ) ) ) with typecode |-
22 1 3 ismnddef Could not format ( G e. Mnd <-> ( G e. Smgrp /\ E. e e. B A. x e. B ( ( e ( +g ` G ) x ) = x /\ ( x ( +g ` G ) e ) = x ) ) ) : No typesetting found for |- ( G e. Mnd <-> ( G e. Smgrp /\ E. e e. B A. x e. B ( ( e ( +g ` G ) x ) = x /\ ( x ( +g ` G ) e ) = x ) ) ) with typecode |-
23 21 22 sylibr Could not format ( ( G e. Smgrp /\ E. e e. B ( e =/= (/) /\ e = .0. ) ) -> G e. Mnd ) : No typesetting found for |- ( ( G e. Smgrp /\ E. e e. B ( e =/= (/) /\ e = .0. ) ) -> G e. Mnd ) with typecode |-