Metamath Proof Explorer


Theorem smndex1mnd

Description: The monoid of endofunctions on NN0 restricted to the modulo function I and the constant functions ( GK ) is a monoid. (Contributed by AV, 16-Feb-2024)

Ref Expression
Hypotheses smndex1ibas.m No typesetting found for |- M = ( EndoFMnd ` NN0 ) with typecode |-
smndex1ibas.n N
smndex1ibas.i I = x 0 x mod N
smndex1ibas.g G = n 0 ..^ N x 0 n
smndex1mgm.b B = I n 0 ..^ N G n
smndex1mgm.s S = M 𝑠 B
Assertion smndex1mnd S Mnd

Proof

Step Hyp Ref Expression
1 smndex1ibas.m Could not format M = ( EndoFMnd ` NN0 ) : No typesetting found for |- M = ( EndoFMnd ` NN0 ) with typecode |-
2 smndex1ibas.n N
3 smndex1ibas.i I = x 0 x mod N
4 smndex1ibas.g G = n 0 ..^ N x 0 n
5 smndex1mgm.b B = I n 0 ..^ N G n
6 smndex1mgm.s S = M 𝑠 B
7 1 2 3 4 5 6 smndex1sgrp Could not format S e. Smgrp : No typesetting found for |- S e. Smgrp with typecode |-
8 nn0ex 0 V
9 8 mptex x 0 x mod N V
10 3 9 eqeltri I V
11 10 snid I I
12 elun1 I I I I n 0 ..^ N G n
13 11 12 ax-mp I I n 0 ..^ N G n
14 13 5 eleqtrri I B
15 id I B I B
16 coeq1 a = I a b = I b
17 16 eqeq1d a = I a b = b I b = b
18 coeq2 a = I b a = b I
19 18 eqeq1d a = I b a = b b I = b
20 17 19 anbi12d a = I a b = b b a = b I b = b b I = b
21 20 ralbidv a = I b B a b = b b a = b b B I b = b b I = b
22 21 adantl I B a = I b B a b = b b a = b b B I b = b b I = b
23 1 2 3 4 5 6 smndex1mndlem b B I b = b b I = b
24 23 rgen b B I b = b b I = b
25 24 a1i I B b B I b = b b I = b
26 15 22 25 rspcedvd I B a B b B a b = b b a = b
27 14 26 ax-mp a B b B a b = b b a = b
28 1 2 3 4 5 smndex1basss B Base M
29 ssel B Base M a B a Base M
30 ssel B Base M b B b Base M
31 29 30 anim12d B Base M a B b B a Base M b Base M
32 28 31 ax-mp a B b B a Base M b Base M
33 eqid Base M = Base M
34 snex I V
35 ovex 0 ..^ N V
36 snex G n V
37 35 36 iunex n 0 ..^ N G n V
38 34 37 unex I n 0 ..^ N G n V
39 5 38 eqeltri B V
40 eqid + M = + M
41 6 40 ressplusg B V + M = + S
42 39 41 ax-mp + M = + S
43 42 eqcomi + S = + M
44 1 33 43 efmndov a Base M b Base M a + S b = a b
45 44 eqeq1d a Base M b Base M a + S b = b a b = b
46 43 oveqi b + S a = b + M a
47 1 33 40 efmndov b Base M a Base M b + M a = b a
48 47 ancoms a Base M b Base M b + M a = b a
49 46 48 syl5eq a Base M b Base M b + S a = b a
50 49 eqeq1d a Base M b Base M b + S a = b b a = b
51 45 50 anbi12d a Base M b Base M a + S b = b b + S a = b a b = b b a = b
52 32 51 syl a B b B a + S b = b b + S a = b a b = b b a = b
53 52 ralbidva a B b B a + S b = b b + S a = b b B a b = b b a = b
54 53 rexbiia a B b B a + S b = b b + S a = b a B b B a b = b b a = b
55 27 54 mpbir a B b B a + S b = b b + S a = b
56 1 2 3 4 5 6 smndex1bas Base S = B
57 56 eqcomi B = Base S
58 eqid + S = + S
59 57 58 ismnddef Could not format ( S e. Mnd <-> ( S e. Smgrp /\ E. a e. B A. b e. B ( ( a ( +g ` S ) b ) = b /\ ( b ( +g ` S ) a ) = b ) ) ) : No typesetting found for |- ( S e. Mnd <-> ( S e. Smgrp /\ E. a e. B A. b e. B ( ( a ( +g ` S ) b ) = b /\ ( b ( +g ` S ) a ) = b ) ) ) with typecode |-
60 7 55 59 mpbir2an S Mnd