В книге Колмогорова, Фомина как-то уж слишком поверхностно.
Колмогорова-Фомина никак не назовёшь поверхностными. Другое дело, что и в небрежности изложения им никак не откажешь, из-за чего д-во у них получилось не слишком внятным. Но как только попытаешься вникать -- идея становится очевидной, и идея эта весьма проста. Вообще их вариант доказательства, наверное, оптимален -- и коротко, и без ненужных изобретательств.
Идея такая (обозначения изменю на более разумные, ПМСМ). Берём любой

и вытягиваем из него цепочку прообразов:

,

,

и т.д. Эта цепочка может оборваться, если у какого-то элемента прообраза не окажется -- а может продолжаться неограниченно долго.
Порядком 
элемента

назовём длину соответствующей цепочки, т.е. количество её звеньев. В частности, если у

нет прообраза, то

. Для элементов

понятие порядка вводится аналогично, только цепочка начинается с

, а не с

.
Теперь -- ключевое и вполне очевидное утверждение, которое Колмогоров-Фомин как-то зажевали, из-за чего их изложение доказательства сильно проиграло:

-- или, другими словами, применение функции к любому элементу удлинняет цепочку прообразов ровно на одно звено (в частности, бесконечная цепочка остаётся бесконечной). Естественно, для игреков всё ровно так же, с заменой

на

.
Далее всё уже достаточно напрашивается. Изменение на единичку -- это, собственно, изменение чётности. Посему разбиваем

на

(элементы чётного порядка),

(порядка нечётного) и

(порядка бесконечного, т.е., собственно, неопределённой чётности). Для игреков -- аналогично.
Из-за увеличения порядка ровно на единичку функция

инъективно переводит

в

,

в

и

в

. В двух последних случаях -- это не только инъекция, но и биекция, т.к. для элементов на выходе длина цепочки не менее единицы и, следовательно, у них прообраз существует.
Для

-- это, конечно, не более чем инъекция (вообще говоря). Но зато биекцию между двумя этими множествами осуществляет функция

. Вот и всё.
Это -- очень лаконичное и без выкрутасов доказательство. Мне раньше читать его не доводилось, но вот сейчас вчитался -- и мне сильно понравилось.
Прочитать Дудакова не смог, он откровенный пижон. У него какое-то безумное нагромождение дополнительных конструкций и понятий, абсолютно не нужных для реализации основной идеи (как я её понял -- ведь понять её достоверно нет никакой возможности в силу безумия). Между тем та самая идея (как я её понял, ещё раз соррю) весьма тоже проста и привлекательна, и при этом не требует для своей реализации ничего, кроме минимальных, самых что ни на есть базовых понятий теории множеств. Реализация, правда, выйдет несколько длиннее, чем у К.-Ф., но оно того стоит: построение биекции окажется исключительно конструктивным.