Metamath Proof Explorer


Theorem dfgrp2

Description: Alternate definition of a group as semigroup with a left identity and a left inverse for each element. This "definition" is weaker than df-grp , based on the definition of a monoid which provides a left and a right identity. (Contributed by AV, 28-Aug-2021)

Ref Expression
Hypotheses dfgrp2.b B=BaseG
dfgrp2.p +˙=+G
Assertion dfgrp2 Could not format assertion : No typesetting found for |- ( G e. Grp <-> ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 dfgrp2.b B=BaseG
2 dfgrp2.p +˙=+G
3 grpsgrp Could not format ( G e. Grp -> G e. Smgrp ) : No typesetting found for |- ( G e. Grp -> G e. Smgrp ) with typecode |-
4 grpmnd GGrpGMnd
5 eqid 0G=0G
6 1 5 mndidcl GMnd0GB
7 4 6 syl GGrp0GB
8 oveq1 n=0Gn+˙x=0G+˙x
9 8 eqeq1d n=0Gn+˙x=x0G+˙x=x
10 eqeq2 n=0Gi+˙x=ni+˙x=0G
11 10 rexbidv n=0GiBi+˙x=niBi+˙x=0G
12 9 11 anbi12d n=0Gn+˙x=xiBi+˙x=n0G+˙x=xiBi+˙x=0G
13 12 ralbidv n=0GxBn+˙x=xiBi+˙x=nxB0G+˙x=xiBi+˙x=0G
14 13 adantl GGrpn=0GxBn+˙x=xiBi+˙x=nxB0G+˙x=xiBi+˙x=0G
15 1 2 5 mndlid GMndxB0G+˙x=x
16 4 15 sylan GGrpxB0G+˙x=x
17 1 2 5 grpinvex GGrpxBiBi+˙x=0G
18 16 17 jca GGrpxB0G+˙x=xiBi+˙x=0G
19 18 ralrimiva GGrpxB0G+˙x=xiBi+˙x=0G
20 7 14 19 rspcedvd GGrpnBxBn+˙x=xiBi+˙x=n
21 3 20 jca Could not format ( G e. Grp -> ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) ) : No typesetting found for |- ( G e. Grp -> ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) ) with typecode |-
22 1 a1i Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> B = ( Base ` G ) ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> B = ( Base ` G ) ) with typecode |-
23 2 a1i Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> .+ = ( +g ` G ) ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> .+ = ( +g ` G ) ) with typecode |-
24 sgrpmgm Could not format ( G e. Smgrp -> G e. Mgm ) : No typesetting found for |- ( G e. Smgrp -> G e. Mgm ) with typecode |-
25 24 adantl Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> G e. Mgm ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> G e. Mgm ) with typecode |-
26 1 2 mgmcl GMgmaBbBa+˙bB
27 25 26 syl3an1 Could not format ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ a e. B /\ b e. B ) -> ( a .+ b ) e. B ) : No typesetting found for |- ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ a e. B /\ b e. B ) -> ( a .+ b ) e. B ) with typecode |-
28 1 2 sgrpass Could not format ( ( G e. Smgrp /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) : No typesetting found for |- ( ( G e. Smgrp /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) with typecode |-
29 28 adantll Could not format ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) : No typesetting found for |- ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a .+ b ) .+ c ) = ( a .+ ( b .+ c ) ) ) with typecode |-
30 simpll Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> n e. B ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> n e. B ) with typecode |-
31 oveq2 x=an+˙x=n+˙a
32 id x=ax=a
33 31 32 eqeq12d x=an+˙x=xn+˙a=a
34 oveq2 x=ai+˙x=i+˙a
35 34 eqeq1d x=ai+˙x=ni+˙a=n
36 35 rexbidv x=aiBi+˙x=niBi+˙a=n
37 33 36 anbi12d x=an+˙x=xiBi+˙x=nn+˙a=aiBi+˙a=n
38 37 rspcv aBxBn+˙x=xiBi+˙x=nn+˙a=aiBi+˙a=n
39 simpl n+˙a=aiBi+˙a=nn+˙a=a
40 38 39 syl6com xBn+˙x=xiBi+˙x=naBn+˙a=a
41 40 ad2antlr Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> ( a e. B -> ( n .+ a ) = a ) ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> ( a e. B -> ( n .+ a ) = a ) ) with typecode |-
42 41 imp Could not format ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ a e. B ) -> ( n .+ a ) = a ) : No typesetting found for |- ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ a e. B ) -> ( n .+ a ) = a ) with typecode |-
43 oveq1 i=bi+˙a=b+˙a
44 43 eqeq1d i=bi+˙a=nb+˙a=n
45 44 cbvrexvw iBi+˙a=nbBb+˙a=n
46 45 biimpi iBi+˙a=nbBb+˙a=n
47 46 adantl n+˙a=aiBi+˙a=nbBb+˙a=n
48 38 47 syl6com xBn+˙x=xiBi+˙x=naBbBb+˙a=n
49 48 ad2antlr Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> ( a e. B -> E. b e. B ( b .+ a ) = n ) ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> ( a e. B -> E. b e. B ( b .+ a ) = n ) ) with typecode |-
50 49 imp Could not format ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ a e. B ) -> E. b e. B ( b .+ a ) = n ) : No typesetting found for |- ( ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) /\ a e. B ) -> E. b e. B ( b .+ a ) = n ) with typecode |-
51 22 23 27 29 30 42 50 isgrpde Could not format ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> G e. Grp ) : No typesetting found for |- ( ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) /\ G e. Smgrp ) -> G e. Grp ) with typecode |-
52 51 ex Could not format ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) -> ( G e. Smgrp -> G e. Grp ) ) : No typesetting found for |- ( ( n e. B /\ A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) -> ( G e. Smgrp -> G e. Grp ) ) with typecode |-
53 52 rexlimiva Could not format ( E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) -> ( G e. Smgrp -> G e. Grp ) ) : No typesetting found for |- ( E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) -> ( G e. Smgrp -> G e. Grp ) ) with typecode |-
54 53 impcom Could not format ( ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) -> G e. Grp ) : No typesetting found for |- ( ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) -> G e. Grp ) with typecode |-
55 21 54 impbii Could not format ( G e. Grp <-> ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) ) : No typesetting found for |- ( G e. Grp <-> ( G e. Smgrp /\ E. n e. B A. x e. B ( ( n .+ x ) = x /\ E. i e. B ( i .+ x ) = n ) ) ) with typecode |-