Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Free monoid
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Endomorphisms== An '''[[endomorphism]]''' of ''A''<sup>∗</sup> is a morphism from ''A''<sup>∗</sup> to itself.<ref name=LotII450>{{harvtxt|Lothaire|2011|p=450}}</ref> The [[identity map]] ''I'' is an endomorphism of ''A''<sup>∗</sup>, and the endomorphisms form a [[monoid]] under [[composition of functions]]. An endomorphism ''f'' is '''prolongable''' if there is a letter ''a'' such that ''f''(''a'') = ''as'' for a non-empty string ''s''.<ref name=AS10>Allouche & Shallit (2003) p.10</ref> ===String projection=== The operation of [[String operations#String projection|string projection]] is an endomorphism. That is, given a letter ''a'' ∈ Σ and a string ''s'' ∈ Σ<sup>∗</sup>, the string projection ''p''<sub>a</sub>(''s'') removes every occurrence of ''a'' from ''s''; it is formally defined by :<math>p_a(s) = \begin{cases} \varepsilon & \text{if } s=\varepsilon, \text{ the empty string} \\ p_a(t) & \text{if } s=ta \\ p_a(t)b & \text{if } s=tb \text{ and } b\ne a. \end{cases}</math> Note that string projection is well-defined even if the rank of the monoid is infinite, as the above recursive definition works for all strings of finite length. String projection is a [[morphism]] in the category of free monoids, so that :<math>p_a\left(\Sigma^*\right)= \left(\Sigma-a\right)^*</math> where <math>p_a\left(\Sigma^*\right)</math> is understood to be the free monoid of all finite strings that don't contain the letter ''a''. Projection commutes with the operation of string concatenation, so that <math>p_a(st)=p_a(s)p_a(t)</math> for all strings ''s'' and ''t''. There are many right inverses to string projection, and thus it is a [[split epimorphism]]. The identity morphism is <math>p_\varepsilon,</math> defined as <math>p_\varepsilon(s)=s</math> for all strings ''s'', and <math>p_\varepsilon(\varepsilon)=\varepsilon</math>. String projection is commutative, as clearly :<math>p_a(p_b(s))=p_b(p_a(s)).</math> For free monoids of finite rank, this follows from the fact that free monoids of the same rank are isomorphic, as projection reduces the rank of the monoid by one. String projection is [[idempotent]], as :<math>p_a(p_a(s))=p_a(s)</math> for all strings ''s''. Thus, projection is an idempotent, commutative operation, and so it forms a bounded [[semilattice]] or a commutative [[band (algebra)|band]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)