diff --git a/07-teorie-cisel/teorie-cisel.tex b/07-teorie-cisel/teorie-cisel.tex
index 5231c1c1d895e22e213745045970b6aff39e1594..744bc22da822bc2a0f4f93a681a495d514bc89fa 100644
--- a/07-teorie-cisel/teorie-cisel.tex
+++ b/07-teorie-cisel/teorie-cisel.tex
@@ -603,9 +603,9 @@ tedy na prvočíslo narazíme po průměrně $\Theta(b)$ pokusech.
 \section{Diskrétní logaritmy}
 
 Důležitou vlastností těles modulo prvočíslo je, že se v~nich dá logaritmovat.
-Nejprve uvedeme bez důkazu následující větu:
+Začneme následující větou (důkaz zájemce najde v~závěru tohoto oddílu).
 
-\claim{
+\theorem{
 Pro každé prvočíslo~$p$ je multiplikativní grupa~$\Zsp$ cyklická. Existuje
 tedy alespoň jedno~$g$ (generátor) takové, že $\Zsp = \{g^0,\ldots,g^{p-2}\}$.
 }
@@ -670,6 +670,77 @@ Tehdy $\varphi(p-1) = \varphi(2q) = \varphi(2)\varphi(q) = 1\cdot (q-1) = q-1 \a
 Generátory tedy tvoří přibližně polovinu prvků~$\Zsp$, takže po průměrně dvou pokusech
 nějaký najdeme.
 
+\subsectionstar{Důkaz věty o cykličnosti multiplikativní grupy}
+
+% několik hezkých důkazů viz https://www.di-mgt.com.au/docs/cyclicFp.pdf
+
+Nejprve definujme $N_p(d)$ jako počet prvků~$\Zsp$, které mají řád~$d$.
+Řády prvků musí dělit řád celé grupy, což je $p-1$, takže $N_p(d)$
+může být nenulové jen pro $d\divs (p-1)$.
+
+Generátor celé grupy je prvek řádu $p-1$, takže tvrzení věty je ekvivalentní
+s~$N_p(p-1) > 0$.
+
+\lemma{
+Nechť $d\divs (p-1)$ a $N_p(d) > 0$. Potom $N_p(d) = \varphi(d)$.
+}
+
+\proof
+Nechť $N_p(d) > 0$ a $a\in\Zsp$ je nějaký prvek řádu~$d$.
+Uvažujme rovnici $x^d\equiv 1$ v~$\Zp$. To je polynomiální rovnice řádu~$d$
+v~tělese, takže má nejvýše $d$ kořenů. Všechny mocniny $a^0$ až $a_{d-1}$
+patří mezi kořeny (platí $(a^i)^d \equiv a^{id} \equiv (a^d)^i \equiv 1^i \equiv 1$),
+tím pádem žádné další kořeny neexistují.
+
+Každý prvek řádu~$d$ ovšem musí být kořenem této rovnice, takže
+ho jde zapsat jako~$a^i$ pro nějaké~$i$. Z~úvahy o~počítání generátorů
+plyne, že $a^i$ generuje právě tehdy, když $i\perp d$. Takových~$i$
+je $\varphi(d)$.
+\qed
+
+\corr{
+Pro každé $d\divs (p-1)$ platí $N_p(d) \le \varphi(d)$.
+}
+
+Každý prvek~$\Zsp$ má nějaký řád.
+Proto sečteme-li $N_p(d)$ přes všechna~$d$, musíme dostat $p-1$.
+Zkombinováním s~předchozím důsledkem dostaneme:
+$$
+	p-1 = \sum_{d\divs (p-1)} N_p(d)
+	\le \sum_{d\divs (p-1)} \varphi(d). \eqno{(*)}
+$$
+Platí ovšem i opačná nerovnost:
+
+\lemma{
+Pro každé $n>0$ platí $\sum_{d\divs n} \varphi(n) = n$.
+}
+
+\proof
+Budeme počítat zlomky
+$$
+	{1\over n},
+	{2\over n},
+	{3\over n},
+	\dots
+	{n-1\over n},
+	{n\over n}.
+$$
+rozdělené do skupin podle jmenovatele po zkrácení.
+Pokud se zlomek $i/n$ zkrátí na $j/d$, musí být $j\perp d$ a $d\divs n$.
+Navíc $1\le i\le n$ je ekvivalentní s~$1\le j\le d$.
+Pro dané~$d$ tedy připadají v~úvahu všechna $j$ od~1 do~$d$,
+která jsou nesoudělná s~$d$. Těch je $\varphi(d)$.
+Sečtením přes všechna~$d$ získáme rovnost z~tvrzení lemmatu.
+\qed
+
+Spojením lemmatu s~nerovností~$(*)$ dostaneme
+$$
+	\sum_{d\divs(p-1)} N_p(d) = \sum_{d\divs(p-1)} \varphi(d).
+$$
+Žádná z~nerovností $N_p(d) \le \varphi(d)$ tedy nemůže být ostrá.
+Proto je $N_p(p-1) = \varphi(p-1)$, což je nenulové číslo.
+Tím je věta dokázaná.
+
 \section{Kvadratické zbytky}
 
 Prozkoumejme, jak se v~$\Zp$ chovají druhé odmocniny (v~tomto oddílu budeme říkat prostě odmocniny).