Metamath Proof Explorer


Theorem sgrp1

Description: The structure with one element and the only closed internal operation for a singleton is a semigroup. (Contributed by AV, 10-Feb-2020)

Ref Expression
Hypothesis sgrp1.m
|- M = { <. ( Base ` ndx ) , { I } >. , <. ( +g ` ndx ) , { <. <. I , I >. , I >. } >. }
Assertion sgrp1
|- ( I e. V -> M e. Smgrp )

Proof

Step Hyp Ref Expression
1 sgrp1.m
 |-  M = { <. ( Base ` ndx ) , { I } >. , <. ( +g ` ndx ) , { <. <. I , I >. , I >. } >. }
2 1 mgm1
 |-  ( I e. V -> M e. Mgm )
3 df-ov
 |-  ( I { <. <. I , I >. , I >. } I ) = ( { <. <. I , I >. , I >. } ` <. I , I >. )
4 opex
 |-  <. I , I >. e. _V
5 fvsng
 |-  ( ( <. I , I >. e. _V /\ I e. V ) -> ( { <. <. I , I >. , I >. } ` <. I , I >. ) = I )
6 4 5 mpan
 |-  ( I e. V -> ( { <. <. I , I >. , I >. } ` <. I , I >. ) = I )
7 3 6 eqtrid
 |-  ( I e. V -> ( I { <. <. I , I >. , I >. } I ) = I )
8 7 oveq1d
 |-  ( I e. V -> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } I ) = ( I { <. <. I , I >. , I >. } I ) )
9 7 oveq2d
 |-  ( I e. V -> ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } I ) ) = ( I { <. <. I , I >. , I >. } I ) )
10 8 9 eqtr4d
 |-  ( I e. V -> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } I ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } I ) ) )
11 oveq1
 |-  ( x = I -> ( x { <. <. I , I >. , I >. } y ) = ( I { <. <. I , I >. , I >. } y ) )
12 11 oveq1d
 |-  ( x = I -> ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) )
13 oveq1
 |-  ( x = I -> ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) )
14 12 13 eqeq12d
 |-  ( x = I -> ( ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) ) )
15 14 2ralbidv
 |-  ( x = I -> ( A. y e. { I } A. z e. { I } ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> A. y e. { I } A. z e. { I } ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) ) )
16 15 ralsng
 |-  ( I e. V -> ( A. x e. { I } A. y e. { I } A. z e. { I } ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> A. y e. { I } A. z e. { I } ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) ) )
17 oveq2
 |-  ( y = I -> ( I { <. <. I , I >. , I >. } y ) = ( I { <. <. I , I >. , I >. } I ) )
18 17 oveq1d
 |-  ( y = I -> ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) )
19 oveq1
 |-  ( y = I -> ( y { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } z ) )
20 19 oveq2d
 |-  ( y = I -> ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) )
21 18 20 eqeq12d
 |-  ( y = I -> ( ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) ) )
22 21 ralbidv
 |-  ( y = I -> ( A. z e. { I } ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> A. z e. { I } ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) ) )
23 22 ralsng
 |-  ( I e. V -> ( A. y e. { I } A. z e. { I } ( ( I { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> A. z e. { I } ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) ) )
24 oveq2
 |-  ( z = I -> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) = ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } I ) )
25 oveq2
 |-  ( z = I -> ( I { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } I ) )
26 25 oveq2d
 |-  ( z = I -> ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } I ) ) )
27 24 26 eqeq12d
 |-  ( z = I -> ( ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) <-> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } I ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } I ) ) ) )
28 27 ralsng
 |-  ( I e. V -> ( A. z e. { I } ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } z ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } z ) ) <-> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } I ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } I ) ) ) )
29 16 23 28 3bitrd
 |-  ( I e. V -> ( A. x e. { I } A. y e. { I } A. z e. { I } ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) <-> ( ( I { <. <. I , I >. , I >. } I ) { <. <. I , I >. , I >. } I ) = ( I { <. <. I , I >. , I >. } ( I { <. <. I , I >. , I >. } I ) ) ) )
30 10 29 mpbird
 |-  ( I e. V -> A. x e. { I } A. y e. { I } A. z e. { I } ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) )
31 snex
 |-  { I } e. _V
32 1 grpbase
 |-  ( { I } e. _V -> { I } = ( Base ` M ) )
33 31 32 ax-mp
 |-  { I } = ( Base ` M )
34 snex
 |-  { <. <. I , I >. , I >. } e. _V
35 1 grpplusg
 |-  ( { <. <. I , I >. , I >. } e. _V -> { <. <. I , I >. , I >. } = ( +g ` M ) )
36 34 35 ax-mp
 |-  { <. <. I , I >. , I >. } = ( +g ` M )
37 33 36 issgrp
 |-  ( M e. Smgrp <-> ( M e. Mgm /\ A. x e. { I } A. y e. { I } A. z e. { I } ( ( x { <. <. I , I >. , I >. } y ) { <. <. I , I >. , I >. } z ) = ( x { <. <. I , I >. , I >. } ( y { <. <. I , I >. , I >. } z ) ) ) )
38 2 30 37 sylanbrc
 |-  ( I e. V -> M e. Smgrp )