Języki, automaty i obliczenia/Wykład 1: Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rogoda (dyskusja | edycje)
Nie podano opisu zmian
m Zastępowanie tekstu – „,...,” na „,\ldots,”
 
(Nie pokazano 26 wersji utworzonych przez 5 użytkowników)
Linia 1: Linia 1:
__FORCETOC__
==Definicje, oznaczenia i podstawowe własności==
==Definicje, oznaczenia i podstawowe własności==


<br>
Przyjmijmy, że  <math>\mathbb{N}=\left\{ 1,2,\ldots \right\}</math> oznacza zbiór liczb naturalnych,
Przyjmijmy, że  <math>\mathbb{N}=\left\{ 1,2,\ldots \right\} </math> oznacza zbiór liczb naturalnych,
a <math>\mathbb{N}_{0}</math> zbiór liczb naturalnych wraz z '''0'''. Przypomnimy teraz podstawowe wiadomości z wykładu Algebra Liniowa dotyczące struktur algebraicznych, a dokładniej struktur najprostszych, półgrup i monoidów, posiadających jedno tylko działanie.
a <math>\mathbb{N}_{0} </math> zbiór liczb naturalnych wraz z '''0'''. Przypomnimy teraz podstawowe wiadomości z wykładu Algebra Liniowa dotyczące struktur algebraicznych, a dokładniej struktur najprostszych, półgrup i monoidów, posiadających jedno tylko działanie.


{{definicja|1.1||
{{definicja|1.1||
Zbiór <math>S </math>, w którym określone jest działanie łączne, to znaczy spełniające warunek
Zbiór <math>S</math>, w którym określone jest działanie łączne, to znaczy spełniające warunek


<center><math>\forall x,y,z \in S \;\;\; x\cdot (y\cdot z)=(x\cdot y)\cdot z</math></center>
<center><math>\forall x,y,z \in S \;\;\; x\cdot (y\cdot z)=(x\cdot y)\cdot z</math></center>
Linia 14: Linia 14:
{{przyklad|1.1||
{{przyklad|1.1||


Zbiór liczb naturalnych z dodawaniem <math>(\mathbb{N},+) </math> tworzy  półgrupę.
Zbiór liczb naturalnych z dodawaniem <math>(\mathbb{N},+)</math> tworzy  półgrupę.
}}
}}
{{definicja|1.2||
{{definicja|1.2||


Półgrupę <math>M </math>, w której istnieje element neutralny działania, to znaczy element <math>1_{M}\in M </math> spełniający warunek
Półgrupę <math>M</math>, w której istnieje element neutralny działania, to znaczy element <math>1_{M}\in M</math> spełniający warunek


<center><math> \forall x\in M \;\;\;1_M \cdot x=x\cdot 1_M=x</math></center>
<center><math>\forall x\in M \;\;\;1_M \cdot x=x\cdot 1_M=x</math></center>


nazywamy '''monoidem'''.
nazywamy '''monoidem'''.
Linia 26: Linia 26:
{{przyklad|1.2||
{{przyklad|1.2||


: (1) Zbiór liczb naturalnych z mnożeniem <math>(\mathbb{N},\cdot ,1) </math> jest monoidem.
: (1) Zbiór liczb naturalnych z mnożeniem <math>(\mathbb{N},\cdot ,1)</math> jest monoidem.


: (2) Zbiór liczb naturalnych z zerem <math>(\mathbb{N}_{0},+,0) </math> jest monoidem ze względu na dodawanie.
: (2) Zbiór liczb naturalnych z zerem <math>(\mathbb{N}_{0},+,0)</math> jest monoidem ze względu na dodawanie.


: (3) Monoidem jest <math>(A^A,\circ,id_A)</math> - zbiór odwzorowań dowolnego zbioru <math>{A}</math> w siebie ze składaniem jako działaniem i identycznością jako elementem neutralnym.
: (3) Monoidem jest <math>(A^A,\circ,id_A)</math> - zbiór odwzorowań dowolnego zbioru <math>{A}</math> w siebie ze składaniem jako działaniem i identycznością jako elementem neutralnym.
Linia 39: Linia 39:
Dla uproszczenia notacji będziemy opuszczać kropkę "<math>\cdot</math>" oznaczającą działanie oraz
Dla uproszczenia notacji będziemy opuszczać kropkę "<math>\cdot</math>" oznaczającą działanie oraz
używać nazwy "jedynka" na element neutralny. Jeśli nie będzie zaznaczone inaczej, to
używać nazwy "jedynka" na element neutralny. Jeśli nie będzie zaznaczone inaczej, to
<math>(\mathbf{S},\cdot ) </math> będzie oznaczać  półgrupę, a <math>(\mathbf{M},\cdot ,\, 1_{\mathbf{M}}) </math>  monoid. Ze względu na łączność działania zarówno w półgrupie, jak i w monoidzie iloczyn <math>x_1...x_n,</math> a także <math>x^n=x...x</math> (n razy) jest określony jednoznacznie bez potrzeby wprowadzania nawiasów. Dla dowolnych liczb naturalnych <math>m,n\in \mathbb{N} </math> zachodzą wzory
<math>(\mathbf{S},\cdot )</math> będzie oznaczać  półgrupę, a <math>(\mathbf{M},\cdot ,\, 1_{\mathbf{M}})</math>  monoid. Ze względu na łączność działania zarówno w półgrupie, jak i w monoidzie iloczyn <math>x_1...x_n</math>, a także <math>x^n=x...x</math> (n razy) jest określony jednoznacznie bez potrzeby wprowadzania nawiasów. Dla dowolnych liczb naturalnych <math>m,n\in \mathbb{N}</math> zachodzą wzory


<center><math>\begin{array} {c}
<center><math>\begin{array} {c}
Linia 46: Linia 46:
\end{array}</math></center>
\end{array}</math></center>


Dla dowolnego <math>x \in M</math> przyjmujemy z definicji <center><math>x^0 = 1_{M}.</math></center>
Dla dowolnego <math>x \in M</math> przyjmujemy z definicji <center><math>x^0 = 1_{M}</math>.</center>
Strukturę monoidu <math> M</math>  przenosimy na zbiór potęgowy <math>\mathcal{P}(M) </math>
Strukturę monoidu <math>M</math>  przenosimy na zbiór potęgowy <math>\mathcal{P}(M)</math>
wszystkich podzbiorów monoidu <math>M </math>, określając dla dowolnych <math>A,B \in\mathcal{P}(M) </math> działanie
wszystkich podzbiorów monoidu <math>M</math>, określając dla dowolnych <math>A,B \in\mathcal{P}(M)</math> działanie


<center><math>
<center><math>
A\cdot B=\left\{ x\in {\bf M}\: :\: \exists a\in A,\: \exists b\in B\: ,\: x=ab\right\}
A\cdot B=\left\{ x\in {\bf M}\ :\ \exists a\in A,\ \exists b\in B,\ x=ab\right\}
</math></center>
</math></center>


<math>(\mathcal{P}(M),\cdot, \{1_{M}\}) </math> jest monoidem. <br>
<math>(\mathcal{P}(M),\cdot, \{1_{M}\})</math> jest monoidem. <br>
Podobnie  przenosimy strukturę półgrupy z <math>S </math> na <math>\mathcal{P}(S) </math>.<br>
Podobnie  przenosimy strukturę półgrupy z <math>S</math> na <math>\mathcal{P}(S)</math>.<br>
Dla dowolnego podzbioru monoidu
Dla dowolnego podzbioru monoidu
(półgrupy) i dla dowolnej liczby <math>n \in \mathbb{N} </math>  zapis <math>A^n</math> oznacza n-krotny iloczyn
(półgrupy) i dla dowolnej liczby <math>n \in \mathbb{N}</math>  zapis <math>A^n</math> oznacza n-krotny iloczyn
zbioru <math>\textnormal{A}</math> przez siebie rozumiany w powyższym sensie. <br>
zbioru <math>\text{A}</math> przez siebie rozumiany w powyższym sensie. <br>
W szczególności <math>A^{1}=A. </math>
W szczególności <math>A^{1}=A</math>
W przypadku monoidu przyjmujemy z definicji <center><math>A^0 = \{ 1_{ M} \}.</math></center>
W przypadku monoidu przyjmujemy z definicji <center><math>A^0 = \{ 1_{ M} \}</math>.</center>
{{definicja|1.3||
{{definicja|1.3||
'''Homomorfizmem''' '''półgrup''' <math>(S,\cdot)\;,\;\;(S',*)</math> nazywamy
'''Homomorfizmem''' '''półgrup''' <math>(S,\cdot)\;,\;\;(S',*)</math> nazywamy
odwzorowanie
odwzorowanie
<math>h~:S~\longmapsto~S'</math> takie, że <center><math> \forall x,y \in S \;\;\; h(x\cdot y)=h(x)*h(y).</math></center>
<math>h~:S~\longmapsto~S'</math> takie, że <center><math>\forall x,y \in S \;\;\; h(x\cdot y)=h(x)*h(y)</math>.</center>


'''Homomorfizmem monoidów''' <math>(M,\cdot,1_{M}),\;(M',*,1_{M'})</math> nazywamy
'''Homomorfizmem monoidów''' <math>(M,\cdot,1_{M}),\;(M',*,1_{M'})</math> nazywamy
odwzorowanie <math>h:M \longmapsto M'</math>
odwzorowanie <math>h:M \longmapsto M'</math>
takie, że <center><math> \forall x,y \in {M} \;\;\;h(x\cdot y)=h(x)*h(y) \;\;\; i \;\;\; h(1_{M})= 1_{M'}.</math></center>
takie, że <center><math>\forall x,y \in {M} \;\;\;h(x\cdot y)=h(x)*h(y) \;\;\; i \;\;\; h(1_{M})= 1_{M'}</math>.</center>
}}
}}
{{przyklad|1.3||
{{przyklad|1.3||


Odwzorowanie <math>h:{\mathbb{Z}}_{mod\, 3}\longrightarrow {\mathbb{Z}}_{mod\,6} </math>
Odwzorowanie <math>h:{\mathbb{Z}}_{mod\, 3}\longrightarrow {\mathbb{Z}}_{mod\,6}</math>
takie, że  
takie, że  


Linia 81: Linia 81:
2\longrightarrow 2
2\longrightarrow 2
\end{array}  
\end{array}  
\end{array} </math></center>
\end{array}</math></center>


jest homomorfizmem półgrupy <math>(\mathbb{Z}_{mod\,3},\cdot ) </math> w półgrupę
jest homomorfizmem półgrupy <math>(\mathbb{Z}_{mod\,3},\cdot )</math> w półgrupę
<math>(\mathbb{Z}_{mod\,6},\cdot ) </math>, ale nie jest homomorfizmem monoidu <math>(\mathbb{Z}_{mod\,3},\cdot,1 ) </math> w monoid
<math>(\mathbb{Z}_{mod\,6},\cdot )</math>, ale nie jest homomorfizmem monoidu <math>(\mathbb{Z}_{mod\,3},\cdot,1 )</math> w monoid
<math>(\mathbb{Z}_{mod\,6},\cdot,1 ) </math>, bo  wartością '''1''' z monoidu <math>(\mathbb{Z}_{mod\,3},\cdot, 1 ) </math>
<math>(\mathbb{Z}_{mod\,6},\cdot,1 )</math>, bo  wartością '''1''' z monoidu <math>(\mathbb{Z}_{mod\,3},\cdot, 1 )</math>
nie jest jedynka monoidu <math>(\mathbb{Z}_{mod\,6},\cdot,1 ) </math>.
nie jest jedynka monoidu <math>(\mathbb{Z}_{mod\,6},\cdot,1 )</math>.
}}
}}


{{uwaga|Dla zainteresowanych definicja 1.4||
{{zainteresowani|||
 
'''Definicja 1.4.'''


Niech <math>(S,\cdot),\;\;(M,\cdot,1_{M})</math> będą odpowiednio dowolną półgrupą, monoidem.
Niech <math>(S,\cdot),\;\;(M,\cdot,1_{M})</math> będą odpowiednio dowolną półgrupą, monoidem.


* <math>(T,\cdot)</math> nazywamy '''podpółgrupą '''<math>{S}</math> wtedy i tylko wtedy, gdy <math>T\subset S</math> i <math>T^2 \subset T.</math>
* <math>(T,\cdot)</math> nazywamy '''podpółgrupą '''<math>{S}</math> wtedy i tylko wtedy, gdy <math>T\subset S</math> i <math>T^2 \subset T</math>.


* <math>(N,\cdot,1_{M})</math> nazywamy '''podmonoidem''' <math>M</math> wtedy i tylko wtedy, gdy <math>N</math> jest podpółgrupą <math>M</math> i <math>1_{M} \in N.</math>
* <math>(N,\cdot,1_{M})</math> nazywamy '''podmonoidem''' <math>M</math> wtedy i tylko wtedy, gdy <math>N</math> jest podpółgrupą <math>M</math> i <math>1_{M} \in N</math>
}}
 
{{uwaga|Dla zainteresowanych przyklad 1.4||
'''Przykład 1.4.'''


<math>(\mathbb{Z}_{mod\,6},\cdot ) </math> jest monoidem.  Podzbiór <math>\{2,4\} </math>, jako zamknięty na działanie <math>\cdot _{mod\, 6} </math>, tworzy podpółgrupę <math>\mathbb{Z}_{mod\, 6} </math>. <math>(\{2,4\},\cdot _{mod\, 6}) </math> jest monoidem z
<math>(\mathbb{Z}_{mod\,6},\cdot )</math> jest monoidem.  Podzbiór <math>\{2,4\}</math>, jako zamknięty na działanie <math>\cdot _{mod\, 6}</math>, tworzy podpółgrupę <math>\mathbb{Z}_{mod\, 6}</math>. <math>(\{2,4\},\cdot _{mod\, 6})</math> jest monoidem z
<math>4 </math> jako elementem neutralnym, ale nie podmonoidem <math>\mathbb{Z}_{mod\, 6} </math>.
<math>4</math> jako elementem neutralnym, ale nie podmonoidem <math>\mathbb{Z}_{mod\, 6}</math>.


Niech <math>X</math> będzie dowolnym podzbiorem monoidu <math>M</math>. Zbiór
Niech <math>X</math> będzie dowolnym podzbiorem monoidu <math>M</math>. Zbiór
Linia 117: Linia 119:
:2. Dla dowolnego monoidu istnieje zbiór generatorów, jest nim w szczególności zbiór <math>{M}</math>.
:2. Dla dowolnego monoidu istnieje zbiór generatorów, jest nim w szczególności zbiór <math>{M}</math>.


Podobnie dla dowolnego podzbioru <math>X </math> półgrupy <math>{S}</math> zbiór
Podobnie dla dowolnego podzbioru <math>X</math> półgrupy <math>{S}</math> zbiór




Linia 124: Linia 126:


jest podpółgrupą <math>{S}</math> i to najmniejszą w sensie inkluzji zawierającą zbiór <math>X</math>. <br> Powyższe uwagi dotyczące zbioru generatorów monoidów przenoszą się odpowiednio dla półgrup.
jest podpółgrupą <math>{S}</math> i to najmniejszą w sensie inkluzji zawierającą zbiór <math>X</math>. <br> Powyższe uwagi dotyczące zbioru generatorów monoidów przenoszą się odpowiednio dla półgrup.
}}
{{uwaga|Dla zainteresowanych przyklad 1.5||


W monoidzie <math>(\mathbb{N}_{0},+,0) </math> podmonoid generowany przez zbiór generatorów
'''Przykład 1.5.'''
<math>X=\{2\} </math> składa się z liczb parzystych i nieujemnych.
 
W monoidzie <math>(\mathbb{N}_{0},+,0)</math> podmonoid generowany przez zbiór generatorów
<math>X=\{2\}</math> składa się z liczb parzystych i nieujemnych.


}}
}}
{{definicja|1.5||
{{definicja|1.5||


Niech <math>S </math> będzie półgrupą. Relację równoważności <math>\rho \subset {S}^2 </math> nazywamy:
Niech <math>S</math> będzie półgrupą. Relację równoważności <math>\rho \subset {S}^2</math> nazywamy:


: (1) '''prawą kongruencją''' w półgrupie <math>{S}</math>, jeśli <center><math> \forall x,y,z \in {S} \;\;\; x\;\rho\; y \Rightarrow xz\;\rho\; yz,</math></center>
: (1) '''prawą kongruencją''' w półgrupie <math>{S}</math>, jeśli <center><math>\forall x,y,z \in {S} \;\;\; x\;\rho\; y \Rightarrow xz\;\rho\; yz</math>,</center>


: (2) '''lewą kongruencją''' w półgrupie <math>{S}</math>, jeśli <center><math> \forall x,y,z \in {S} \;\;\; x\;\rho\; y \Rightarrow zx\;\rho\; zy,</math></center>
: (2) '''lewą kongruencją''' w półgrupie <math>{S}</math>, jeśli <center><math>\forall x,y,z \in {S} \;\;\; x\;\rho\; y \Rightarrow zx\;\rho\; zy</math>,</center>


: (3) '''kongruencją''', jeśli jest prawą i lewą kongruencją, tzn. <center><math> \forall x,y,z \in {S} \;\;\; x\;\rho\; y \Rightarrow zx\;\rho\; zy \;\; i \;\; xz\;\rho\; yz.</math></center>
: (3) '''kongruencją''', jeśli jest prawą i lewą kongruencją, tzn. <center><math>\forall x,y,z \in {S} \;\;\; x\;\rho\; y \Rightarrow zx\;\rho\; zy \;\; i \;\; xz\;\rho\; yz</math>.</center>


Zastępując w powyższej definicji półgrupę <math>S </math> na monoid <math>M </math> otrzymamy dualnie pojęcia prawej kongruencji,
Zastępując w powyższej definicji półgrupę <math>S</math> na monoid <math>M</math> otrzymamy dualnie pojęcia prawej kongruencji,
lewej kongruencji i kongruencji zdefiniowane w monoidzie. <br>
lewej kongruencji i kongruencji zdefiniowane w monoidzie. <br>
Mając kongruencję <math>\rho</math> określoną w&nbsp;półgrupie <math>{S}</math> (monoidzie
Mając kongruencję <math>\rho</math> określoną w&nbsp;półgrupie <math>{S}</math> (monoidzie
<math>M) </math> możemy utworzyć półgrupę ilorazową <math>{S}/\rho</math> (monoid ilorazowy <math>{M}/\rho</math>), której elementami
<math>M)</math> możemy utworzyć półgrupę ilorazową <math>{S}/\rho</math> (monoid ilorazowy <math>{M}/\rho</math>), której elementami
są klasy równoważności (abstrakcji) relacji <math>\rho </math>.<br>
są klasy równoważności (abstrakcji) relacji <math>\rho</math>.<br>


Dla dowolnego homomorfizmu półgrup <math>h:{S}\longmapsto {S}'</math> określamy relację
Dla dowolnego homomorfizmu półgrup <math>h:{S}\longmapsto {S}'</math> określamy relację
<center><math>Ker_h = \{ (x,y)\in {S}\times {S}\;:\;\; h(x)=h(y) \}.</math></center> Relacja <math>Ker_h</math> jest kongruencją w półgrupie <math>{S}.</math> <br>
<center><math>Ker_h = \{ (x,y)\in {S}\times {S}\;:\;\; h(x)=h(y) \}</math>.</center> Relacja <math>Ker_h</math> jest kongruencją w półgrupie <math>{S}</math>. <br>
Dla homomorfizmu monoidów <math>h:{M}\longmapsto {M}'</math>  relacja <math>Ker_h</math> jest kongruencją
Dla homomorfizmu monoidów <math>h:{M}\longmapsto {M}'</math>  relacja <math>Ker_h</math> jest kongruencją
w monoidzie <math>M </math>.
w monoidzie <math>M</math>.


Podstawowe twierdzenie o epimorfizmie dla struktur algebraicznych przyjmuje dla półgrup i odpowiednio dla monoidów następującą postać.
Podstawowe twierdzenie o epimorfizmie dla struktur algebraicznych przyjmuje dla półgrup i odpowiednio dla monoidów następującą postać.
Linia 156: Linia 158:
{{twierdzenie|1.1||
{{twierdzenie|1.1||


Niech <math>h:{S}\longmapsto {S}'</math> będzie dowolnym epimorfizmem półgrupy <math>{S}</math> na półgrupę <math>{S}'.</math> Półgrupa <math>{S}'</math> jest
Niech <math>h:{S}\longmapsto {S}'</math> będzie dowolnym epimorfizmem półgrupy <math>{S}</math> na półgrupę <math>{S}'</math>. Półgrupa <math>{S}'</math> jest
izomorficzna z półgrupą ilorazową <math>{S}/_{Ker_h}</math>.
izomorficzna z półgrupą ilorazową <math>{S}/_{Ker_h}</math>.
}}
}}


<center>
<center>
<div class="thumb"><div style="width:150px;">
<div class="thumb"><div style="width:200px;"><flash>file=Ja-1-1.swf|width=200|height=200</flash>
<flash>file=Ja-1-1.swf|width=150|height=150</flash>
<div.thumbcaption>Rysunek 1</div>
<div.thumbcaption>rys-01</div>
</div></div>
</div></div>
</center>
</center>


{{twierdzenie|1.2||
{{twierdzenie|1.2||
Niech <math>h:{M}\longmapsto {M}'</math> będzie dowolnym epimorfizmem monoidu <math>{M}</math> na
Niech <math>h:{M}\longmapsto {M}'</math> będzie dowolnym epimorfizmem monoidu <math>{M}</math> na
monoid <math>{M}'.</math> Monoid <math>{M}'</math> jest izomorficzny z monoidem ilorazowym <math>{M}/_{Ker_h}</math>.
monoid <math>{M}'</math>. Monoid <math>{M}'</math> jest izomorficzny z monoidem ilorazowym <math>{M}/_{Ker_h}</math>.
}}
}}


<center>
<center>
<div class="thumb"><div style="width:150px;">
[[File:Ja-1-2.svg|200x200px|thumb|center|Rysunek 2]]
<flash>file=Ja-1-2.swf|width=150|height=150</flash>
<div.thumbcaption>rys-02</div>
</div></div>
</center>
</center>


Linia 187: Linia 186:
'''Wolnym monoidem''' <math>A^*</math> '''o bazie''' <math>{A}</math> nazywamy zbiór wszystkich skończonych ciągów:  
'''Wolnym monoidem''' <math>A^*</math> '''o bazie''' <math>{A}</math> nazywamy zbiór wszystkich skończonych ciągów:  
<center>
<center>
<math>A^*=\{ (a_1,...,a_n)\;\;:\;\;n \geq 0\;\;,\;\;a_i \in A \}</math></center> wraz z działaniem  
<math>A^*=\{ (a_1,\ldots,a_n)\;\;:\;\;n \geq 0\;\;,\;\;a_i \in A \}</math></center> wraz z działaniem  
<center>
<center>
<math> (a_1,...,a_n)\cdot (b_1,...,b_m) = (a_1,...,a_n,b_1,...,b_m). </math></center>
<math>(a_1,\ldots,a_n)\cdot (b_1,\ldots,b_m) = (a_1,\ldots,a_n,b_1,\ldots,b_m)</math></center>


Ciąg pusty <math>{(n=0)}</math> oznaczamy symbolem "'''1'''" i z definicji jest on elementem neutralnym określonego powyżej
Ciąg pusty <math>{(n=0)}</math> oznaczamy symbolem "'''1'''" i z definicji jest on elementem neutralnym określonego powyżej
działania, nazywanego '''katenacją''' lub '''konkatenacją'''.
działania, nazywanego '''katenacją''' lub '''konkatenacją'''.


Przyjmujemy następującą konwencję zapisu: <center><math>(a)\equiv a,\;\;\;(a_1,...,a_n)\equiv a_1...a_n.</math></center> W oparciu o nią możemy stwierdzić inkluzję <math>A\subset A^*</math>.
Przyjmujemy następującą konwencję zapisu: <center><math>(a)\equiv a,\;\;\;(a_1,\ldots,a_n)\equiv a_1...a_n</math>.</center> W oparciu o nią możemy stwierdzić inkluzję <math>A\subset A^*</math>.
}}
}}
{{uwaga|[Dla zainteresowanych]||
{{zainteresowani|||


Ta inkluzja uzasadnia użycie wprowadzonego wcześniej <math>??</math> oznaczenia <math>A^*</math>.<br>
Ta inkluzja uzasadnia użycie wprowadzonego wcześniej oznaczenia <math>A^*</math>.<br>
<math>A^*</math> jest najmniejszym podmonoidem
<math>A^*</math> jest najmniejszym podmonoidem
monoidu <math>A^*</math> zawierającym <math>A.</math>
monoidu <math>A^*</math> zawierającym <math>A</math>.
}}
}}
{{definicja|2.2||
{{definicja|2.2||
Linia 206: Linia 205:
''' Wolną półgrupą'''  <math>A^+</math> '''nad alfabetem'''  
''' Wolną półgrupą'''  <math>A^+</math> '''nad alfabetem'''  
<math>A</math> nazywamy zbiór wszystkich skończonych ciągów:
<math>A</math> nazywamy zbiór wszystkich skończonych ciągów:
<center><math>A^+=\{ (a_1,...,a_n)\;\;:\;\;n > 0,\;\;\;a_i \in A \}</math></center> wraz z działaniem katenacji.
<center><math>A^+=\{ (a_1,\ldots,a_n)\;\;:\;\;n > 0,\;\;\;a_i \in A \}</math></center> wraz z działaniem katenacji.


Używa się także określeń - wolny monoid o bazie <math>A </math>
Używa się także określeń - wolny monoid o bazie <math>A</math>
i wolna półgrupa o bazie <math>A </math>.
i wolna półgrupa o bazie <math>A</math>.


* Elementy alfabetu <math>{A}</math> nazywamy '''literami'''.
* Elementy alfabetu <math>{A}</math> nazywamy '''literami'''.


* Elementy wolnego monoidu (półgrupy) nazywamy '''słowami''' i oznaczać bedziemy w wykładzie najczęściej literami <math>u,v,w </math>.
* Elementy wolnego monoidu (półgrupy) nazywamy '''słowami''' i oznaczać bedziemy w wykładzie najczęściej literami <math>u,v,w</math>.


* Dowolny podzbiór wolnego monoidu (półgrupy) nazywamy '''językiem'''.
* Dowolny podzbiór wolnego monoidu (półgrupy) nazywamy '''językiem'''.
Linia 229: Linia 228:
{{definicja|2.3||
{{definicja|2.3||


Niech <math>A </math> i <math>B </math> będą alfabetami. '''Podstawieniem''' nazywamy homomorfizm
Niech <math>A</math> i <math>B</math> będą alfabetami. '''Podstawieniem''' nazywamy homomorfizm


<center><math>s:A^{*}\longrightarrow \mathcal{P}(B^{*}).</math></center>
<center><math>s:A^{*}\longrightarrow \mathcal{P}(B^{*})</math>.</center>


Odwzorowanie <math>s </math> jako homomorfizm monoidu <math>A^{*} </math> w monoid <math>\mathcal{P}(B^{*}) </math> spełnia dla dowolnych <math>v,w\in A^{*} </math> równość <center><math> s(vw)=s(v)s(w) \;\; \text{oraz}\;\;  s(1)=\{1\}. </math></center>
Odwzorowanie <math>s</math> jako homomorfizm monoidu <math>A^{*}</math> w monoid <math>\mathcal{P}(B^{*})</math> spełnia dla dowolnych <math>v,w\in A^{*}</math> równość <center><math>s(vw)=s(v)s(w) \;\; \text{oraz}\;\;  s(1)=\{1\}</math></center>
}}
}}
<span id="zainteresowani_2">
</span>
{{zainteresowani|||


{{uwaga|Dla zainteresowanych twierdzenie 2.1||
'''Twierdzenie 2.1.'''


Niech <math>{A}</math> oznacza dowolny zbiór, a <math>({M},\cdot,1_{M})</math> dowolny monoid.  
Niech <math>{A}</math> oznacza dowolny zbiór, a <math>({M},\cdot,1_{M})</math> dowolny monoid.  
Linia 242: Linia 244:
: (1) Każde odwzorowanie  
: (1) Każde odwzorowanie  


<center><math>f:A\longmapsto {M} </math></center>  
<center><math>f:A\longmapsto {M}</math></center>  
: daje się jednoznacznie rozszerzyć do homomorfizmu <center><math>h:A^*\longmapsto {M}.</math></center>
: daje się jednoznacznie rozszerzyć do homomorfizmu <center><math>h:A^*\longmapsto {M}</math>.</center>


: (2) Homomorfizm <math>{h}</math> jest epimorfizmem wtedy i tylko wtedy, gdy <math>f(A)</math> jest zbiorem generatorów <math>{M}.</math>
: (2) Homomorfizm <math>{h}</math> jest epimorfizmem wtedy i tylko wtedy, gdy <math>f(A)</math> jest zbiorem generatorów <math>{M}</math>.




'''Dowod'''
'''Dowód'''


: (1) Przyjmujemy  
: (1) Przyjmujemy  


<center><math>\forall\; a_1...a_n \in A^+\;\;\;\;h(a_1...a_n)=f(a_1)...f(a_n) \;\;\;\text{oraz}\; \;\;h(1)=1_{M}.</math></center>  
<center><math>\forall\; a_1...a_n \in A^+\;\;\;\;h(a_1...a_n)=f(a_1)...f(a_n) \;\;\;\text{oraz}\; \;\;h(1)=1_{M}</math>.</center>  
: Tak określone <math>h</math> jest jedynym rozszerzeniem przekształcenia <math>f</math>.
: Tak określone <math>h</math> jest jedynym rozszerzeniem przekształcenia <math>f</math>.


Linia 258: Linia 260:




Przyjmując w powyższym twierdzeniu jako <math>A</math> dowolny zbiór generatorów monoidu <math>{M}</math> oraz jako funkcję <math>f</math> włożenie <math>id_{A}:A\longrightarrow \mathbf{M} </math> równe identyczności na <math>{A} </math> dochodzimy do następującego wniosku.
Przyjmując w powyższym twierdzeniu jako <math>A</math> dowolny zbiór generatorów monoidu <math>{M}</math> oraz jako funkcję <math>f</math> włożenie <math>id_{A}:A\longrightarrow \mathbf{M}</math> równe identyczności na <math>{A}</math> dochodzimy do następującego wniosku.
}}
 
{{uwaga|Dla zainteresowanych wniosek 2.1||
'''Wniosek 2.1.'''


Każdy monoid <math>{M}</math> jest homomorficznym obrazem wolnego monoidu&nbsp;<math>A^*</math> utworzonego nad dowolnym zbiorem generatorów <math>{M}.</math>
Każdy monoid <math>{M}</math> jest homomorficznym obrazem wolnego monoidu&nbsp;<math>A^*</math> utworzonego nad dowolnym zbiorem generatorów <math>{M}</math>.


Udowodnione powyżej twierdzenie oraz sformułowany wniosek prawdziwy jest również dla półgrup.<br>
Udowodnione powyżej twierdzenie oraz sformułowany wniosek prawdziwy jest również dla półgrup.<br>
Powyższe rezultaty określają rolę wolnych monoidów (półgrup) w klasie wszystkich monoidów (półgrup).
Powyższe rezultaty określają rolę wolnych monoidów (półgrup) w klasie wszystkich monoidów (półgrup).
}}
{{uwaga|Dla zainteresowanych twierdzenie 2.2||


Monoid <math>{M}</math> jest wolny wtedy i tylko wtedy, gdy każdy element <math>m \in {S}={M}\setminus \{1\}</math> ma jednoznaczny rozkład na elementy zbioru <math>A={S}\setminus {S}^2.</math>
'''Twierdzenie 2.2.'''
 
Monoid <math>{M}</math> jest wolny wtedy i tylko wtedy, gdy każdy element <math>m \in {S}={M}\setminus \{1\}</math> ma jednoznaczny rozkład na elementy zbioru <math>A={S}\setminus {S}^2</math>.


'''Dowod'''
'''Dowod'''


Załóżmy, że monoid <math>{M}</math> jest wolny, to znaczy <math>{M}=B^*</math> dla pewnego zbioru (bazy) <math>B.</math> <br>
Załóżmy, że monoid <math>{M}</math> jest wolny, to znaczy <math>{M}=B^*</math> dla pewnego zbioru (bazy) <math>B</math>. <br>


:* Udowodnimy, że <math>A{}</math> jest zbiorem generatorów monoidu <math>M</math>. W tym celu wykażemy, że zachodzi  inkluzja <center><math>{S}\subset ({S}\setminus {S}^2)^+.</math></center> Dowód przeprowadzimy nie wprost. Załóżmy więc, że  
:* Udowodnimy, że <math>A{}</math> jest zbiorem generatorów monoidu <math>M</math>. W tym celu wykażemy, że zachodzi  inkluzja <center><math>{S}\subset ({S}\setminus {S}^2)^+</math>.</center> Dowód przeprowadzimy nie wprost. Załóżmy więc, że  
<center><math>{S}\setminus ({S}\setminus {S}^2)^+ \neq \emptyset</math></center>
<center><math>{S}\setminus ({S}\setminus {S}^2)^+ \neq \emptyset</math></center>
: i niech <math>{m}</math> oznacza element z tego zbioru o najmniejszej długości w <math>B^*.</math> <br> Wnioskujemy stąd kolejno:
: i niech <math>{m}</math> oznacza element z tego zbioru o najmniejszej długości w <math>B^*</math>. <br> Wnioskujemy stąd kolejno:
<center>
<center>
<math>m\notin ({S}\setminus {S}^2)^+</math><br>
<math>m\notin ({S}\setminus {S}^2)^+</math><br>
Linia 283: Linia 285:
<math>m=s_1s_2</math> dla pewnych <math>s_1,s_2\in {S}</math>,
<math>m=s_1s_2</math> dla pewnych <math>s_1,s_2\in {S}</math>,
</center>
</center>
: przy czym długość <math>s_1,s_2</math> jest silnie mniejsza niż długość <math>m.</math> Zatem   
: przy czym długość <math>s_1,s_2</math> jest silnie mniejsza niż długość <math>m</math>. Zatem   


<center><math>s_1,s_2 \in ({S}\setminus {S}^2)^+  
<center><math>s_1,s_2 \in ({S}\setminus {S}^2)^+  
Linia 290: Linia 292:
: a to oznacza, że
: a to oznacza, że


<center><math>m=s_1s_2 \in ({S}\setminus {S}^2)^+.
<center><math>m=s_1s_2 \in ({S}\setminus {S}^2)^+</math></center>
</math></center>


: Otrzymana sprzeczność kończy dowód faktu, że <math>A={S}\setminus {S}^2</math> jest zbiorem generatorów monoidu <math>{M}.</math>
: Otrzymana sprzeczność kończy dowód faktu, że <math>A={S}\setminus {S}^2</math> jest zbiorem generatorów monoidu <math>{M}</math>.


:* Pokażemy teraz, że <math>A \subset B.</math> <br>Niech <math>m=b_1...b_k \in {S}\setminus {S}^2</math>  dla pewnych <math>b_i \in B</math>, <math>i=1,...,k.</math> <br>Jeśli <math>k>1</math>, to <math>m\in {S}^2</math>, co jest sprzeczne z wyborem <math>m.</math> Zatem <math>{k=1}</math>, co implikuje <math>A\subset B.</math>
:* Pokażemy teraz, że <math>A \subset B</math>. <br>Niech <math>m=b_1...b_k \in {S}\setminus {S}^2</math>  dla pewnych <math>b_i \in B</math>, <math>i=1,\ldots,k</math>. <br>Jeśli <math>k>1</math>, to <math>m\in {S}^2</math>, co jest sprzeczne z wyborem <math>m</math>. Zatem <math>{k=1}</math>, co implikuje <math>A\subset B</math>.


Z definicji wolnego monoidu wynika jednoznaczność rozkładu na elementy z bazy <math>B</math>, a to pociąga za sobą jednoznaczność rozkładu na elementy z podzbioru <math>A={S}\setminus {S}^2.</math><br>
Z definicji wolnego monoidu wynika jednoznaczność rozkładu na elementy z bazy <math>B</math>, a to pociąga za sobą jednoznaczność rozkładu na elementy z podzbioru <math>A={S}\setminus {S}^2</math>.<br>


Niech teraz <math>{M}</math> oznacza monoid z jednoznacznością rozkładu na elementy zbioru <math>A~=~S~\setminus~S^2</math>. Rozszerzamy identyczność <math>id_A:A\longmapsto {M}</math> do homomorfizmu <math>h:A^*\longmapsto {M}.</math> Z założenia wynika, że każdy element <math>m \in {S}</math> można przedstawić jako iloczyn  
Niech teraz <math>{M}</math> oznacza monoid z jednoznacznością rozkładu na elementy zbioru <math>A~=~S~\setminus~S^2</math>. Rozszerzamy identyczność <math>id_A:A\longmapsto {M}</math> do homomorfizmu <math>h:A^*\longmapsto {M}</math>. Z założenia wynika, że każdy element <math>m \in {S}</math> można przedstawić jako iloczyn  
<center><math>m=a_1...a_n \;\;\; gdzie \;\;\;a_i \in A \;\;\;
<center><math>m=a_1...a_n \;\;\; gdzie \;\;\;a_i \in A \;\;\;
dla \;\;\; i=1,...,n.</math></center>
dla \;\;\; i=1,\ldots,n</math>.</center>
Zatem  
Zatem  
<center><math>h(a_1...a_n)=h(a_1)...h(a_n) a_1...a_n.</math></center>  
<center><math>h(a_1...a_n)=h(a_1)...h(a_n) a_1...a_n</math>.</center>  
Homomorfizm <math>h</math> jest izomorfizmem, więc monoid <math>{M}</math> jako izomorficzny z <math>A^*</math> jest wolny.
Homomorfizm <math>h</math> jest izomorfizmem, więc monoid <math>{M}</math> jako izomorficzny z <math>A^*</math> jest wolny.


Powyższe twierdzenie posiada swój odpowiednik dla wolnych półgrup.
Powyższe twierdzenie posiada swój odpowiednik dla wolnych półgrup.
}}


{{uwaga|Dla zainteresowanych twierdzenie 2.3||
'''Twierdzenie 2.3.'''
Półgrupa <math>{S}</math> jest wolna wtedy i tylko wtedy, gdy każdy element <math>x \in {S}</math> ma jednoznaczny rozkład na elementy zbioru <math>{S}\setminus {S}^2.</math>
 
}}
Półgrupa <math>{S}</math> jest wolna wtedy i tylko wtedy, gdy każdy element <math>x \in {S}</math> ma jednoznaczny rozkład na elementy zbioru <math>{S}\setminus {S}^2</math>.
{{uwaga|Dla zainteresowanych wniosek 2.2||
 
'''Wniosek 2.2.'''


Baza wolnego monoidu (półgrupy) jest minimalym zbiorem generatorów.
Baza wolnego monoidu (półgrupy) jest minimalym zbiorem generatorów.
}}
{{uwaga|Dla zainteresowanych przyklad 2.2||


: (1) Półgrupa <math>(\mathbb{N},+ ) </math> jest wolna. Każdy jej element można jednoznacznie zapisać jako sumę jedynek - <math>\mathbb{N}\setminus (\mathbb{N}+\mathbb{N})=\left\{ 1\right\} </math>.
'''Przyklad 2.2.'''
 
: (1) Półgrupa <math>(\mathbb{N},+ )</math> jest wolna. Każdy jej element można jednoznacznie zapisać jako sumę jedynek - <math>\mathbb{N}\setminus (\mathbb{N}+\mathbb{N})=\left\{ 1\right\}</math>.


: (2) Dla <math>\mathbb{N}_2=\{n \in \mathbb{N}:n\geq 2\}</math> półgrupa <math>(\mathbb{N}_2,+ ) </math> nie jest to półgrupą wolną.<br> Nie ma jednoznaczności rozkładu na elementy z <math>\mathbb{N}_2\setminus (\mathbb{N}_2+\mathbb{N}_2)=\{2,3\}</math>.<br>  Na przykład <math>6=2+2+2=3+3</math>.
: (2) Dla <math>\mathbb{N}_2=\{n \in \mathbb{N}:n\geq 2\}</math> półgrupa <math>(\mathbb{N}_2,+ )</math> nie jest to półgrupą wolną.<br> Nie ma jednoznaczności rozkładu na elementy z <math>\mathbb{N}_2\setminus (\mathbb{N}_2+\mathbb{N}_2)=\{2,3\}</math>.<br>  Na przykład <math>6=2+2+2=3+3</math>.


}}
}}

Aktualna wersja na dzień 21:58, 15 wrz 2023

Definicje, oznaczenia i podstawowe własności

Przyjmijmy, że ={1,2,} oznacza zbiór liczb naturalnych, a 0 zbiór liczb naturalnych wraz z 0. Przypomnimy teraz podstawowe wiadomości z wykładu Algebra Liniowa dotyczące struktur algebraicznych, a dokładniej struktur najprostszych, półgrup i monoidów, posiadających jedno tylko działanie.

Definicja 1.1

Zbiór S, w którym określone jest działanie łączne, to znaczy spełniające warunek

x,y,zSx(yz)=(xy)z

nazywamy półgrupą.

Przykład 1.1

Zbiór liczb naturalnych z dodawaniem (,+) tworzy półgrupę.

Definicja 1.2

Półgrupę M, w której istnieje element neutralny działania, to znaczy element 1MM spełniający warunek

xM1Mx=x1M=x

nazywamy monoidem.

Przykład 1.2

(1) Zbiór liczb naturalnych z mnożeniem (,,1) jest monoidem.
(2) Zbiór liczb naturalnych z zerem (0,+,0) jest monoidem ze względu na dodawanie.
(3) Monoidem jest (AA,,idA) - zbiór odwzorowań dowolnego zbioru A w siebie ze składaniem jako działaniem i identycznością jako elementem neutralnym.

Dwa pierwsze monoidy są przemienne, czyli działanie jest przemienne, a trzeci jest nieprzemienny.

Każdy monoid jest półgrupą.

Dla uproszczenia notacji będziemy opuszczać kropkę "" oznaczającą działanie oraz używać nazwy "jedynka" na element neutralny. Jeśli nie będzie zaznaczone inaczej, to (𝐒,) będzie oznaczać półgrupę, a (𝐌,,1𝐌) monoid. Ze względu na łączność działania zarówno w półgrupie, jak i w monoidzie iloczyn x1...xn, a także xn=x...x (n razy) jest określony jednoznacznie bez potrzeby wprowadzania nawiasów. Dla dowolnych liczb naturalnych m,n zachodzą wzory

xm+n=xmxn=xnxm,(xm)n=xmn.

Dla dowolnego

xM

przyjmujemy z definicji

x0=1M.

Strukturę monoidu M przenosimy na zbiór potęgowy 𝒫(M) wszystkich podzbiorów monoidu M, określając dla dowolnych A,B𝒫(M) działanie

AB={x𝐌 : aA, bB, x=ab}

(𝒫(M),,{1M}) jest monoidem.
Podobnie przenosimy strukturę półgrupy z S na 𝒫(S).
Dla dowolnego podzbioru monoidu (półgrupy) i dla dowolnej liczby n zapis An oznacza n-krotny iloczyn zbioru A przez siebie rozumiany w powyższym sensie.
W szczególności A1=A

W przypadku monoidu przyjmujemy z definicji

A0={1M}.

Definicja 1.3

Homomorfizmem półgrup (S,),(S,*) nazywamy odwzorowanie

h:SS takie, że
x,ySh(xy)=h(x)*h(y).

Homomorfizmem monoidów (M,,1M),(M,*,1M) nazywamy odwzorowanie h:MM

takie, że
x,yMh(xy)=h(x)*h(y)ih(1M)=1M.

Przykład 1.3

Odwzorowanie h:mod3mod6 takie, że

140022

jest homomorfizmem półgrupy (mod3,) w półgrupę (mod6,), ale nie jest homomorfizmem monoidu (mod3,,1) w monoid (mod6,,1), bo wartością 1 z monoidu (mod3,,1) nie jest jedynka monoidu (mod6,,1).

Dla zainteresowanych

Definicja 1.4.

Niech (S,),(M,,1M) będą odpowiednio dowolną półgrupą, monoidem.

  • (T,) nazywamy podpółgrupą S wtedy i tylko wtedy, gdy TS i T2T.
  • (N,,1M) nazywamy podmonoidem M wtedy i tylko wtedy, gdy N jest podpółgrupą M i 1MN

Przykład 1.4.

(mod6,) jest monoidem. Podzbiór {2,4}, jako zamknięty na działanie mod6, tworzy podpółgrupę mod6. ({2,4},mod6) jest monoidem z 4 jako elementem neutralnym, ale nie podmonoidem mod6.

Niech X będzie dowolnym podzbiorem monoidu M. Zbiór


X*={1}XX2...Xn=i=0Xi


jest podmonoidem monoidu M. Jest to najmniejszy, w sensie inkluzji podmonoid monoidu M zawierający zbiór X. Gdy spełniona jest równość X*=M, to mówimy, że X jest zbiorem generatorów monoidu M. Zachodzą następujące własności:

1. Zbiór generatorów nie jest wyznaczony jednoznacznie.
2. Dla dowolnego monoidu istnieje zbiór generatorów, jest nim w szczególności zbiór M.

Podobnie dla dowolnego podzbioru X półgrupy S zbiór


X+=XX2...Xn=i=1Xi


jest podpółgrupą S i to najmniejszą w sensie inkluzji zawierającą zbiór X.
Powyższe uwagi dotyczące zbioru generatorów monoidów przenoszą się odpowiednio dla półgrup.

Przykład 1.5.

W monoidzie (0,+,0) podmonoid generowany przez zbiór generatorów X={2} składa się z liczb parzystych i nieujemnych.

Definicja 1.5

Niech S będzie półgrupą. Relację równoważności ρS2 nazywamy:

(1) prawą kongruencją w półgrupie S, jeśli
x,y,zSxρyxzρyz,
(2) lewą kongruencją w półgrupie S, jeśli
x,y,zSxρyzxρzy,
(3) kongruencją, jeśli jest prawą i lewą kongruencją, tzn.
x,y,zSxρyzxρzyixzρyz.

Zastępując w powyższej definicji półgrupę S na monoid M otrzymamy dualnie pojęcia prawej kongruencji, lewej kongruencji i kongruencji zdefiniowane w monoidzie.
Mając kongruencję ρ określoną w półgrupie S (monoidzie M) możemy utworzyć półgrupę ilorazową S/ρ (monoid ilorazowy M/ρ), której elementami są klasy równoważności (abstrakcji) relacji ρ.

Dla dowolnego homomorfizmu półgrup h:SS określamy relację

Kerh={(x,y)S×S:h(x)=h(y)}.
Relacja Kerh jest kongruencją w półgrupie S.

Dla homomorfizmu monoidów h:MM relacja Kerh jest kongruencją w monoidzie M.

Podstawowe twierdzenie o epimorfizmie dla struktur algebraicznych przyjmuje dla półgrup i odpowiednio dla monoidów następującą postać.

Twierdzenie 1.1

Niech h:SS będzie dowolnym epimorfizmem półgrupy S na półgrupę S'. Półgrupa S' jest izomorficzna z półgrupą ilorazową S/Kerh.

<flash>file=Ja-1-1.swf|width=200|height=200</flash> <div.thumbcaption>Rysunek 1

Twierdzenie 1.2

Niech h:MM będzie dowolnym epimorfizmem monoidu M na monoid M'. Monoid M' jest izomorficzny z monoidem ilorazowym M/Kerh.

Rysunek 2

Półgrupy wolne i monoidy wolne

Niech A oznacza dowolny zbiór.

Definicja 2.1

Wolnym monoidem A* o bazie A nazywamy zbiór wszystkich skończonych ciągów:

A*={(a1,,an):n0,aiA}
wraz z działaniem
(a1,,an)(b1,,bm)=(a1,,an,b1,,bm)

Ciąg pusty (n=0) oznaczamy symbolem "1" i z definicji jest on elementem neutralnym określonego powyżej działania, nazywanego katenacją lub konkatenacją.

Przyjmujemy następującą konwencję zapisu:
(a)a,(a1,,an)a1...an.
W oparciu o nią możemy stwierdzić inkluzję AA*.
Dla zainteresowanych

Ta inkluzja uzasadnia użycie wprowadzonego wcześniej oznaczenia A*.
A* jest najmniejszym podmonoidem monoidu A* zawierającym A.

Definicja 2.2

Wolną półgrupą A+ nad alfabetem A nazywamy zbiór wszystkich skończonych ciągów:

A+={(a1,,an):n>0,aiA}
wraz z działaniem katenacji.

Używa się także określeń - wolny monoid o bazie A i wolna półgrupa o bazie A.

  • Elementy alfabetu A nazywamy literami.
  • Elementy wolnego monoidu (półgrupy) nazywamy słowami i oznaczać bedziemy w wykładzie najczęściej literami u,v,w.
  • Dowolny podzbiór wolnego monoidu (półgrupy) nazywamy językiem.

Długością słowa wA* nazywamy liczbę |w| będącą długością ciągu określającego to słowo. Słowo puste 1, czyli odpowiadające ciągowi pustemu ma długość równą 0.

Przykład 2.1

(1) Wolna półgrupa {0,1}+ składa się z ciągów binarnych.
(2) Wolny monoid {0,1}* składa się z ciągów binarnych i ciągu pustego.

Definicja 2.3

Niech A i B będą alfabetami. Podstawieniem nazywamy homomorfizm

s:A*𝒫(B*).
Odwzorowanie s jako homomorfizm monoidu A* w monoid 𝒫(B*) spełnia dla dowolnych v,wA* równość
s(vw)=s(v)s(w)orazs(1)={1}

Dla zainteresowanych

Twierdzenie 2.1.

Niech A oznacza dowolny zbiór, a (M,,1M) dowolny monoid.

(1) Każde odwzorowanie
f:AM
daje się jednoznacznie rozszerzyć do homomorfizmu
h:A*M.
(2) Homomorfizm h jest epimorfizmem wtedy i tylko wtedy, gdy f(A) jest zbiorem generatorów M.


Dowód

(1) Przyjmujemy
a1...anA+h(a1...an)=f(a1)...f(an)orazh(1)=1M.
Tak określone h jest jedynym rozszerzeniem przekształcenia f.
(2) f(A)*=MsMs=f(a1)...f(an)=h(a1...an) dla pewnego a1...anA*h jest suriekcją.


Przyjmując w powyższym twierdzeniu jako A dowolny zbiór generatorów monoidu M oraz jako funkcję f włożenie idA:A𝐌 równe identyczności na A dochodzimy do następującego wniosku.

Wniosek 2.1.

Każdy monoid M jest homomorficznym obrazem wolnego monoidu A* utworzonego nad dowolnym zbiorem generatorów M.

Udowodnione powyżej twierdzenie oraz sformułowany wniosek prawdziwy jest również dla półgrup.
Powyższe rezultaty określają rolę wolnych monoidów (półgrup) w klasie wszystkich monoidów (półgrup).

Twierdzenie 2.2.

Monoid M jest wolny wtedy i tylko wtedy, gdy każdy element mS=M{1} ma jednoznaczny rozkład na elementy zbioru A=SS2.

Dowod

Załóżmy, że monoid M jest wolny, to znaczy M=B* dla pewnego zbioru (bazy) B.

  • Udowodnimy, że A jest zbiorem generatorów monoidu M. W tym celu wykażemy, że zachodzi inkluzja
    S(SS2)+.
    Dowód przeprowadzimy nie wprost. Załóżmy więc, że
S(SS2)+
i niech m oznacza element z tego zbioru o najmniejszej długości w B*.
Wnioskujemy stąd kolejno:

m(SS2)+
mS2
m=s1s2 dla pewnych s1,s2S,

przy czym długość s1,s2 jest silnie mniejsza niż długość m. Zatem
s1,s2(SS2)+
a to oznacza, że
m=s1s2(SS2)+
Otrzymana sprzeczność kończy dowód faktu, że A=SS2 jest zbiorem generatorów monoidu M.
  • Pokażemy teraz, że AB.
    Niech m=b1...bkSS2 dla pewnych biB, i=1,,k.
    Jeśli k>1, to mS2, co jest sprzeczne z wyborem m. Zatem k=1, co implikuje AB.

Z definicji wolnego monoidu wynika jednoznaczność rozkładu na elementy z bazy B, a to pociąga za sobą jednoznaczność rozkładu na elementy z podzbioru A=SS2.

Niech teraz M oznacza monoid z jednoznacznością rozkładu na elementy zbioru A=SS2. Rozszerzamy identyczność idA:AM do homomorfizmu h:A*M. Z założenia wynika, że każdy element mS można przedstawić jako iloczyn

m=a1...angdzieaiAdlai=1,,n.

Zatem

h(a1...an)=h(a1)...h(an)a1...an.

Homomorfizm h jest izomorfizmem, więc monoid M jako izomorficzny z A* jest wolny.

Powyższe twierdzenie posiada swój odpowiednik dla wolnych półgrup.

Twierdzenie 2.3.

Półgrupa S jest wolna wtedy i tylko wtedy, gdy każdy element xS ma jednoznaczny rozkład na elementy zbioru SS2.

Wniosek 2.2.

Baza wolnego monoidu (półgrupy) jest minimalym zbiorem generatorów.

Przyklad 2.2.

(1) Półgrupa (,+) jest wolna. Każdy jej element można jednoznacznie zapisać jako sumę jedynek - (+)={1}.
(2) Dla 2={n:n2} półgrupa (2,+) nie jest to półgrupą wolną.
Nie ma jednoznaczności rozkładu na elementy z 2(2+2)={2,3}.
Na przykład 6=2+2+2=3+3.