Пусть \(m\) раскладывается на простые множители \[m=p_1^{e_1} \ldots p_t^{e_t}.\]
Тогда длина периода \(\lambda\) ЛКГ, с параметрами \((s_0, a, c, m)\) – НОК длин \(\lambda_j\) периодов ЛКГ \((s_0 \mod p_j^{e_j}, a \mod p_j^{e_j}, c \mod p_j^{e_j}, p_j^{e_j})\), \(1 \le j \le t\).
Докажем для \(G=(s_0, a, c, m_1m_2)\), где \(m_1\) и \(m_2\) – взаимно простые. Остальное очевидно верно по индукции по \(t\)
Рассмотрим \(G_1 = (s_0 \mod m_1, a \mod m_1, c \mod m_1, m_1)\) \(G_2=(s_0 \mod m_2, a \mod m_2, c \mod m_2, m_2)\)
Т.к. \(\forall n>n_0:~ g_n = g_{n+\lambda}\), то \(g^{(1)}_n = g^{(1)}_{n+\lambda}\) и \(g^{(2)}_n = g^{(2)}_{n+\lambda}\),
следовательно, \(\lambda\) – общее кратное \(\lambda_1\) и \(\lambda_2\),
следовательно, \(\lambda \ge \lambda'\).
С другой стороны, \(g^{(1)}_n = g^{(1)}_{n+\lambda_1}\) и \(g^{(2)}_n = g^{(2)}_{n+\lambda_2}\) для достаточно больших \(n\) и следовательно \(g_n = g_{n+\lambda'}\), и тогда \(\lambda \le \lambda'\).
\(λ=λ'\qed\)
Теорема Халла-Добелла
ЛКГ, задаваемый рекуррентным соотношением \[s_{i+1} = a s_i + c \mod m,\]\(c \neq 0\) достигает периода \(m\)iff:
\(m\) и \(c\) взаимно простые
\(a=1\mod p\) для всех \(p\) – простых делителей \(m\)
\(a=1\mod 4\), если \(m\) делится на 4.
для \(a=1\) и взаимно простых \(m\) и \(c\), период тривиально \(m\). Далее рассматриваем \(a>1\).
\[s_1 = as_0+c\mod m\]
\[s_2 = a(as_0+c)+c\mod m\]
\[s_2 = a^2s_0+ac+c\mod m\]
\[s_3 = a(a^2s_0+ac+c)+c\mod m\]
\[s_3 = a^3s_0+a^2c+ac+c\mod m\]
\[s_n = a^n s_0+c\sum_{i=0}^{n-1}a^i\mod m\]
\[s_n = a^n s_0+c\frac{a^n-1}{a-1}\mod m\]
Поскольку период \(m\) для последовательности \(\mod m\) пробегает все значения, БОО можем взять \(s_0=0\), т.е. \(s_n = c \frac{a^n-1}{a-1} = 0\mod m\)
Мы хотим найти наименьшее \(λ\) такое, что \(s_λ=s_0=0\mod m\)
Если \(c\) и \(m\) не взаимно простые, то \(s_n\) не может быть равно 1, ни для каких \(n\) и период меньше \(m\).
Если \(c\) и \(m\) взаимно простые, то \[s_λ=0\iff\frac{a^λ-1}{a-1} = 0\mod m\]
По лемме 2, достаточно доказать теорему для \(m=p^e\), т.к. \[m=p_1^{e_1}\ldots p_t^{e_t}=λ=lcm(λ_1,\ldots,λ_t),\]\[lcm(λ_1,\ldots,λ_t)\leλ_1\ldotsλ_t\le p_1^{e_1}\ldots p_t^{e_t},\] что возможно только если \(λ_i=p_i^{e_i}\)
положим \(m=p^e\), где \(p\) – простое
для \(a=1\) теорема тривиально верна. Далее считаем \(a>1\)
пусть \(p>2\), тогда (3) условие опускается, и теорема сводится к утверждению \[\min\brace{λ:\frac{a^λ-1}{a-1} = 0\mod p^e}=p^e\\\iff a=1\mod p\]