Description: The monoid operation of a free monoid. (Contributed by Mario Carneiro, 27-Sep-2015) (Revised by Mario Carneiro, 27-Feb-2016) (Proof shortened by AV, 6-Nov-2024)
Ref | Expression | ||
---|---|---|---|
Hypotheses | frmdbas.m | |
|
frmdbas.b | |
||
frmdplusg.p | |
||
Assertion | frmdplusg | |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | frmdbas.m | |
|
2 | frmdbas.b | |
|
3 | frmdplusg.p | |
|
4 | 1 2 | frmdbas | |
5 | eqid | |
|
6 | 1 4 5 | frmdval | |
7 | 6 | fveq2d | |
8 | 3 7 | eqtrid | |
9 | wrdexg | |
|
10 | ccatfn | |
|
11 | xpss | |
|
12 | fnssres | |
|
13 | 10 11 12 | mp2an | |
14 | ovres | |
|
15 | 1 2 | frmdelbas | |
16 | 1 2 | frmdelbas | |
17 | ccatcl | |
|
18 | 15 16 17 | syl2an | |
19 | 14 18 | eqeltrd | |
20 | 19 | rgen2 | |
21 | ffnov | |
|
22 | 13 20 21 | mpbir2an | |
23 | 2 | fvexi | |
24 | 23 23 | xpex | |
25 | fex2 | |
|
26 | 22 24 25 | mp3an12 | |
27 | eqid | |
|
28 | 27 | grpplusg | |
29 | 9 26 28 | 3syl | |
30 | 8 29 | eqtr4d | |
31 | fvprc | |
|
32 | 1 31 | eqtrid | |
33 | 32 | fveq2d | |
34 | 3 33 | eqtrid | |
35 | res0 | |
|
36 | plusgid | |
|
37 | 36 | str0 | |
38 | 35 37 | eqtr2i | |
39 | 34 38 | eqtrdi | |
40 | 32 | fveq2d | |
41 | base0 | |
|
42 | 40 2 41 | 3eqtr4g | |
43 | 42 | xpeq2d | |
44 | xp0 | |
|
45 | 43 44 | eqtrdi | |
46 | 45 | reseq2d | |
47 | 39 46 | eqtr4d | |
48 | 30 47 | pm2.61i | |