diff --git a/01-regular/regular.tex b/01-regular/regular.tex
index d99d01a0ae205e6aa821caaf7e4358fe038f7bbb..3ed2b44abe4fe167a567e2bb8b05328322609da0 100644
--- a/01-regular/regular.tex
+++ b/01-regular/regular.tex
@@ -737,7 +737,7 @@ Zkuste najít vysvětlení jednotlivých částí výrazu, aniž byste se odkáz
 
 \figure[kleene]{kleene.epdf}{width \hsize}{Převod automatu pro dělitelnost 3 na regulární výraz}
 
-\note{UNIXové nástroje (například \|grep| a \|sed| používají nejrůznější varianty regulárních
+\note{UNIXové nástroje (například \|grep| a \|sed|) používají nejrůznější varianty regulárních
 výrazů, které se od těch našich liší pouze detaily notace. Jinde (například v~Perlu) ale najdeme
 \uv{regulární} výrazy vybavené i schopností zpětných odkazů a rekurze. Ty dokáží popsat i mnohé
 neregulární jazyky, ale algoritmy používané k~jejich vyhodnocování nemají polynomiální časovou
@@ -1094,7 +1094,7 @@ rozlišitelné vzhledem k~$L$.
 \obs{Syntaktická kongruence je ekvivalence na množině~$\Sigma^*$.}
 
 \examples{\tightlist{o}
-\:Pro jazyk $L_{01} = \{\0^n\1^m\}$ nad abecedou $\{\0,\1\}$ jsou každá dvě slova
+\:Pro jazyk $\{\0^n\1^m\}$ nad abecedou $\{\0,\1\}$ jsou každá dvě slova
 $\0^n$ a~$\0^m$ (kde $n\ne m$) navzájem rozlišitelná suffixem~$\1^n$,
 takže syntaktická kongruence má nekonečně mnoho tříd.
 \:Pro jazyk $\{ \0^n \mid n \bmod 3 = 0 \}$ nad abecedou $\{\0\}$ jsou slova $\0^n$ a $\0^m$
diff --git a/02-ctxfree/ctxfree.tex b/02-ctxfree/ctxfree.tex
index 77e4e2653b0b21b2cb193b3bb8af6dea1699a5cc..84363a57160951c58ac54e0f2e721634e3c27e53 100644
--- a/02-ctxfree/ctxfree.tex
+++ b/02-ctxfree/ctxfree.tex
@@ -226,7 +226,7 @@ Nabízí se použít opačný postup k~převodu RLG na automat. Ale musíme se v
 s~několika překážkami:
 
 \list{o}
-\:V~gramatice mohou současně pravidla $X\grule aY$ i $X\grule aY'$.
+\:V~gramatice mohou být současně pravidla $X\grule aY$ i $X\grule aY'$.
 To nevadí, prostě vyrobíme nedeterministický automat a posléze se osvědčeným
 způsobem nedeterminismu zbavíme.
 \:Pravidla tvaru $X\grule\alpha Y$ pro $\alpha$ jiné než jednoznakové:
diff --git a/03-recursive/recursive.tex b/03-recursive/recursive.tex
index d3dd2f7a5b8eaad5101a2eb6bd9b47f2ab3e5728..58857c3e2250d187b2fc21d59f615e3a01d01a21 100644
--- a/03-recursive/recursive.tex
+++ b/03-recursive/recursive.tex
@@ -176,7 +176,7 @@ Na rozdíl od konečných automatů mohou být různé TM pro tentýž vstup roz
 \em{Prostor výpočtu} je počet políček pásky, která během výpočtu navštívila hlava stroje.
 }
 
-\defn{\em{Časová složitost} stroje je funkce, která každému přirozenému čísl~$u$
+\defn{\em{Časová složitost} stroje je funkce, která každému přirozenému číslu
 přiřadí maximální čas výpočtu pro vstupy délky nejvýše~$n$.\foot{Často se složitost
 definuje přes vstupy délky \em{právě~$n$.} Naše definice má tu výhodu, že vždy dává
 neklesající funkce, se kterými se zachází snáz.}
@@ -759,7 +759,7 @@ Inkluze tříd $\cc{R} \subset \cc{RE} \subset \Ell$ jsou tedy všechny ostré.
 }
 
 \note{Jiný pohled na totéž je tzv. \em{problém zastavení (halting problem):} máme najít
-algoritmus, který dostane kód programu a jeho vstup a ma rozhodnout, zda se program pro
+algoritmus, který dostane kód programu a jeho vstup a má rozhodnout, zda se program pro
 daný vstup zastaví. Takový algoritmus ovšem nemůže existovat, protože by rozhodoval jazyk~$L_u$.
 }