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 = freeMnd ⁡ I
frmdgsum.u ⊢ U = var FMnd ⁡ I
Assertion frmdgsum ⊢ I ∈ V ∧ W ∈ Word I → ∑ M U ∘ W = W

Proof

Step Hyp Ref Expression
1 frmdmnd.m ⊢ M = freeMnd ⁡ I
2 frmdgsum.u ⊢ U = var FMnd ⁡ I
3 coeq2 ⊢ x = ∅ → U ∘ x = U ∘ ∅
4 co02 ⊢ U ∘ ∅ = ∅
5 3 4 eqtrdi ⊢ x = ∅ → U ∘ x = ∅
6 5 oveq2d ⊢ x = ∅ → ∑ M U ∘ x = ∑ M ∅
7 id ⊢ x = ∅ → x = ∅
8 6 7 eqeq12d ⊢ x = ∅ → ∑ M U ∘ x = x ↔ ∑ M ∅ = ∅
9 8 imbi2d ⊢ x = ∅ → I ∈ V → ∑ M U ∘ x = x ↔ I ∈ V → ∑ M ∅ = ∅
10 coeq2 ⊢ x = y → U ∘ x = U ∘ y
11 10 oveq2d ⊢ x = y → ∑ M U ∘ x = ∑ M U ∘ y
12 id ⊢ x = y → x = y
13 11 12 eqeq12d ⊢ x = y → ∑ M U ∘ x = x ↔ ∑ M U ∘ y = y
14 13 imbi2d ⊢ x = y → I ∈ V → ∑ M U ∘ x = x ↔ I ∈ V → ∑ M U ∘ y = y
15 coeq2 ⊢ x = y ++ ⟨“ z ”⟩ → U ∘ x = U ∘ y ++ ⟨“ z ”⟩
16 15 oveq2d ⊢ x = y ++ ⟨“ z ”⟩ → ∑ M U ∘ x = ∑ M U ∘ y ++ ⟨“ z ”⟩
17 id ⊢ x = y ++ ⟨“ z ”⟩ → x = y ++ ⟨“ z ”⟩
18 16 17 eqeq12d ⊢ x = y ++ ⟨“ z ”⟩ → ∑ M U ∘ x = x ↔ ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
19 18 imbi2d ⊢ x = y ++ ⟨“ z ”⟩ → I ∈ V → ∑ M U ∘ x = x ↔ I ∈ V → ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
20 coeq2 ⊢ x = W → U ∘ x = U ∘ W
21 20 oveq2d ⊢ x = W → ∑ M U ∘ x = ∑ M U ∘ W
22 id ⊢ x = W → x = W
23 21 22 eqeq12d ⊢ x = W → ∑ M U ∘ x = x ↔ ∑ M U ∘ W = W
24 23 imbi2d ⊢ x = W → I ∈ V → ∑ M U ∘ x = x ↔ I ∈ V → ∑ M U ∘ W = W
25 1 frmd0 ⊢ ∅ = 0 M
26 25 gsum0 ⊢ ∑ M ∅ = ∅
27 26 a1i ⊢ I ∈ V → ∑ M ∅ = ∅
28 oveq1 ⊢ ∑ M U ∘ y = y → ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
29 simprl ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → y ∈ Word I
30 simprr ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → z ∈ I
31 30 s1cld ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ⟨“ z ”⟩ ∈ Word I
32 2 vrmdf ⊢ I ∈ V → U : I ⟶ Word I
33 32 adantr ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U : I ⟶ Word I
34 ccatco ⊢ y ∈ Word I ∧ ⟨“ z ”⟩ ∈ Word I ∧ U : I ⟶ Word I → U ∘ y ++ ⟨“ z ”⟩ = U ∘ y ++ U ∘ ⟨“ z ”⟩
35 29 31 33 34 syl3anc ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ y ++ ⟨“ z ”⟩ = U ∘ y ++ U ∘ ⟨“ z ”⟩
36 s1co ⊢ z ∈ I ∧ U : I ⟶ Word I → U ∘ ⟨“ z ”⟩ = ⟨“ U ⁡ z ”⟩
37 30 33 36 syl2anc ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ ⟨“ z ”⟩ = ⟨“ U ⁡ z ”⟩
38 2 vrmdval ⊢ I ∈ V ∧ z ∈ I → U ⁡ z = ⟨“ z ”⟩
39 38 adantrl ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ⁡ z = ⟨“ z ”⟩
40 39 s1eqd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ⟨“ U ⁡ z ”⟩ = ⟨“ ⟨“ z ”⟩ ”⟩
41 37 40 eqtrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ ⟨“ z ”⟩ = ⟨“ ⟨“ z ”⟩ ”⟩
42 41 oveq2d ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ y ++ U ∘ ⟨“ z ”⟩ = U ∘ y ++ ⟨“ ⟨“ z ”⟩ ”⟩
43 35 42 eqtrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ y ++ ⟨“ z ”⟩ = U ∘ y ++ ⟨“ ⟨“ z ”⟩ ”⟩
44 43 oveq2d ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y ++ ⟨“ z ”⟩ = ∑ M U ∘ y ++ ⟨“ ⟨“ z ”⟩ ”⟩
45 1 frmdmnd ⊢ I ∈ V → M ∈ Mnd
46 45 adantr ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → M ∈ Mnd
47 wrdco ⊢ y ∈ Word I ∧ U : I ⟶ Word I → U ∘ y ∈ Word Word I
48 29 33 47 syl2anc ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ y ∈ Word Word I
49 eqid ⊢ Base M = Base M
50 1 49 frmdbas ⊢ I ∈ V → Base M = Word I
51 50 adantr ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → Base M = Word I
52 wrdeq ⊢ Base M = Word I → Word Base M = Word Word I
53 51 52 syl ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → Word Base M = Word Word I
54 48 53 eleqtrrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → U ∘ y ∈ Word Base M
55 31 51 eleqtrrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ⟨“ z ”⟩ ∈ Base M
56 55 s1cld ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ⟨“ ⟨“ z ”⟩ ”⟩ ∈ Word Base M
57 eqid ⊢ + M = + M
58 49 57 gsumccat ⊢ M ∈ Mnd ∧ U ∘ y ∈ Word Base M ∧ ⟨“ ⟨“ z ”⟩ ”⟩ ∈ Word Base M → ∑ M U ∘ y ++ ⟨“ ⟨“ z ”⟩ ”⟩ = ∑ M U ∘ y + M ∑ M ⟨“ ⟨“ z ”⟩ ”⟩
59 46 54 56 58 syl3anc ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y ++ ⟨“ ⟨“ z ”⟩ ”⟩ = ∑ M U ∘ y + M ∑ M ⟨“ ⟨“ z ”⟩ ”⟩
60 49 gsumws1 ⊢ ⟨“ z ”⟩ ∈ Base M → ∑ M ⟨“ ⟨“ z ”⟩ ”⟩ = ⟨“ z ”⟩
61 55 60 syl ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M ⟨“ ⟨“ z ”⟩ ”⟩ = ⟨“ z ”⟩
62 61 oveq2d ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y + M ∑ M ⟨“ ⟨“ z ”⟩ ”⟩ = ∑ M U ∘ y + M ⟨“ z ”⟩
63 49 gsumwcl ⊢ M ∈ Mnd ∧ U ∘ y ∈ Word Base M → ∑ M U ∘ y ∈ Base M
64 46 54 63 syl2anc ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y ∈ Base M
65 1 49 57 frmdadd ⊢ ∑ M U ∘ y ∈ Base M ∧ ⟨“ z ”⟩ ∈ Base M → ∑ M U ∘ y + M ⟨“ z ”⟩ = ∑ M U ∘ y ++ ⟨“ z ”⟩
66 64 55 65 syl2anc ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y + M ⟨“ z ”⟩ = ∑ M U ∘ y ++ ⟨“ z ”⟩
67 62 66 eqtrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y + M ∑ M ⟨“ ⟨“ z ”⟩ ”⟩ = ∑ M U ∘ y ++ ⟨“ z ”⟩
68 59 67 eqtrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y ++ ⟨“ ⟨“ z ”⟩ ”⟩ = ∑ M U ∘ y ++ ⟨“ z ”⟩
69 44 68 eqtrd ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y ++ ⟨“ z ”⟩ = ∑ M U ∘ y ++ ⟨“ z ”⟩
70 69 eqeq1d ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩ ↔ ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
71 28 70 imbitrrid ⊢ I ∈ V ∧ y ∈ Word I ∧ z ∈ I → ∑ M U ∘ y = y → ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
72 71 expcom ⊢ y ∈ Word I ∧ z ∈ I → I ∈ V → ∑ M U ∘ y = y → ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
73 72 a2d ⊢ y ∈ Word I ∧ z ∈ I → I ∈ V → ∑ M U ∘ y = y → I ∈ V → ∑ M U ∘ y ++ ⟨“ z ”⟩ = y ++ ⟨“ z ”⟩
74 9 14 19 24 27 73 wrdind ⊢ W ∈ Word I → I ∈ V → ∑ M U ∘ W = W
75 74 impcom ⊢ I ∈ V ∧ W ∈ Word I → ∑ M U ∘ W = W