В этой статье собраны различные доказательства малой теоремы Ферма , которая утверждает, что
для каждого простого числа p и каждого целого числа a (см. модульную арифметику ).
Некоторые из приведенных ниже доказательств малой теоремы Ферма основаны на двух упрощениях.
Первое — мы можем предположить, что a находится в диапазоне 0 ≤ a ≤ p − 1. Это простое следствие законов модульной арифметики ; мы просто говорим, что сначала можем уменьшить a по модулю p . Это согласуется с уменьшением по модулю p , как можно проверить.
Во-вторых, достаточно доказать, что
для a в диапазоне 1 ≤ a ≤ p − 1. Действительно, если предыдущее утверждение верно для такого a , умножение обеих сторон на a дает исходную форму теоремы,
С другой стороны, если a = 0 или a = 1 , теорема тривиально выполняется.
Это, пожалуй, самое простое известное доказательство, требующее наименьшего математического бэкграунда. Это привлекательный пример комбинаторного доказательства ( доказательства, которое включает подсчет набора объектов двумя разными способами ).
Приведенное здесь доказательство является адаптацией доказательства Голомба . [1]
Для простоты предположим, что a — положительное целое число . Рассмотрим все возможные строки из p символов, используя алфавит с a различными символами. Общее количество таких строк равно a p , поскольку для каждой из p позиций существует a возможностей (см. правило произведения ).
Например, если p = 5 и a = 2 , то мы можем использовать алфавит с двумя символами (скажем, A и B ), и тогда будет 2 5 = 32 строки длины 5:
Ниже мы покажем, что если удалить из списка строки, состоящие из одного символа (в нашем примере AAAAA и BBBBB ), то оставшиеся a p − a строк можно организовать в группы, каждая из которых содержит ровно p строк. Из этого следует, что a p − a делится на p .
Давайте представим, что каждая такая строка представляет собой ожерелье . То есть, мы соединяем два конца строки вместе и рассматриваем две строки как одно и то же ожерелье, если мы можем повернуть одну строку, чтобы получить вторую строку; в этом случае мы скажем, что две строки являются друзьями . В нашем примере следующие строки все являются друзьями:
В целом каждая строка следующего списка соответствует одному ожерелью, а весь список охватывает все 32 строки.
Обратите внимание, что в приведенном выше списке каждое ожерелье с более чем одним символом представлено 5 различными строками, а количество ожерелий, представленных только одной строкой, равно 2, т.е. является количеством различных символов. Таким образом, список очень ясно показывает, почему 32 − 2 делится на 5 .
Чтобы определить, сколько друзей у заданной строки S, можно использовать следующее правило :
Например, предположим, что мы начинаем со строки S = ABBABBABBABB , которая состоит из нескольких копий более короткой строки T = ABB . Если мы вращаем ее по одному символу за раз, мы получаем следующие 3 строки:
Других нет, поскольку ABB состоит ровно из 3 символов и не может быть разбита на дальнейшие повторяющиеся строки.
Используя приведенное выше правило, мы можем довольно легко завершить доказательство малой теоремы Ферма следующим образом. Наш начальный пул строк p можно разделить на две категории:
Вторая категория содержит строки p − a , и они могут быть организованы в группы по p строк, по одной группе на каждое ожерелье. Следовательно, p − a должно делиться на p , как и было обещано.
Это доказательство использует некоторые основные концепции динамических систем . [2]
Начнем с рассмотрения семейства функций T n ( x ), где n ≥ 2 — целое число , отображающее интервал [0, 1] на себя по формуле
где { y } обозначает дробную часть y . Например , функция T 3 ( x ) проиллюстрирована ниже:
Число x 0 называется неподвижной точкой функции f ( x ), если f ( x 0 ) = x 0 ; другими словами, если f оставляет x 0 неподвижным. Неподвижные точки функции можно легко найти графически: это просто координаты x точек, где график f ( x ) пересекает график прямой y = x . Например, неподвижные точки функции T 3 ( x ) — это 0, 1/2 и 1; они отмечены черными кружками на следующей диаграмме:
Нам потребуются следующие две леммы.
Лемма 1. Для любого n ≥ 2 функция T n ( x ) имеет ровно n неподвижных точек.
Доказательство. На рисунке выше есть 3 неподвижные точки, и тот же самый геометрический аргумент применим для любого n ≥ 2.
Лемма 2. Для любых положительных целых чисел n и m и любого 0 ≤ x ≤ 1,
Другими словами, T mn ( x ) представляет собой композицию T n ( x ) и T m ( x ).
Доказательство. Доказательство этой леммы несложно, но нам нужно быть немного осторожнее с конечной точкой x = 1. Для этой точки лемма, очевидно, верна, поскольку
Итак, предположим, что 0 ≤ x < 1. В этом случае,
поэтому T m ( T n ( x )) определяется как
Поэтому нам действительно нужно показать, что
Для этого заметим, что { nx } = nx − k , где k — целая часть nx ; тогда
поскольку mk — целое число.
Теперь давайте начнем доказательство малой теоремы Ферма, изучая функцию T a p ( x ). Предположим, что a ≥ 2. Из леммы 1 мы знаем, что она имеет a p неподвижных точек. Из леммы 2 мы знаем, что
поэтому любая фиксированная точка T a ( x ) автоматически является фиксированной точкой T a p ( x ).
Нас интересуют неподвижные точки T a p ( x ), которые не являются неподвижными точками T a ( x ). Назовем множество таких точек S . В S имеется p − a точек , поскольку по лемме 1 снова T a ( x ) имеет ровно a неподвижных точек. Следующая диаграмма иллюстрирует ситуацию для a = 3 и p = 2. Черные кружки — это точки S , которых 3 2 − 3 = 6.
Основная идея доказательства теперь состоит в том, чтобы разбить множество S на его орбиты относительно T a . Это означает, что мы выбираем точку x 0 в S и многократно применяем к ней T a (x), чтобы получить последовательность точек
Эта последовательность называется орбитой x 0 при T a . По лемме 2 эта последовательность может быть переписана как
Поскольку мы предполагаем, что x0 является фиксированной точкой Tap ( x ) , после p шагов мы достигаем Tap ( x0 ) = x0 , и с этого момента последовательность повторяется.
Однако последовательность не может начать повторяться раньше этого. Если бы это произошло, длина повторяющейся секции должна была бы быть делителем p , поэтому она должна была бы быть 1 (так как p — простое число). Но это противоречит нашему предположению, что x 0 не является неподвижной точкой T a .
Другими словами, орбита содержит ровно p различных точек. Это справедливо для каждой орбиты S. Следовательно, множество S , которое содержит a p − a точек, можно разбить на орбиты, каждая из которых содержит p точек, поэтому a p − a делится на p .
(Это доказательство по сути то же самое, что и доказательство с подсчетом ожерелий, приведенное выше, просто рассматриваемое через другую призму: можно представить интервал [0, 1] как заданный последовательностями цифр в основании a (наше различие между 0 и 1 соответствует знакомому различию между представлением целых чисел, заканчивающихся на «.0000...» и «.9999...»). T a n равнозначно сдвигу такой последовательности на n цифр. Неподвижные точки этого будут последовательностями, которые являются циклическими с периодом, делящим n . В частности, неподвижные точки T a p можно рассматривать как ожерелья длины p , причем T a n соответствует повороту таких ожерелий на n точек.
Это доказательство можно было бы представить и без различения 0 и 1, просто используя полуоткрытый интервал [0, 1); тогда T n имел бы только n − 1 неподвижную точку, но T a p − T a все равно приводил бы к a p − a , как и требовалось.)
Это доказательство, принадлежащее Эйлеру [3], использует индукцию для доказательства теоремы для всех целых чисел a ≥ 0 .
Базовый шаг, что 0 p ≡ 0 (mod p ) , тривиален. Далее, мы должны показать, что если теорема верна для a = k , то она также верна для a = k + 1 . Для этого индуктивного шага нам понадобится следующая лемма.
Лемма . Для любых целых чисел x и y и любого простого числа p , ( x + y ) p ≡ x p + y p (mod p ) .
Лемма — случай мечты первокурсника . Оставив доказательство на потом, приступим к индукции.
Доказательство . Предположим, что k p ≡ k (mod p ), и рассмотрим ( k +1) p . По лемме имеем
Используя гипотезу индукции, мы имеем, что k p ≡ k (mod p ); и, тривиально, 1 p = 1. Таким образом,
что является утверждением теоремы для a = k +1. ∎
Чтобы доказать лемму, мы должны ввести биномиальную теорему , которая утверждает, что для любого положительного целого числа n ,
где коэффициенты являются биномиальными коэффициентами ,
описанная в терминах факториальной функции, n ! = 1×2×3×⋯× n .
Доказательство леммы. Рассмотрим биномиальный коэффициент, когда показатель степени — простое число p :
Биномиальные коэффициенты все целые числа. Числитель содержит множитель p по определению факториала. Когда 0 < i < p , ни один из членов в знаменателе не включает множитель p (полагаясь на простоту p ), оставляя сам коэффициент иметь простой множитель p из числителя, подразумевая, что
По модулю p это исключает все, кроме первого и последнего членов суммы в правой части биномиальной теоремы для простого числа p . ∎
Простота числа p существенна для леммы; в противном случае мы имеем примеры вроде
которое не делится на 4.
Используя лемму, имеем:
Доказательство, впервые обнаруженное Лейбницем (который его не опубликовал) [4] и позднее переоткрытое Эйлером [3] , представляет собой очень простое применение теоремы о многочленах , которая гласит:
где
и суммирование берется по всем последовательностям неотрицательных целых индексов k 1 , k 2 , ..., k m таким образом, что сумма всех k i равна n .
Таким образом, если мы выразим a как сумму единиц, то получим
Очевидно, если p — простое число и если k j не равно p ни для какого j , то мы имеем
и если k j равно p для некоторого j, то
Поскольку существует ровно a элементов, таких что k j = p для некоторого j , то теорема следует.
(Это доказательство по сути является более грубым вариантом доказательства с подсчетом ожерелий, приведенного ранее; коэффициенты полиномов подсчитывают количество способов, которыми строка может быть переставлена в произвольные анаграммы, в то время как аргумент с ожерельем подсчитывает количество способов, которыми строка может быть повернута в циклические анаграммы. То есть тот факт, что нетривиальные коэффициенты полиномов здесь делятся на p, можно рассматривать как следствие того факта, что каждое нетривиальное ожерелье длины p может быть развернуто в строку p многими способами.
Это многочленное разложение, конечно, по сути, лежит в основе приведенного выше доказательства, основанного на биномиальной теореме.)
Аддитивно-комбинаторное доказательство, основанное на формальных степенных разложениях, было дано Гедрюсом Алкаускасом. [5] Это доказательство не использует ни алгоритм Евклида , ни биномиальную теорему , а вместо этого использует формальные степенные ряды с рациональными коэффициентами.
Это доказательство [3] [6], открытое Джеймсом Айвори [7] и переоткрытое Дирихле [8] , требует некоторых знаний в области модульной арифметики .
Предположим, что a положительно и не делится на p .
Идея состоит в том, что если мы запишем последовательность чисел
и сократить каждый из них по модулю p , то полученная последовательность оказывается перестановкой
Следовательно, если мы перемножим числа в каждой последовательности, результаты должны быть идентичны по модулю p :
Собирая вместе члены a, получаем
Наконец, мы можем «сократить» числа 1, 2, ..., p − 1 с обеих сторон этого уравнения, получив
В приведенном выше доказательстве есть два шага, которые нам необходимо обосновать:
Мы докажем это ниже; давайте сначала рассмотрим пример этого доказательства в действии.
Если a = 3 и p = 7 , то рассматриваемая последовательность имеет вид
сокращение по модулю 7 дает
который является просто перестановкой
Умножение их вместе дает
то есть,
Сокращая 1 × 2 × 3 × 4 × 5 × 6, получаем
что является малой теоремой Ферма для случая a = 3 и p = 7 .
Давайте сначала объясним, почему в определенных ситуациях допустимо «отменять». Точное утверждение выглядит следующим образом. Если u , x , и y являются целыми числами, и u не делится на простое число p , и если
тогда мы можем «отменить» u , чтобы получить
Наше использование этого закона сокращения в приведенном выше доказательстве малой теоремы Ферма было обоснованным, поскольку числа 1 , 2, ..., p − 1 определенно не делятся на p (на самом деле они меньше p ).
Мы можем легко доказать закон сокращения, используя лемму Евклида , которая в общем случае гласит, что если простое число p делит произведение ab (где a и b — целые числа), то p должно делить a или b . Действительно, утверждение ( C ) просто означает, что p делит ux − uy = u ( x − y ) . Поскольку p — простое число, которое не делит u , лемма Евклида говорит нам, что оно должно делить x − y ; то есть выполняется ( D ).
Обратите внимание, что условия, при которых выполняется закон сокращения, довольно строгие, и это объясняет, почему малая теорема Ферма требует, чтобы p было простым числом. Например, 2×2 ≡ 2×5 (mod 6) , но неверно, что 2 ≡ 5 (mod 6) . Однако выполняется следующее обобщение закона сокращения: если u , x , y , и z являются целыми числами, если u и z являются взаимно простыми , и если
тогда мы можем «отменить» u , чтобы получить
Это следует из обобщения леммы Евклида .
Наконец, мы должны объяснить, почему последовательность
при уменьшении по модулю p становится перестановкой последовательности
Начнем с того, что ни один из членов a , 2 a , ..., ( p − 1) a не может быть сравним с нулем по модулю p , поскольку если k — одно из чисел 1, 2, ..., p − 1 , то k взаимно просто с p , как и a , поэтому лемма Евклида гласит, что ka не имеет общих множителей с p . Поэтому, по крайней мере, мы знаем, что числа a , 2 a , ..., ( p − 1) a , приведенные по модулю p , должны быть найдены среди чисел 1, 2, 3, ..., p − 1 .
Более того, числа a , 2 a , ..., ( p − 1) a должны быть различны после приведения их к модулю p , потому что если
где k и m — одно из чисел 1, 2, ..., p − 1 , то закон сокращения говорит нам, что
Так как и k, и m находятся между 1 и p − 1 , они должны быть равны. Следовательно, члены a , 2 a , ..., ( p − 1) a при сокращении по модулю p должны быть различны. Подводя итог: когда мы сокращаем p − 1 чисел a , 2 a , ..., ( p − 1) a по модулю p , мы получаем различные члены последовательности 1 , 2 , ..., p − 1. Так как их ровно p − 1 , единственная возможность состоит в том, что первые являются перестановкой последних.
Этот метод также может быть использован для доказательства теоремы Эйлера с небольшим изменением, заключающимся в том, что числа от 1 до p − 1 заменяются числами, меньшими и взаимно простыми с некоторым числом m (не обязательно простым). Как свойство перестановки, так и закон сокращения (в обобщенной форме, упомянутой выше) по-прежнему выполняются и могут быть использованы.
Например, если m = 10 , то числа, меньшие m и взаимно простые с m, — это 1 , 3 , 7 и 9. Таким образом, имеем:
Поэтому,
Это доказательство [9] требует самых основных элементов теории групп .
Идея состоит в том, чтобы признать, что множество G = {1, 2, ..., p − 1 }, с операцией умножения (взятой по модулю p ), образует группу . Единственная аксиома группы, для проверки которой требуются некоторые усилия, заключается в том, что каждый элемент G обратим. Приняв это на веру на данный момент, предположим, что a находится в диапазоне 1 ≤ a ≤ p − 1 , то есть a является элементом G . Пусть k будет порядком a , то есть k является наименьшим положительным целым числом, таким что a k ≡ 1 (mod p ) . Тогда числа 1, a , a 2 , ..., a k −1 , приведенные по модулю p , образуют подгруппу G , порядок которой равен k , и поэтому по теореме Лагранжа k делит порядок G , который равен p − 1 . Таким образом, p − 1 = km для некоторого положительного целого числа m , и тогда
Чтобы доказать, что каждый элемент b из G обратим, мы можем действовать следующим образом. Во-первых, b взаимно прост с p . Таким образом, тождество Безу гарантирует нам, что существуют целые числа x и y, такие что bx + py = 1. Читая это равенство по модулю p , мы видим, что x является обратным для b , поскольку bx ≡ 1 (mod p ) . Следовательно, каждый элемент G обратим. Итак, как было отмечено ранее, G является группой.
Например, когда p = 11 , обратные значения каждого элемента задаются следующим образом:
Если мы возьмем предыдущее доказательство и, вместо использования теоремы Лагранжа, попытаемся доказать его в этой конкретной ситуации, то получим третье доказательство Эйлера, которое он счел более естественным. [10] [11] Пусть A — множество, элементами которого являются числа 1, a , a 2 , ..., a k − 1 , приведенные по модулю p . Если A = G , то k = p − 1 и, следовательно, k делит p −1 . В противном случае существует некоторое b 1 ∈ G \ A .
Пусть A 1 — множество, элементами которого являются числа b 1 , ab 1 , a 2 b 1 , ..., a k − 1 b 1 , приведенные к модулю p . Тогда A 1 имеет k различных элементов, поскольку в противном случае существовало бы два различных числа m , n ∈ {0, 1, ..., k − 1 } , таких что a m b 1 ≡ an b 1 (mod p ) , что невозможно, поскольку отсюда следовало бы, что a m ≡ an (mod p ) . С другой стороны, никакой элемент A 1 не может быть элементом A , потому что в противном случае существовали бы числа m , n ∈ {0, 1, ..., k − 1 } такие , что a m b 1 ≡ an (mod p ) , и тогда b 1 ≡ an a k − m ≡ an + k − m (mod p ) , что невозможно, так как b 1 ∉ A .
Итак, множество A ∪ A 1 имеет 2 k элементов. Если оно окажется равным G , то 2 k = p −1 и, следовательно, k делит p −1 . В противном случае найдется некоторое b 2 ∈ G \( A ∪ A 1 ) , и мы можем начать все заново, определив A 2 как множество, элементами которого являются числа b 2 , ab 2 , a 2 b 2 , ..., a k − 1 b 2 , приведенные по модулю p . Поскольку G конечно, этот процесс должен остановиться в какой-то момент, и это доказывает, что k делит p − 1 .
Например, если a = 5 и p = 13 , то, поскольку
мы имеем k = 4 и A = {1, 5, 8, 12 }. Очевидно, A ≠ G = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }. Пусть b 1 будет элементом G \ A ; например, возьмем b 1 = 2 . Тогда, поскольку
имеем A 1 = {2, 3, 10, 11 }. Очевидно, A ∪ A 1 ≠ G . Пусть b 2 — элемент G \( A ∪ A 1 ) ; например, возьмем b 2 = 4 . Тогда, поскольку
имеем A 2 = {4, 6, 7, 9 }. И теперь G = A ∪ A 1 ∪ A 2 .
Обратите внимание, что множества A , A 1 и т. д . на самом деле являются смежными классами A в G.