Они объясняли мне: «У тебя есть апельсин, так? Теперь ты разрезаешь этот апельсин на конечное количество кусочков, складываешь их обратно в апельсин, и он становится таким же большим как солнце. Истина или ложь?»
— Между кусочками нет пространства? — Нет.
— Невозможно! Такого просто не может быть.
— Ха! Попался! Идите все сюда! Это теорема Того-то о безмерной мере!
И когда им кажется, что они поймали меня, я напоминаю им: «Но вы сказали апельсин! А апельсиновую кожуру невозможно разрезать на кусочки тоньше атомов».
— Но у нас есть условие непрерывности. Мы можем резать бесконечно!
— Нет, вы сказали апельсин, поэтому я принял, что вы имеете в виду настоящий апельсин.
Так что я всегда выигрывал. Если я угадывал — здорово. Если не угадывал, то всегда мог найти в их упрощении что-то, что они упускали из виду.

Ричард Фейнман. «Вы, конечно, шутите, мистер Фейнман!»

Пролог


Так получилось, что с самого детства я увлекаюсь занимательными задачами. Решал я их, как правило, хорошо и быстро, хотя не обходилось и без курьезов. Например, на олимпиаде по математике за седьмой класс, куда я попал, будучи в шестом, была задача: найти такой-то угол в треугольнике, обладающем такими-то свойствами. Мои познания в области геометрии были на тот момент весьма отрывочны, однако кое на что их всё же хватило. Недолго думая, я построил этот треугольник в тетради с помощью циркуля и линейки, а затем измерил нужный угол транспортиром. Это было практически как в том анекдоте про «найдите икс», когда ученик ткнул в букву «x» пальцем с радостным криком «вот он!».

Другой интересный случай произошёл со мной на втором курсе, когда я, пропустив несколько занятий по алгебре подряд, решил наконец вновь на них явиться. Внимательно изучив учебники и конспекты, я пришёл на пару с твёрдой уверенностью, что знаю не меньше лектора, а то и больше. И вот лектор записывает на доске формулировку теоремы, и я тут же замечаю, что теорема-то, в общем, неверна.

Если вы знакомы с общей алгеброй, вы должны помнить про такую штуку, как кольца характеристики 2. Для тех, кто не в курсе: это такие числовые системы, в которых любое число, сложенное с самим собой, даст нуль. Из-за этого в них не выполняется куча свойств, к которым мы привыкли в родных целых/рациональных/действительных числах. Например, зная квадраты двух чисел и квадрат их суммы, мы уже не можем найти их произведение по формуле ab = ((a + b)2 — a2 — b2)/2. Это происходит из-за того, что (a + b)2 = a2 + (ab + ab) + b2 = a2 + b2, а 2 = 1 + 1 = 0.

Так вот, я вижу, что написанная на доске теорема очевидно неверна при характеристике кольца, равной двум, и спешу поделиться своим наблюдением с лектором. Однако вместо того, чтобы смутиться и поправить формулировку, лектор смотрит на меня снисходительно, как на человека, поправляющегося после тяжёлого мененгита и ещё не вполне восстановившего свой умственный тонус. Оказывается, ещё несколько занятий назад они с группой договорились, что все теоремы из этого раздела доказываются для колец с характеристикой, отличной от двух, а соответствующая оговорка в их формулировках попросту опускается для краткости.

Какой вывод можно сделать из этих эпизодов? В условии задачи часто (вероятно, даже всегда) подразумевается больше, чем написано. Задача формулируется не «с нуля», а в том или ином контексте, накладывающем свои ограничения. Особенно явственно это проявляется в тех случаях, когда в формулировке используются объекты и понятия из привычного нам мира, под которыми, однако, скрываются чисто математические абстракции.

В задачах на построение можно пользоваться только циркулем и линейкой, причём не обычными, а математическими. Можно построить окружность сколь угодно большого радиуса, чего реальный циркуль, естественно, не позволяет. Зато линейка имеет только один край, и потому нельзя построить параллельную прямую, обведя карандашом другой. В задачах на переливание нельзя сгонять в магазин за мензуркой или воспользоваться заранее припрятанной флягой, чья ёмкость известна. С другой стороны, вода в них не испаряется, не проливается, не изменяет свой объём в зависимости от температуры — в общем, не делает множества коварных вещей, осложняющих точные измерения в реальном мире.

Условие задачи — это хрупкий компромисс между тем, что хотел сказать автор, и тем, что готов безболезненно воспринять читатель. Как и всё хрупкое, он легко может быть нарушен. На создание этого хабропоста меня вдохновили «решатели» задачи о заключённых, шахматной доске и монетах, которые стали предлагать решения-оффтопики, как то: повернуть монету, поставить монету на ребро и т.п. Оставим в стороне вопрос о том, насколько это остроумно, и подумаем вот над чем: что было бы, если бы формулировки задач были совершенно строгими?

Мякотка


В качестве примера рассмотрим одну простую задачу с предельно лаконичной формулировкой. Я выбрал именно её, потому что ей в своё время тоже досталось от «решателей». Итак, вот она:

Можно ли куб с ребром 1 обернуть лентой 1х12 ровно в два слоя?

  • можно, если разорвать ленту на квадратики;
  • как вариант: размотать ленту на нитки;
  • нельзя, потому что лента имеет толщину, и на второй слой её понадобится больше;
  • нельзя, потому что как ни обматывай, останутся щели;
  • нельзя, на сгибе ленты будет не два слоя, а один/полтора/пи пополам;
  • и это лишь те варианты, которые я запомнил.

Что ж, давайте займёмся формализацией.



Начнём с того, что такое куб. Во-первых, это множество точек в некотором трёхмерном евклидовом пространстве E3. Внутренность куба в контексте задачи нас мало интересует, поэтому займёмся его поверхностью. Поверхность состоит из шести граней, это нетривиальное утверждение понадобится нам в дальнейшем. Обозначим их A1… A6 и уточним, что мы рассматриваем замкнутые грани — т.е. включающие в себя соответствующие рёбра. Поверхность куба целиком обзовём S. В таком случае S = A1 ∪ A2 ∪ A3 ∪ A4 ∪ A5 ∪ A6 .

Лента, в свою очередь, есть подмножество некоторого двухмерного евклидова пространства E2. Чтобы не плодить лишние пространства, можно вложить его в вышеупомянутое пространство E3. Подмножества евклидовых пространств удобно задавать с помощью уравнений и неравенств, связывающих координаты их точек. Введём в нашем пространстве декартову систему координат, и договоримся обозначать координаты точек тройками (x, y, z). В таком случае ленту можно задать следующей системой уравнений и неравенств:
0 ≤ x ≤ 1
0 ≤ y ≤ 12
z = 0


Ленту обзовём буквой L. А что же с кубом? Теперь, когда мы так точно определили ленту, нам неплохо бы с такой же точностью определить куб и его грани. Что ж, пусть это будет единичный куб, грани которого описываются следующими системами:
A1 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ y ≤ 1, z = 0}
A2 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ y ≤ 1, z = 1}
A3 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ z ≤ 1, y = 0}
A4 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ z ≤ 1, y = 1}
A5 = {P(x, y, z) ∈ E3 | 0 ≤ y ≤ 1, 0 ≤ z ≤ 1, x = 0}
A6 = {P(x, y, z) ∈ E3 | 0 ≤ y ≤ 1, 0 ≤ z ≤ 1, x = 1}


Хорошо. Осталось определить такие понятия, как «обёртывание» и «в два слоя». Что же такое обёртывание? Во-первых, это отображение. Каждой точке L мы ставим в соответствие некоторую точку S. Однако если ограничиться таким определением. всё получится слишком легко: поделим ленту на квадраты и отобразим по два квадрата на каждую грань. Чтобы запретить этот хак, мы могли бы потребовать, чтобы отображение было гомеоморфным, т.е. непрерывным. В таком случае, грубо говоря, бесконечно близкие точки ленты перейдут в бесконечно близкие точки куба (не хочу раньше времени утомлять читателя языком эпсилон-дельта). Однако это требование также будет слишком слабым: оно описывает бесконечно растяжимую резиновую ленту, а имея в руках такую штуку, можно обернуть всё что угодно в любое количество слоёв. Нам нужно требование, отражающее «нерезиновость» ленты.

В дифференциальной геометрии есть такие диалектически взаимосвязанные понятия, как «изгибание» и «внутренняя геометрия». Если вкратце, изгибание — это такая деформация поверхности, при которой сохраняются длины всех лежащих на ней кривых, а внутренняя геометрия — это свойства поверхности, не меняющиеся при изгибании. Можно было бы воспользоваться ими, если бы не три обстоятельства:

  1. Дифференциальная геометрия имеет дело с гладкими многообразиями, а мы собираемся натягивать ленту на негладкий куб.
  2. Задача предназначается для учеников седьмого-восьмого класса, и если про евклидовы пространства и теорию множеств эти озорники ещё могли где-то подслушать, то слова «дифференциальная геометрия» будут однозначно восприняты ими как матерные.
  3. Поскольку речь идёт об обёртывании в два слоя, очевидно, отображение не будет инъективным, и в одну и ту же точку куба могут (и будут) отображаться две разных точки ленты, что, очевидно, скажется на внутренней геометрии губительным образом.


К счастью, у нас есть способ обойтись понятиями попроще. Возьмём ленту, внимательно осмотрим её и запомним расстояния между всеми парами её точек (надеюсь, у вас хорошая память). При этом измерять расстояния мы будем не в рамках внутренней геометрии, а так, как они обычно измеряются в E3. Для ленты в её прямом, изначальном состоянии эти два способа измерений дадут одинаковые результаты. Теперь сомнём ленту и спросим себя: для каких пар точек расстояния между ними изменились?

Как известно из курса дифференциальной геометрии (не волнуйтесь, она понадобится нам только на этапе составления условия), при изгибании сохраняется эйлерова кривизна. Мы, впрочем, будем заниматься не сгибаниями ленты, а её сминаниями — у нас могут (и будут) образовываться прямые сгибы, в которых поверхность ленты перестаёт быть гладкой, а слово «дифференциальный» перестаёт иметь смысл. Однако гладкие куски ленты между этими сгибами вследствие сохранения эйлеровой кривизны будут иметь вполне предсказуемую форму: плоскую либо цилиндрическую. Последний вариант отпадает, поскольку куб, как правило, не имеет округлых частей.

Возможно, формулировка задачи и не подразумевает этого в явном виде, однако хотя бы из милосердия нам нужно принять дополнительное ограничение: количество сгибов должно быть конечным. В таком случае лента будет поделена этими сгибами на некоторое количество многоугольников. Расстояние между парами точек, находящимися внутри одного и того же многоугольника, при сминании ленты не изменится. При этом в особенно удобном положении оказываются точки на сгибах: для них сохраняются расстояния до точек из всех смежных многоугольников. Не хотелось бы, однако, давать каким-то точкам несправедливое преимущество перед другими, поэтому попробуем вывести свойство, общее для точек обоих типов.

Для каждой точки внутри многоугольника можно выбрать окрестность, которая целиком будет лежать внутри этого многоугольника. Для каждой точки на границе можно выбрать окрестность, которая целиком будет лежать внутри и на границах смежных многоугольников. Таким образом,
при заданном сминании ленты L для каждой точки P можно выбрать такую окрестность Ω, что для любой точки Q из этой окрестности расстояние между P и Q при сминании осталось неизменным

Это свойство мы и возьмём в качестве определения сминания. Впрочем, нам нет нужды искусственно увеличивать объём и сложность формулировки, ведь математики уже придумали название для такого класса отображений: они называются локально изометрическими. В отличие от просто изометрических отображений, сохраняющих расстояния для каждой пары точек, локально изометрические отображения сохраняют расстояния лишь в «микромасштабах», в некоторых окрестностях точек.

Итак, попробуем составить точную формулировку задачи. У нас есть куб S и лента L. Существует ли локально изометрическое отображение L в S такое, что… Как сформулировать «обёртывание в два слоя»? Напрашивающийся ответ — это когда у каждой точки S есть ровно два прообраза в L. Однако не всё так просто, не зря один из «решателей» упомянул про края, а другой — про сгибы. Это — проблемные места для нашей задачи, из-за которых вот именно в такой формулировке она не будет иметь решения. Строгое доказательство этого факта я оставляю дотошному читателю, здесь же упомяну, что со сгибами ленты ещё как-то можно справиться, а вот края создают непреодолимое препятствие — особые точки, через которые край ленты будет проходить слишком много раз. Можно, конечно, вместо замкнутой ленты взять открытую — в системе неравенств, задающих множество L, заменим все "≤" на "<". Но в таком случае в особых точках слоёв ленты окажется слишком мало. Можно некоторые граничные точки включать в L, а некоторые — не включать. Но это уже будет, извините, фигня какая-то.

Поступим проще: дадим себе право проигнорировать некоторое небольшое количество точек на поверхности куба. Собственно, именно этот подход подразумевается в большинстве задач на разрезание. Когда кто-то говорит «разрежьте квадрат на четыре части, из которых можно сложить равносторонний треугольник», меньше всего он хочет задумываться над тем, что происходит с жалкой горсткой граничных точек. Однако почему эта горстка жалкая? Квадрат имеет ненулевую площадь (или, выражаясь более общим термином, жорданову меру), а множество граничных точек любой измеримой фигуры имеет меру (площадь), равную нулю. Математики порой считают себя вправе пренебречь такими «небольшими» множествами — в таких случаях они обычно добавляют в конце формулировки волшебную фразу «за исключением множества меры нуль».

Чтобы мы могли сказать такую фразу, нам нужно определить меру на S. Конечно, в пространстве E3 уже задана жорданова мера, но вот незадача — с её точки зрения всё множество S целиком имеет нулевую меру, ведь в трёхмерном пространстве мера — это объём, а не площадь. Значит, нам нужно взять плоскую меру и как-то распространить её на поверхность куба. Собственно, сделать это нетрудно: для каждой грани куба нужно взять плоскую меру той части множества, которая располагается в этой грани, а затем все их сложить.

Итог


Теперь мы готовы дать строгую формулировку условия.

Пусть в пространстве E3 задана декартова система координат. Рассмотрим следующие множества в этом пространстве:

A1 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ y ≤ 1, z = 0}
A2 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ y ≤ 1, z = 1}
A3 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ z ≤ 1, y = 0}
A4 = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ z ≤ 1, y = 1}
A5 = {P(x, y, z) ∈ E3 | 0 ≤ y ≤ 1, 0 ≤ z ≤ 1, x = 0}
A6 = {P(x, y, z) ∈ E3 | 0 ≤ y ≤ 1, 0 ≤ z ≤ 1, x = 1}

S = A1 ∪ A2 ∪ A3 ∪ A4 ∪ A5 ∪ A6

L = {P(x, y, z) ∈ E3 | 0 ≤ x ≤ 1, 0 ≤ y ≤ 12, z = 0}

На множестве S зададим меру mS следующим образом:

∀T ⊂ S mS(T) = ∑i=1...6 m2(T ⋂ Ai), где m2 — плоская мера Жордана.

Существует ли локально изометрическое отображение F: L → S такое, что mS({P∈S | (|{Q ∈L | F(Q) = P}| ≠ 2)}) = 0?

Последняя формула, конечно, проще выражается словами (множество точек поверхности куба, у которых не два прообраза, имеет меру нуль), но я просто не мог отказать себе в удовольствии записать её в этом жутком виде.

Настала пора заключительных слов. Как говорил старина Кант: «Поступай так, чтобы максима твоей воли могла бы быть всеобщим законом». Я, честно говоря, так и не понял до конца, что он хотел этим сказать, но для себя переформулировал это в следующем виде: используй такой алгоритм действий, чтобы в случае, если все люди на Земле станут действовать по тому же алгоритму, мир не погрузился в хаос и мглу ада. Так вот, товарищи: если однажды все начнут «решать» задачи так, как я описывал в начале статьи, то в один не вполне прекрасный день все формулировки задач станут такими, как в конце статьи. Не надо так.

Мира всем, добра, любви и печенек.