Metamath Proof Explorer


Theorem frmdgsum

Description: Any word in a free monoid can be expressed as the sum of the singletons composing it. (Contributed by Mario Carneiro, 27-Sep-2015)

Ref Expression
Hypotheses frmdmnd.m M=freeMndI
frmdgsum.u U=varFMndI
Assertion frmdgsum IVWWordIMUW=W

Proof

Step Hyp Ref Expression
1 frmdmnd.m M=freeMndI
2 frmdgsum.u U=varFMndI
3 coeq2 x=Ux=U
4 co02 U=
5 3 4 eqtrdi x=Ux=
6 5 oveq2d x=MUx=M
7 id x=x=
8 6 7 eqeq12d x=MUx=xM=
9 8 imbi2d x=IVMUx=xIVM=
10 coeq2 x=yUx=Uy
11 10 oveq2d x=yMUx=MUy
12 id x=yx=y
13 11 12 eqeq12d x=yMUx=xMUy=y
14 13 imbi2d x=yIVMUx=xIVMUy=y
15 coeq2 x=y++⟨“z”⟩Ux=Uy++⟨“z”⟩
16 15 oveq2d x=y++⟨“z”⟩MUx=MUy++⟨“z”⟩
17 id x=y++⟨“z”⟩x=y++⟨“z”⟩
18 16 17 eqeq12d x=y++⟨“z”⟩MUx=xMUy++⟨“z”⟩=y++⟨“z”⟩
19 18 imbi2d x=y++⟨“z”⟩IVMUx=xIVMUy++⟨“z”⟩=y++⟨“z”⟩
20 coeq2 x=WUx=UW
21 20 oveq2d x=WMUx=MUW
22 id x=Wx=W
23 21 22 eqeq12d x=WMUx=xMUW=W
24 23 imbi2d x=WIVMUx=xIVMUW=W
25 1 frmd0 =0M
26 25 gsum0 M=
27 26 a1i IVM=
28 oveq1 MUy=yMUy++⟨“z”⟩=y++⟨“z”⟩
29 simprl IVyWordIzIyWordI
30 simprr IVyWordIzIzI
31 30 s1cld IVyWordIzI⟨“z”⟩WordI
32 2 vrmdf IVU:IWordI
33 32 adantr IVyWordIzIU:IWordI
34 ccatco yWordI⟨“z”⟩WordIU:IWordIUy++⟨“z”⟩=Uy++U⟨“z”⟩
35 29 31 33 34 syl3anc IVyWordIzIUy++⟨“z”⟩=Uy++U⟨“z”⟩
36 s1co zIU:IWordIU⟨“z”⟩=⟨“Uz”⟩
37 30 33 36 syl2anc IVyWordIzIU⟨“z”⟩=⟨“Uz”⟩
38 2 vrmdval IVzIUz=⟨“z”⟩
39 38 adantrl IVyWordIzIUz=⟨“z”⟩
40 39 s1eqd IVyWordIzI⟨“Uz”⟩=⟨“⟨“z”⟩”⟩
41 37 40 eqtrd IVyWordIzIU⟨“z”⟩=⟨“⟨“z”⟩”⟩
42 41 oveq2d IVyWordIzIUy++U⟨“z”⟩=Uy++⟨“⟨“z”⟩”⟩
43 35 42 eqtrd IVyWordIzIUy++⟨“z”⟩=Uy++⟨“⟨“z”⟩”⟩
44 43 oveq2d IVyWordIzIMUy++⟨“z”⟩=MUy++⟨“⟨“z”⟩”⟩
45 1 frmdmnd IVMMnd
46 45 adantr IVyWordIzIMMnd
47 wrdco yWordIU:IWordIUyWordWordI
48 29 33 47 syl2anc IVyWordIzIUyWordWordI
49 eqid BaseM=BaseM
50 1 49 frmdbas IVBaseM=WordI
51 50 adantr IVyWordIzIBaseM=WordI
52 wrdeq BaseM=WordIWordBaseM=WordWordI
53 51 52 syl IVyWordIzIWordBaseM=WordWordI
54 48 53 eleqtrrd IVyWordIzIUyWordBaseM
55 31 51 eleqtrrd IVyWordIzI⟨“z”⟩BaseM
56 55 s1cld IVyWordIzI⟨“⟨“z”⟩”⟩WordBaseM
57 eqid +M=+M
58 49 57 gsumccat MMndUyWordBaseM⟨“⟨“z”⟩”⟩WordBaseMMUy++⟨“⟨“z”⟩”⟩=MUy+MM⟨“⟨“z”⟩”⟩
59 46 54 56 58 syl3anc IVyWordIzIMUy++⟨“⟨“z”⟩”⟩=MUy+MM⟨“⟨“z”⟩”⟩
60 49 gsumws1 ⟨“z”⟩BaseMM⟨“⟨“z”⟩”⟩=⟨“z”⟩
61 55 60 syl IVyWordIzIM⟨“⟨“z”⟩”⟩=⟨“z”⟩
62 61 oveq2d IVyWordIzIMUy+MM⟨“⟨“z”⟩”⟩=MUy+M⟨“z”⟩
63 49 gsumwcl MMndUyWordBaseMMUyBaseM
64 46 54 63 syl2anc IVyWordIzIMUyBaseM
65 1 49 57 frmdadd MUyBaseM⟨“z”⟩BaseMMUy+M⟨“z”⟩=MUy++⟨“z”⟩
66 64 55 65 syl2anc IVyWordIzIMUy+M⟨“z”⟩=MUy++⟨“z”⟩
67 62 66 eqtrd IVyWordIzIMUy+MM⟨“⟨“z”⟩”⟩=MUy++⟨“z”⟩
68 59 67 eqtrd IVyWordIzIMUy++⟨“⟨“z”⟩”⟩=MUy++⟨“z”⟩
69 44 68 eqtrd IVyWordIzIMUy++⟨“z”⟩=MUy++⟨“z”⟩
70 69 eqeq1d IVyWordIzIMUy++⟨“z”⟩=y++⟨“z”⟩MUy++⟨“z”⟩=y++⟨“z”⟩
71 28 70 imbitrrid IVyWordIzIMUy=yMUy++⟨“z”⟩=y++⟨“z”⟩
72 71 expcom yWordIzIIVMUy=yMUy++⟨“z”⟩=y++⟨“z”⟩
73 72 a2d yWordIzIIVMUy=yIVMUy++⟨“z”⟩=y++⟨“z”⟩
74 9 14 19 24 27 73 wrdind WWordIIVMUW=W
75 74 impcom IVWWordIMUW=W