Практика против теории множеств
![топ 100 блогов](/media/images/default.jpg)
Я отвечу: они мне не нравятся тем, что все они подобны подсчётам ангелов на кончике иглы. То есть сильным заявлениям о чём-то неопределённом и не только принципиально неприменимом, но даже о принципиально необнаружимом.
В этом случае в рассуждениях с неизбежностью будут логические проблемы, а вся разница между разными их версиями лишь в том, сколь глубоко эти проблемы в них сумели закопать.
«Наивная теория ангелов», разумеется, содержала ошибки, которые обнаружил первый попавшийся внимательный читатель. Однако создатели напряглись и спрятали очевидные ошибки поглубже. Их снова кто-то внимательный нашёл, и тогда их пришлось перепрятать в ещё более радикальные глубины. И дело даже не в том, что счетоводы ангелов кого-то пытались обмануть — о нет, они просто «отвечали на вопросы». На вопросы, лежащие в области принципиально необнаружимого, а потому бессмысленные.
Собственно, из неприятия такого рода процессов и проистекает принцип: «надёжное — это то, что мы уже запрограммировали». Программу не напипёшь замаскированными логическими петлями. Если она уже написана, то тяжело настаивать, что её написать невозможно. А если она ещё не написана, то по своей убедительности она всегда будет проигрывать уже написанной.
Программа — это не просто способ записать рассуждения на однозначно трактуемом языке. Это ещё и способ «материализации» рассуждений. Написанное на бумаге можно «додумать», а оппонента всегда можно обвинить в том, что он додумывает «неправильно».
В случае же с программой всё это нивелируется почти в ноль, поскольку её можно запустить и проверить что угодно: может она чего-то сделать или нет, какой будет результат при таких-то вводных, скомпилируется ли код, чем пройдёт проверку на синтаксические ошибки, или не скомпилируется. Тут умозрительные рассуждения радикально теряют в весе и уходят в ранг в лучшем случае гипотез, а в худшем — априорных догадок. Что очевидно всем, кто понимает, что такое «программа».
И вот давайте взглянем, например, на смелую гипотезу о том, что «ненаивная» теория множеств — основа всей математики.
Пока оно на бумаге и в устных рассуждениях, оно кого-то убеждает.
Весомым может показаться утверждение о том, что даже сами числа — это мощности множеств, а любая арифметика — только лишь следствие сей теории. Не, ну а правда — вдруг всё так? Тем более, пара способов для пары аксиом всё-таки показаны.
Может казаться, что действительно без каких-то там утверждений о мощности математика утратит полноту, и её будет невозможно использовать. Не, ну а правда? Вдруг это я что-то не понимаю, а на самом деле действительно всё развалится? Надо на всякий случай согласиться.
Да, какие-то люди говорят, что можно и без этого, а с этим, напротив, проколов даже больше, чем без, но у каких-то других людей, которые говорят в пользу «базовости» теории множеств, борода длиннее и взгляд суровее — наверно правы они.
Тем более, в вузах это иногда преподают — не может же быть, что зазря. В Физтехе, правда, теории множеств не было, но вдруг физтеховцев обделили?
И так далее, и так далее.
И так далее — пока на бумаге и устно.
Однако стоит нам рассмотреть реально существующие программы, как всё это рушится в один миг.
Вы уже можете взглянуть на Wolfram Mathematica, Maple и на стопицот других, менее продвинутых систем.
Не все они умеют всё, но лидеры уже-таки близки к этому: они реально уже могут сделать в формальной и вычислительной области почти всё, что мог бы человек. И уже умеют гораздо больше, чем любой отдельно взятый человек или даже целая отдельно взятая лаборатория таковых.
В философию, да, они не могут, но ведь «теория множеств — основа математики» наверно не в смысле философии, да? Это ведь в формальной области «без неё никак»? А то ведь, если никак только в философии, то как-то уж чересчур явно просвечивают ангелы на кончике иглы?
Так вот, в формальной и вычислительной области сабжевые системы уже могут почти всё. Производные, интегралы, ряды, пределы, теорвер, статистика, нейросети, преобразования выражений, включая тригонометрические, в том числе, всё это в аналитической и даже в рекурсивной форме, операции с тензорами и кватернионами, комплексные функции, графики, графы, решение логических уравнений, в том числе, с кванторами, вычислительная геометрия, аналитическая геометрия, символьные преобразования, я реально устану перечислять, что уже запрограммировано.
Они, блин, уже умеют находить формальные доказательства по системе аксиом. И даже генерировать решения кучи задач прямо с пошаговыми рассуждениями, аки у школьника в тетради.
Знаете, сколько раз там в коде фигурирует аксиома о мощности множеств в каком-либо виде?
Ноль.
Ноль раз она там фигурирует.
То есть на практике оказалось, что «основа всей математики», без которой «в математике вообще никак», вообще ни разу не пригодилась для того, чтобы запрограммировать всю математику.
Ссылки на эту часть «теории множеств» есть только в функции, которая возвращает список аксиом теории множеств в виде текста. И таки да, трактуя их, как формальную запись хрен знает чего, Mathematica умеет делать их преобразования и даже искать цепочку преобразований от этих символьных выражений к каким-то ещё. Просто потому, что таким системам в этом плане вообще пофиг, какой смысл кто-то вкладывает в эти выражения — для них они все просто произвольные выражения в распознаваемом системой формате. В общем случае которых эти системы умеют переставлять символы по заданным пользователем правилам и перебирать варианты таких преобразований, чтобы найти требуемую цепочку или убедиться, что такой цепочки нет.
При этом все осмысленные операции со списками и множествами (то есть, по сути, со списками, в которых не важен порядок элементов), разумеется, умеют делать и эти системы и вообще все языки программирования. Из таких операций состоит чуть ли не половина кода любой программы, поэтому странно было бы думать, что «разработчики просто не поняли всей глубины списков и множеств».
В современные языки и в эти системы вошли, например, почерпнутые из теории категорий и в дальнейшем усовершенствованные подходы. Это — очень удобная штука, которая стремительно распространилась, несмотря на то что вопрос о том, что именно она — основа всей математики, хоть и поднимался, но не педалировался.
В любом случае, пусть не как «граждане первого сорта», но функции в любом языке программирования наверняка будут.
Также в этих системах и в программах вообще вы встретите миллионы использований «аксиоматических» в этих языках операций «+» и «-».
Там будут весьма заметно представлены символьные замены: через регулярные выражения, как в мэйнстримных языках, и как базовая основа языка — в языках, заточенных под символьную математику.
Там будет овердофига логических операций.
С большой вероятностью там будет система типов и подтипов — той или иной степени продвинутости и точности.
Но вот сабжевой «основы всей математики» там нигде не будет.
Ни разу.
Она не пригодилась.
В первую очередь потому, что из неё попросту нечего извлечь, даже если абстрагироваться от внутренней противоречивости.
Иными словами, это не «основы всей математики» и даже вообще математика.
Это — абстрактная и отдельная от всего остального философия.
С тем же успехом аналогичные философы могли бы клясться на всех священных книгах, что ангелы — это основа всей биологии (поскольку они вдыхают душу в живое) и всей астрономии (поскольку кто же ещё может двигать небесные тела).
По мере постановки экспериментов и развития технологий, разумеется, всё большее и большее количество явлений получают объяснения, никак не включающие в себя ангелов, поэтому ангелов приходится задвигать всё в более и более глубокие слои «истинного устройства мироздания», пока, наконец, они не уходят столь глубоко, что ангелологам приходится сменить тактику и начать говорить о том, что технологии и эксперименты — это область для быдла, а вот лично они занимаются чем-то очень возвышенным, тонким и не всем доступным, несмотря даже на то, что в семинарию принимают любого идиота.
Вот и с «мощностями множеств» оно примерно так же. Любой идиот в заборостроительном может послушать курс по «теории множеств», однако сама эта область — очень тонкая и не для быдла. Быдло просто не понимает всей этой тонкости, а потому-то нигде сие не использует — даже в виде отголосков.
Понимаете, умеющий брать производные уже почти не нужен — их отлично берёт компьютер. Умеющий считать не нужен уже давно — компьютер отлично считает уже больше полувека. Медленно, но верно, отпадает необходимость в умеющих делать механические доказательства — комп умеет это уже почти во всех областях.
Таким образом, как-то само собой получается, что нужны те, кто может программировать ещё не запрограммированное, формулировать задачи и искать новые способы их решения. А просто получивший некую порцию знаний бесполезен уже не только потому, что все эти знания лежат на расстоянии пары кликов, а даже их применение уже лежит примерно на том же расстоянии.
И чем тогда, спрашивается, показать свою элитарность? Чем обосновать хотя бы для себя то, что ты пять лет в вузе и одиннадцать лет в школе заучивал какие-то тексты?
Ну вот же выход: надо выбирать то, что компьютер не может — считать ангелов на кончике иглы или рассуждать про «мощность множеств».
Поскольку последнее пока ещё как-то сходит за науку — дальше уже только диалектика и дзен-буддизм.
doc-файл
|
</> |