Математика суть красота, зеркало мысли человека. Грядущие открытия невообразимо прекрасны. Но уже сейчас чтобы добраться до вершины наблюдения известных красот нужно потратить много усилий, и при этом может не получиться. А если получится, то беда придёт с другой стороны — новые вопросы будут подвергать сомнению любые прежние договорённости, не стесняясь. Станет ясно, что по этим обширным загадочным местам бродить — не перебродить. Предлагаю, наоборот, посетить подвал математики — куда любителю красоты вход заказан. Причина проста: там всё очевидно, слишком очевидно.



Тот, кто послал тебя туда, не был к тебе добр. (Этот абзац — лирическое отступление)

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

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

Под полом равенства лежит сплошной бетон абсолюта — объект всего один, и равен он себе или не равен — не важно.

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

Но иллюстрировать связь можно проще. Две точки, а между ними стрелка связи, от общего к частному. Как поток чего-то абстрактного, но важного. Наследие свойств.

Скучное равенство выполняет тривиальное правило, что вывести равенство отдельных двух объектов можно из двух равенств — каждого из этой пары и третьего. Другими словами, равные равным равны. Практического смысла у этого скучного правила нет, потому что схема, в которой на объект указывают несколько имён статична: что установлено равным, то и равно.

Но с направленным равенством появляется разнообразие. Если мы возьмём две связи с одним объектом, то связь у парных к нему объектов между собой может быть, а может и не быть — причём, зависимость от направления исходных связей такая, что в некоторых комбинациях допускается оба варианта существования, а в некоторых вариант может быть только один. Говоря конкретнее, односторонняя связь обладает свойством трансляции — когда при связи $a\to b$ и связи $b\to c$ обязательно есть связь $a\to c$. А всё остальное может быть, а может не быть.

Трансляция выглядит так: для каждого объекта все источники входящей связи имеют связь ко всем получателям исходящей связи. Исчерпывающее определение.

Можно допустить неизвестность. Каждую связь кроме вариантов существования и несуществования можно считать неизвестной — и тогда общее количество вариантов возрастает. Для односторонней связи, которая из-за двух вариантов существования для каждого направления в целом имеет четыре вида, неизвестность не просто добавляет для каждого из них по два варианта состояния, возможно/не возможно. Каждая комбинация неизвестности это отдельный вариант. Для четырёх полностью известных состояний вариантов неизвестного состояния 16, но вариант, в котором невозможен ни один из четырёх известных видов, исключается. Так что, 15 видов односторонней связи объектов, когда допустима неизвестность. Примеры: «связь полностью неизвестна», «связь однонаправлена, но в какую сторону неизвестно», «объекты либо равны, либо не равны — то есть, без однонаправленности», «связь может быть любая, кроме однонаправленной от второго к первому», «связь любая, кроме равенства».

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

Если однонаправленная связь выстроена в цепочку и при следующем изменении добавляется связь от конечного объекта к начальному, то все объекты такой цепочки становятся одним объектом, неизвестность обратной связи исчезает. На этом этапе выбор прост: либо есть замыкание, и тогда все объекты цепочки равны, либо замыкания нет, и среди и прямых и среди обратных связей обязательно есть отсутствующая. Трансляция непротиворечива.

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

Весь уровень можно продублировать в виде обращённого уровня. На обращённом уровне кроме объектов продублированы все их связи, но при этом они имеют обратное направление. Можно устанавливать связь между объектами прямого и обращённого уровня, и тогда если объект начала связи помечается как «истинно», то оригинал обращённого уровня конца связи не может быть истинным, он будет ложным. Иначе по обратной связи истинность доберётся до объекта обратного к «истине», который обозначает «ошибку», и станет «верно… что случилась ошибка».

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

Наименование представляют собой одностороннюю связь — так же как и связь между самими объектами. Но существует несколько важных отличий. Первое — что одно имя имеет связь только с одним объектом, это основная указывающая роль этой связи. И второе — связь от имени к объекту никогда не должна быть замкнута обратно, ведь тогда разделение уровней будет нарушено, и имя и объект станут одним и тем же. Это не очень хорошо.

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

Принцип моделирования заключается в том, что если модель повторяет реальность, то они одинаковы, и различие только в названии. Но обратная сторона принципа моделирования говорит о том, что сами по себе реальность и модель отличаются — модель создаётся, а реальность уже существует, всегда.

Пожалуй, на этом экскурсию стоит закончить. Возвращайтесь. Если вы проникнитесь, то не захотите уходить. Возможно, этот подвал — единственно, что настоящее. А всё остальное суета.

Комментарии (108)


  1. WebWC
    04.09.2021 01:34
    +2

    На самом деле прочитал на ура, но! Вступление вызвало интерес из-за попытки сравнить имя-связь\подвал-несущие. В целом, статья отличная. Если добавить примитивные иллюстрации + добавлять к "связям" и "именам" примеры из этого же подвала, то доступность материала возрастет. Для школьников будет супер материал.

    Конечно, хочется в этот рассказ занести и другие науки, вроде "сопромата", но тогда получится целый EDU QUEST.


    1. yurixi Автор
      04.09.2021 01:45
      +1

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


      1. victor_1212
        04.09.2021 02:14

        >В общем, я не думаю, что философия на хабре будет оценена

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


        1. yurixi Автор
          04.09.2021 03:22

          Знаете, я какую-то интересную тему скомкал до кратких высказываний, добавив образности вместо убедительности. Может быть, у вас есть другие вопросы чем «что вы хотите сказать»? Я в общем хотел сказать, что надо правильно понимать связь реальности и математики, а как правильно — объяснить не потрудился. Ну, на грани.


  1. third112
    04.09.2021 02:06
    +5

    Тождество забыли, а еще другие отношения эквивалентности.


    Принцип моделирования заключается в том, что если модель повторяет реальность, то они одинаковы, и различие только в названии.

    Принципиально не согласен!: модель повторяет только важные свойства. Основной принцип моделирования — минимизация. Так при моделировании аэродинамики самолета достаточно сделать корпус из деревяшки, чтобы испытать его в "трубе", а делать в этом корпусе салон с креслами, движок и т.д. — избыточно.


    1. yurixi Автор
      04.09.2021 02:19

      модель повторяет только важные свойства

      Да, с вашей стороны я могу казаться каким-то идеалистом, но я всё же решил говорить с позиций, что степень соответствия моделирования не является внутренней характеристикой модели, а является характеристикой соотношения с реальностью. То есть, идеальная модель как таковая — это всё же нечто неотличимое. Если я сложу две группы предметов, то их количество будет суммой изначального количество в группе. Но промоделировав в уме я могу просто сложить количество и заранее узнать сколько получится. Результат не отличается.


      1. third112
        04.09.2021 02:50
        +1

        И, даже, философы-идеалисты говорили, что идеал не достижим;) А в данном случае достигать нет смысла. Занимаюсь моделями в химиии почти 40 лет. Вы книги Мышкиса читали про модели? У него хорошо и подробно написано.


        1. yurixi Автор
          04.09.2021 03:13
          +1

          Вы знаете, в статье не просто говорится, что модель не отличается от реальности, но и говорится о том, что это утверждение имеет предел. Так что, вы вполне правы.

          Разве что, стоит всё таки иметь ввиду, что в информационной сфере моделирование действий и сами действия, бывает, не отличаются. Если программу, зависящую только от входящих данных запустить два раза, получить одинаковые данные, и один раз считать работой, с использованием результатов, а другой раз считать предварительным моделированием — то согласитесь, здесь действительно различие только в названии.


          1. third112
            04.09.2021 03:52

            Здесь мы возвращаемся к вопросу, на который Вы не ответили, про отношения эквивалентности. Если тривиальную программу запустить несколько раз на одном ПК, и один из запусков назвать моделью, то тождественная копия подразумевает тождественный результат. Хотя нельзя исключить вероятность сбоя "железа", а если прога в инет обращается или псевдослучайные числа использует, то результат м.б. разный с высокой вероятностью. Однако моделью обычно называют объект отличный от прототипа (и у Вас в статье так) — следуя логике бритвы Оккама.


            1. yurixi Автор
              04.09.2021 04:19

              Можно начать с того, что процесс сам себя точно моделирует. Чтобы не уходить в демагогию, то, может быть, и стоит говорить о моделях как о недо-реальности. И значит и не моделирует себя, а просто.

              Но стоит учесть мнение, что наоборот, преуменьшать роль модели не нужно. Тут же не только желание чтобы модель работала как реальность, но и желание чтобы реальность работала как модель. Ну и потому — не стоит модель заранее определять как недо-реальность.

              Сглазите и реальность за вашей моделью не пойдёт.

              Впрочем, может быть вы такими вещами не занимаетесь.


              1. third112
                04.09.2021 04:41

                По Вашей схеме нужно сразу делать самолет, если не взлетит, то "модель" — не удачная, делать второй и т.д., 5й упадет — погибнут испытатели. Какой смысл в таком моделировании?


                1. yurixi Автор
                  04.09.2021 04:43

                  Нет, я строю информационную модель, которая на столько полна, что позволяет выбрать такое действие на реальность чтобы получить результат, повторяющий модель.


                  1. third112
                    04.09.2021 17:12

                    ИМХО фантастика. Любопытно, какие модели Вам удалось построить, какие ресурсы на это потрачены?


                    1. yurixi Автор
                      04.09.2021 21:33

                      Я о том что даже на вашем примере вы делаете модель, а потом не просто испытываете, а вносите изменения в модель, а в случае хорошего результата переносите на рабочее изделие. Перенос в данном случае это перенос одних характеристик, которые зависят от вас прямо — так, чтобы те которые не зависят прямо тоже были желаемыми, повторяя за моделью. То есть, полезные исправления в модели были бы полезными исправлениями в реальности.


                      1. third112
                        04.09.2021 22:39

                        Верно. Я делаю ряд моделей, исправляя целевые параметры. Но повторю, что не все параметры целевые. Уже сказал, что испытывая аэродинамику не нужно моделировать электропитание туалетов самолета.


                        В области орг. химии, если стоит задача найти лекарство, то всем без разницы какая у предложенного вещества будет температура плавления 160 градусов или 230.


                        ИМХО не надо путать закономерности и модели. Есть факт, что длина окружности равна 2 пи на радиус. Это не модель — это факт. Аналогичные факты есть в физике и в химии. Нпр., если раствор 10% серной кислоты добавить к 10% раствору хлорида бария — выпадет осадок сульфата бария. Это экспериментальный факт, тут нечего моделировать. Если кто запишет эту реакцию на бумажке и назовет моделью — его засмеют.


                      1. yurixi Автор
                        04.09.2021 23:25

                        Числа это сами по себе модель. Чтобы узнать сколько живёт на свете людей не обязательно их собирать в одну комнату и просить рассчитаться, можно подсчитать в тех комнатах, в которых они находятся и мысленно сложить. Это происходит именно потому что модель и реальность не отличаются, когда речь об отдельных таких областях. В этом примере, такая область это простейшая характеристика — количество.

                        Если отрицать то что модель и реальность в выделенной области одно и то же, то ничего невозможно будет подсчитать.

                        Представляете? Чтобы каждому человеку, так сказать, раздать по смартфону, нужно будет не подсчитать сколько людей и подготовить столько же смартфонов, а просто сказать: идите и возьмите по одному. Потому что, ну, оказывается, модель не моделирует, кто знает, вдруг одинаковое количество и людей и смартфонов, а у каждого по пять окажется. Хорошо, если смартфонов у людей, а если людей у смартфонов?


                      1. third112
                        04.09.2021 23:47

                        Числа это сами по себе модель.

                        Это давний философский вопрос о реалистичности математики (можем пифагорейцев вспомнить). Если числа модель, то Вы говорите о модели модели. ИМХО моделировать модель нет смысла — это порочный круг.


                        ИМХО числа не модель. Есть разные инструменты. Есть молотки, а есть отвертки. Предлагаете называть все отвертки молотками? Кому от этого польза?


                      1. yurixi Автор
                        05.09.2021 00:01
                        -1

                        Программисты смотрят на мир как на программу, поэтому очень легко считать, что информационные модели почти не отличаются от реальности. Даже приходится напоминать, что отличаются.


                      1. third112
                        05.09.2021 00:06
                        +1

                        Программисты смотрят на мир как на программу

                        Я много лет, как программист, и знаю многих со сравнимым опытом. Мы не считаем мир программой...


                      1. yurixi Автор
                        05.09.2021 00:25

                        Мне вот не до конца понятно зачем мне вас убеждать в том, что надо пользоваться расширенным понятием модели, в которой самое главное не забывать что она модель. Вы, в общем-то, далеко от того чтобы забыть о этом.

                        Впрочем, с тем чтобы понимать модель совсем узко — как поделку, кое как повторяющую оригинал — я бы не согласился.

                        Если выделять область в которой модель повторяет оригинал, то в рамках этой области можно говорить о повторе. Ну вот, даже тавтология получилась.


                      1. third112
                        05.09.2021 02:59

                        Мне вот не до конца понятно зачем мне вас убеждать

                        Вам не надо меня лично убеждать. Но нашу переписку могут читать другие люди… Убеждайте их, что числа — модель и теорема Пифагора — модель… А я продолжу моделировать. Перечитайте, что я говорил выше — не получил ответа на многие вопросы.


                      1. yurixi Автор
                        05.09.2021 04:06

                        Переписку читают люди, действительно. И то что человек в хабе математика говорит о моделировании в терминах физического моделирования вместо информационного, вопрос будет только ко мне — зачем было поддерживать этот разговор.


                      1. third112
                        05.09.2021 04:36

                        в терминах физического моделирования вместо информационного

                        Да, вопрос: чем физического отлично от информационного?


                      1. yurixi Автор
                        05.09.2021 05:18

                        Вот вы число не относите к модели, а я показал как оно используется как модель. И что? Тут обсуждать-то нечего, вопрос абстрагирования, терминологи.


                      1. victor_1212
                        05.09.2021 03:12

                        >Программисты смотрят на мир как на программу, поэтому очень легко считать ....

                        кажется с подвалом все ясно


    1. victor_1212
      04.09.2021 02:20
      +1

      >модель повторяет только важные свойства ...

      повторение и апроксимация (=приближе́ние) таки не совсем одно и то же


      1. third112
        04.09.2021 02:39

        Да, не совсем одно и то же. Но зачем Вам моделировать электропитание туалетов самолета, если Вы изучаете его аэродинамику? В случае мат.модели будет куча лишних параметров, за которые хороший транслятор Вас обругает: неиспользуемая переменная.


        1. victor_1212
          04.09.2021 02:50

          именно не совсем, остальное можно пропустить


          1. third112
            04.09.2021 02:53

            Ваше право пропустить, только это будет не приближение.


  1. amarao
    04.09.2021 12:02
    +2

    Спускаясь в подвал нельзя быть надменным. Каждое ваше слово вызывает бурю вопросов. Например, могут ли быть объекты, которые не равны сами себе?

    Мы же программисты, да? NaN != NaN.

    Есть ли разница между равенством и тождественностью? `foo is foo` и `foo == foo`?

    Сколько пустых множеств существует? Чему равна мощность множества, состоящая из всех пустых множеств?


    1. 0xd34df00d
      04.09.2021 18:11
      +3

      Сколько пустых множеств существует?

      В ZF, очевидно, ровно одно.


      1. amarao
        05.09.2021 10:55

        Ну вот мне, как программисту, совсем не очевидно, что если из множества вещественных чисел вычесть множество вещественных чисел, то получившееся множество будет иметь тот же тип, что и множество всех одновременно полных и непротиворечивых систем аксиом.

        Почему пустое множество одно? Аксиома?


        1. qw1
          05.09.2021 16:26

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


          1. amarao
            05.09.2021 21:06

            А может ли существовать два одинаковых множества? Грубо говоря, {1} и {1}. Ведь '1' внутри может быть разной. Одна - это { 1 } Z, вторая, например, {1.0} R. Разница в них методом построения, например. Одно - посредством счёта, а второе, например, посредством предела.

            Да даже проще. Множество, построенное как { {} } + { {{}} }, и множество, построенное как { {{}} } + { {} }. Для конечного числа сложений это одно и тоже (вроде бы), а вот если я этот процесс бесконечно повторю, то начнутся нюансы...


            1. qw1
              05.09.2021 21:19

              Хорошие вопросы. На пустое множество они, к счастью, не посягают.

              А вот насчёт равенства множеств { 1 } и { 1.0 } я и сам не знаю.
              0xd34df00d отмечал, что у множеств в ZF нет типов, но значит и операция сравнения элементов множества не определена. Непонятно, как применять ту же аксиому экстенсиональности.

              а вот если я этот процесс бесконечно повторю, то начнутся нюансы
              Не начнутся, потому что элемент x, полученный бесконечным повторением операции, нельзя построить, а потому включить в множество (формально, опираясь только на аксиомы формальной системы и разрешённые операции).


            1. 0xd34df00d
              05.09.2021 21:28
              +1

              А может ли существовать два одинаковых множества? Грубо говоря, {1} и {1}. Ведь '1' внутри может быть разной. Одна — это { 1 } Z, вторая, например, {1.0} R.

              Так это и будет означать, что это множества разные, так как элементы разные, а что вы 1.0 из R обозначаете как 1 из N — так это сокращение в вашей нотации.


              Мне откровенно лень аксиоматически строить R в голом ZF, но 1.0 будет выглядеть точно не как единица из N.


              а вот если я этот процесс бесконечно повторю, то начнутся нюансы...

              Какие?


              1. qw1
                05.09.2021 21:36
                +1

                так как элементы разные, а что вы 1.0 из R обозначаете как 1 из N — так это сокращение в вашей нотации
                Выходит, утверждение N⊆R ложно? Обычно на «школьном» уровне утверждается, что целые числа — подмножество рациональных, а рациональные — подмножество действительных.


                1. amarao
                  05.09.2021 22:05

                  Мне нравится многообещающий стук из-под казалось бы бетонного пола подвала.


                1. 0xd34df00d
                  05.09.2021 22:35
                  +1

                  Дальше надо брать конкретную аксиоматизацию и её обсуждать.


                  Если вы отождествляете натуральную и вещественную единицу, то тогда исходный вопрос теряет смысл, потому что у вас что в одном случае { 1 }, что в другом случае { 1 }, и тогда это одинаковые множества. Просто уточнение, мол, что это единица из натуральных чисел, а та – вещественная, тогда не имеет смысла.


                1. 0xd34df00d
                  05.09.2021 22:48
                  +1

                  Олсо, да, насчёт ложности – если вы начнёте обмазываться, например, теоркатом, то { 0 } не будет ничем не более худшим подмножеством { 1, 2 }, чем { 1 } или { 2 } — просто потому, что в теоркатной формулировке вы смотрите не на элементы, а на стрелки (которые я тут не указал, за счёт чего и получается каламбур), и от подобъектов вы требуете, чтобы выполнялось некоторое условие на стрелки, а не на элементы (теоркат вообще ничего не знает про элементы).


                  И тогда у вас у множества { 1, 2 } будет куча одинаковых в категориальном смысле подмножеств ({ 0 }, ι: 0 ↦ 1), ({ 1 }, ι: 1 ↦ 1), ({ { 1, 2 } }, ι: { 1, 2 } ↦ 1), и так далее. Ясно, что эти все штуки изоморфны, поэтому их можно в каком-то смысле отождествить. И тогда категориальной интерпретации то, что мы называем { 1 } как подмножество { 1, 2 }, будет классом эквивалентности (по отношению изоморфности) объектов и стрелок таких, что их образ равен { 1 }.


        1. 0xd34df00d
          05.09.2021 18:10
          +1

          Ну вот мне, как программисту, совсем не очевидно, что если из множества вещественных чисел вычесть множество вещественных чисел, то получившееся множество будет иметь тот же тип, что и множество всех одновременно полных и непротиворечивых систем аксиом.

          У множеств в теории множеств нет типов.


          Почему пустое множество одно? Аксиома?

          Ага, экстенсиональности. Два множества совпадают, если у них одинаковые элементы.


          Вы, конечно, можете построить нестандартную модель ZF, пользуясь теоремой Левенгейма-Сколема о повышении (с мобильника ссылки тяжело давать, так что извиняюсь за их отсутствие), где будет бесконечно много элементов, соответствующих пустому множеству, но вы не сможете их различить изнутри теории.


          Впрочем, там вылезают драконы и поинтереснее. ZF — теория первого порядка, поэтому по той же теореме (только о понижении) у нее есть счётная модель. Соответственно, там есть несчетные множества (вещественных чисел, например), являющиеся счетными. Звучит парадоксально, но на самом деле парадоксов нет.


          1. amarao
            05.09.2021 21:11
            +1

            Аксиома, это что-то, что интуитивно понятно. Вот мне совсем не понятно, что такое "одинаковые". Опираясь на бытовую интуицию, я знаю, что:

            а) Некоторые объекты не равны сами себе (NaN), т.е. {NaN} и {NaN} по определению NaN не являются одинаковыми множествами.

            б) Некоторые объекты похожи, но всё-таки различны (разница между is и ==).

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


            1. qw1
              05.09.2021 21:26

              В стандартной математике нет NaN, а если вы захотите придумать свою нестандартную, придётся описать её аксиоматику.

              Та арифметика с NaN, которая в FPU, не является надмножеством действительных чисел. Она вообще построена над конечным множеством и поэтому тривиальна.


              1. amarao
                05.09.2021 22:03
                +1

                Дело не в математике. Требование X = X совершенно не очевидно. Например, мы не можем проверять бесконечности так.

                {∞} =?= {∞}

                NaN в этом смысле - это объект с простыми свойствами. Мы можем сконструировать такой объект. И мы можем описывать множества с NaN внутри. После чего возникает вопрос равенства таких множеств с NaN'ами.

                По крайней мере в той форме, как мне про множества рассказывали, понятие множества вводилось интуитивно - всё, на что пальцем можешь показать. Я могу показать на NaN.


                1. 0xd34df00d
                  05.09.2021 22:38
                  +1

                  Требование X = X совершенно не очевидно.

                  Ок. Что такое равенство?


                  Например, мы не можем проверять бесконечности так.

                  Только потому, что символ ∞ не определен.


                  1. amarao
                    06.09.2021 00:02
                    +1

                    В смысле, не определён? Мы же к нему стремимся в каждом втором пределе.

                    Вот как раз "что такое равенство", как мне кажется, и открывает дверцу в следующий подвал с настоящими драконами.


                    1. 0xd34df00d
                      06.09.2021 00:13
                      +2

                      Мы же к нему стремимся в каждом втором пределе.

                      Это снова вопрос нотации. «последовательность x_i стремится к (плюс) ∞» — это такой шорткат-макрос для «для любого m существует N такое, что для любого n > N выполняется x_n > m».


                      ∞ как элемента N, R или чего там у вас, не возникает.


                      1. amarao
                        06.09.2021 12:28

                        Скажите, у меня может быть множество символов математической нотации? Видимо, да. И там можно оставить только такие символы, для которых равенство не определено или определено, что оно всегда ложно.


                      1. qw1
                        06.09.2021 12:58

                        Т.е. такое множество, как std::unordered_set<wchar_t>?
                        Да, тут можно сказать что ∑=∏ — ложно, однако в таком примере нельзя сравнить 7.0 и ∞, т.к. первое — не математический символ.


                      1. amarao
                        06.09.2021 13:17

                        А при чём тут отношения порядка? Вы куда-то в сторону уводите.


                      1. qw1
                        06.09.2021 13:25

                        Специально взял unordered_set — порядок не нужен, нужно только равенство.


                      1. amarao
                        06.09.2021 13:27

                        можно оставить только такие символы, для которых равенство не определено или определено, что оно всегда ложно. Упор не на отношения, а на отсутствие экивалентности самим себе.


                      1. qw1
                        06.09.2021 13:30

                        Придётся такую эквивалентность называть другим термином.


                      1. amarao
                        06.09.2021 13:44

                        На самом деле это очень философский вопрос. Вот два множества с двумя людьми (в каждом множестве по человеку) - они одинаковые или нет? Оба - человеки. Но..


                      1. qw1
                        06.09.2021 13:53

                        Для математика, программиста, знакомого с концепцией перегрузки операторов — вообще не вопрос. Сходить в исходник (определение) оператора == и там прочитать…

                        С бытовой точки зрения, также «зависит от»… Например, для какого-нибудь топ-менеджера команды условных миддлов из 5 человек эквивалентны, на его уровне нет смысла делать различия.


                      1. alche
                        06.09.2021 14:23

                        можно оставить только такие символы, для которых равенство не определено

                        Так нельзя. Это противоречит определению множества, которое давал Кантор. Он писал так: “Под множеством мы понимаем любое соединение M определенных различных (различимых) объектов нашего умозрения или нашей мысли (которые будут называться элементами M) в единое целое”.

                        Таким образом, мы должны уметь сказать, равны или нет элементы, из которых мы строим множество.

                        или определено, что оно всегда ложно.

                        А это пожалуйста, у вас будет множество, в котором все элементы строго различны.

                        Множество - это не все, вокруг чего можно поставить фигурные скобки.


                      1. amarao
                        06.09.2021 14:52

                        Допустим, что мы можем различать объекты, но не можем обнаруживать сходство. Банальная функция, у которой инвариант - false.

                        Под определение Кантора вполне подходит.


                      1. alche
                        06.09.2021 14:59

                        Это вторая половина моего комментария.


                      1. amarao
                        06.09.2021 15:03

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

                        Например, я не понимаю, почему нельзя рассматривать множество тапок, как множество, например.


                      1. alche
                        06.09.2021 15:41

                        Если мы можем различать тапки (явно указав способ различения), то можно. Вот электроны, например, мы различать не можем. Так что выражение "множество электронов" нельзя использовать в математике, только в быту. Но лучше этого не делать.

                        Оба вида определения (конструктивное и декларативное) должны удовлетворять аксиомам ZFC. Иначе конструкция не будет множеством.


                      1. amarao
                        06.09.2021 16:46

                        А вот тут какое-то передёргивание. Почему мы не можем иметь множества вне ZFC? Вроде бы, понятие в математике было и до ZFC.


                      1. qw1
                        06.09.2021 16:50

                        Без формализмов мы не найдём общий язык. Вы себе представляете какие-то «множества», я себе представляю другие. Откуда знать, что у вас в голове. А с аксиоматикой есть базис, на котором можно разговаривать.


                      1. amarao
                        06.09.2021 21:06
                        +1

                        Использовать систему аксиом, для того, чтобы оградиться от неудобных философских вопросов - это не интересно.

                        Вот задаться вопросом всерьёз и попытаться найти нюансы смысла - это уже как раз "постучать в дно".

                        Вот, я вам подкину вопрос: а как определить множества не имея предварительного понятия про "один" и "другой" (т.е. "1" и "2")?


                      1. 0xd34df00d
                        06.09.2021 21:56
                        +1

                        Использовать систему аксиом, для того, чтобы оградиться от неудобных философских вопросов — это не интересно.

                        Математика на самом деле не про философию, а про игры со значками по определённым правилам, и аксиомы задают начальные условия этих игр.


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


                      1. amarao
                        06.09.2021 22:27
                        +1

                        Математика - очень сильно про философию. Потому что логика целиком вытекает из философии, и даже попытка максимальной формализации (Гёдель, Тьюринг) всё равно - философия чистой воды. Начальные положения и метод введения аксиом - это философия. Например, из каких аксиом математики вытекает требования непротиворечивости? Например, определение ZFC ссылается на Domain of discourse. Из каких математических объектов он выводится?

                        Даже в предположении "аксиомы задают начальные условия" - в какой системе правил аксиомы что-то "задают"? Что такое "задают"?

                        Даже если мы сводим математику к чистым переборам тавталогий, сами начальные аксиомы являются различным "чем-то" (на что мы можем ссылаться). Почему мы их можем различать как самостоятельные сущности с именами?

                        Чем глубже в подвал, тем толще вопросы.


                      1. 0xd34df00d
                        06.09.2021 22:44
                        +1

                        Потому что логика целиком вытекает из философии, и даже попытка максимальной формализации (Гёдель, Тьюринг) всё равно — философия чистой воды.

                        Каким образом?


                        Правда, для конструтивной беседы нам потребуется чуть более формально определить философию, что иронично.


                        Например, из каких аксиом математики вытекает требования непротиворечивости?

                        Из существования в соответствующей логике элиминатора для ⊥, который позволяет вывести что угодно. Соответственно, если вы можете вывести ⊥ (что следует из противоречивости), то вы можете вывести любое утверждение, и такая теория не очень интересна.


                        Да, есть логики без этого правила, но они не то чтобы особо распространены.


                        Даже в предположении "аксиомы задают начальные условия" — в какой системе правил аксиомы что-то "задают"?

                        В системе правил соответствующей логики. Собственно, логика — это аксиомы плюс правила вывода.


                        Что такое "задают"?

                        Можно строить деревья вывода с использованием этих аксиом.


                        Почему мы их можем различать как самостоятельные сущности с именами?

                        У меня, наверное, с мозгом что-то не то, но я просто не понимаю этого вопроса.


                        Чем глубже в подвал, тем толще вопросы.

                        Подобные вопросы можно задать на любом уровне. Вот я пишу комментарий на клавиатуре, которая лежит на столе, и смотрю в монитор, который на столе стоит. Почему клавиатура лежит, а монитор — стоит? Как мы можем определить, что монитор — это то, что стоит, а не клавиатура, которая лежит? Почему я пишу комментарий, а не печатаю, если писать я с детства привык ручкой на бумажке? Как мы понимаем, что когда я пишу на клавиатуре, я на самом деле пишу не ручкой на бумажке?


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


                        Люди просто договариваются называть определённые игры со значками по определённым правилам математикой. Некоторые игры интересны большинству (и их преподают ажно в школе на уроках арифметики), некоторые — нет. Нет тут глубокого смысла и философии, мы просто играем в значки. Мой интерес к одним значкам вместо других никак не влияет на сами эти значки.


                      1. amarao
                        07.09.2021 12:56

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


                      1. 0xd34df00d
                        07.09.2021 18:49
                        +1

                        А, ну IRL — это к физикам, мозги — ко всяким нейробиологам-нейропсихологам, и так далее.


                      1. qw1
                        06.09.2021 23:09

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


                      1. amarao
                        07.09.2021 15:18

                        И к философии. Потому что правильно поставленный вопрос даёт очень много пищи для размышлений. С учётом, что логика выползла из риторики и философии, мне кажется, надо не отметать вопросы "потому что так говорит теория имени C A B D E F", а попытаться подумать "почему?" в самом философском смысле.

                        Например, вся математика рано или поздно сваливается к концепции "истина" и "ложь", и тут открывается такая бездна, на фоне которых стоны про аксиому выбора становятся переходящим шумом.


                      1. qw1
                        07.09.2021 15:52

                        Проблема с философией в том, что для ведения публичных дискуссий требуется особый навык. Если в ВУЗе как-то прививают основы научного дискурса, и можно осмысленно что-то доказывать, опровергать, предлагать новое, то философии не учат (2 семестра «на отвали» не в счёт).

                        Поэтому, когда технические специалисты сталкиваются с вопросами типа

                        как определить множества не имея предварительного понятия про «один» и «другой»
                        они просто не знают, что делать, как на это отвечать. Не сочтут ли шизиком, если вывалить свои свободные ассоциации по этой теме, без каких-либо доказательств, естественно…


                      1. 0xd34df00d
                        07.09.2021 18:50
                        +1

                        Например, вся математика рано или поздно сваливается к концепции "истина" и "ложь", и тут открывается такая бездна, на фоне которых стоны про аксиому выбора становятся переходящим шумом.

                        Как относительно интересующийся конкретно матлогом — какая бездна? :]


                        ИМХО там нормально всё.


                      1. alche
                        06.09.2021 16:57

                        Канторовское определение множества уже, чем в системе ZFC. Дедекинд в своей книге "Что такое числа и для чего они служат" писал так: “Множество S полностью определено только тогда, когда относительно всякой вещи известно, является ли она элементом множества S или нет”.

                        Но если вас это устраивает для ваших целей, то можно пользоваться таким определением. Просто это не будет соответствовать современным общепринятым представлениям математиков.


                      1. qw1
                        06.09.2021 15:32

                        Допустим, что мы можем различать объекты, но не можем обнаруживать сходство. Банальная функция, у которой инвариант — false.
                        Под определение Кантора вполне подходит
                        В этом случае мы не сможем проверить, что 'x' принадлежит множеству A, потому что этот 'x', записанный отдельно от множества, не сможем сравнить с 'x' который использовался при задании множества.


                      1. amarao
                        06.09.2021 16:44

                        Хороший поинт. Т.е. получается множество, для которого мы не можем ответить, содержит ли оно в себе указанный элемент или нет. Но, при этом, мы можем построить такое множество, и даже посчитать число элементов внутри.


                      1. 0xd34df00d
                        06.09.2021 19:49
                        +1

                        Таким образом, мы должны уметь сказать, равны или нет элементы, из которых мы строим множество.

                        Что значит «уметь сказать»? А то вы сейчас договоритесь до того, что множества вещественных чисел не существует — лично я не умею говорить, одинаковы ли два произвольных числа или нет (потому что функция сравнения даже на вычислимых вещественных невычислима).


                      1. alche
                        06.09.2021 20:24

                        Согласен, это слишком сильное утверждение. Погорячился.


                      1. 0xd34df00d
                        06.09.2021 19:42
                        +1

                        Ок, оставили. Можете продолжить вашу мысль, а то я пока её не уловил?


                1. qw1
                  05.09.2021 23:04

                  Дело не в математике. Требование X = X совершенно не очевидно
                  X=X для любого X вводится аксиоматически, и то что в каком-то ЯП NaN != NaN, это проблемы этого ЯП.
                  В машинной вещественной арифметике вообще куча аксиом не выполняется, таких например как
                  (a+b)+c = a+(b+c)
                  a+b = b+a
                  Так что она совершенно поломана в математическом смысле, и NaN!=NaN вообще мелочь.


                  1. amarao
                    06.09.2021 00:03
                    +1

                    Теория множеств должна работать с любыми объектами, а не с числами. Вон, сама теория числа через множества строит. Так что нет. Если есть объект с странными свойствами, то с ним надо тоже уметь работать без выкрутас. Иначе брадобрею придётся опять чесать лысину.


                    1. yurixi Автор
                      06.09.2021 01:38
                      +2

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


                    1. qw1
                      06.09.2021 08:18

                      Теория множеств должна работать с любыми объектами, а не с числами. Вон, сама теория числа через множества строит. Так что нет. Если есть объект с странными свойствами, то с ним надо тоже уметь работать без выкрутас
                      Не понимаю, в чём проблема с NaN. Если вы хотите, чтобы '=' был отношением эквивалентности, чтобы пользоваться всякими доказанными ништяками для него, нужно принять NaN=NaN. Но никто не заставляет, можете конструировать какие угодно системы, но тогда не получится пользоваться чем-то готовым доказанным.


                      1. amarao
                        06.09.2021 12:31

                        Пусть A, множество всех объектов, для которых невозможно построить отношение эквивалентности.

                        Пусть Б - множество всех объектов, для которых невозможно построить отношение экивалентности.

                        Какое отношение экивалентности между множеством А и Б?


                      1. qw1
                        06.09.2021 13:18

                        Задача корректно поставлена?
                        Для любого множества я легко построю тривиальное отношение эквивалентности, в котором для любых x,y у меня будет x=y.

                        Таким образом, Б — пустое множество.
                        Я могу построить отношение эквивалентности между множествами такое, при котором любая пара эквивалентна.

                        Какое отношение экивалентности между множеством А и Б?
                        На этом мой парсер сломался. Какое захочу, такое и буду рассматривать. Например, если рассматривать в качестве отношения экивалентности отношение равенства из стандартной теории множеств, А и Б (пустые) входят в это отношение, т.е. равны.


            1. 0xd34df00d
              05.09.2021 21:26
              +2

              Аксиома, это что-то, что интуитивно понятно.

              Нет. Аксиома — это, если упрощать и не лезть в матлог и прочую теорию моделей, что-то, что принимается верным без доказательства. Интуитивность там ни при чём.


              Опираясь на бытовую интуицию, я знаю, что:
              а) Некоторые объекты не равны сами себе (NaN), т.е. {NaN} и {NaN} по определению NaN не являются одинаковыми множествами.
              б) Некоторые объекты похожи, но всё-таки различны (разница между is и ==).

              Это просто означает, что == между флоатами в IEEE754 — не то же самое, что обычное равенство, только и всего.


              Т.е. драконы именно тут начинаются.

              Не, тут просто в очередной раз абьюзят математические символы. Не в первой — плюсом, например, тоже обычно обозначают групповую операцию в абелевой группе, а множество целых знаковых чисел в C таковой группой не является, и вообще даже группой не является — (-1 + 1) + INT_MAX не то же самое, что -1 + (1 + INT_MAX) — первое равно INT_MAX, второе не определено, так что плюс в сишечке неприятный не только на флоатах, но и на обычных интах.


              Если тут драконы и есть, то в этом абьюзе.


              Почему это аксиома?

              Потому что 100 лет назад Цермело и Френкель ввели это как аксиому в свою теорию. Вы можете построить какую-нибудь свою теорию, где это не будет аксиомой, а будет, скажем, теоремой (и, я уверен, такие аксиоматизации теории множеств уже есть).


              Каким образом это очевидно?

              А оно не обязано быть очевидным :]


              Что такое "одинаковость элементов"? Что такое "элемент"? Как у нас получилось "два множества", если до цифры "2" ещё лес с заголулиной из пустых множеств?

              Ура, я не с мобильника, так что могу просто сослаться: https://en.wikipedia.org/wiki/Axiom_of_extensionality


              1. amarao
                05.09.2021 22:04

                Кстати, а вот скажите, является ли одним и тем же множеством {1.0} и {0.(9)}?


                1. 0xd34df00d
                  05.09.2021 22:36
                  +1

                  0.(9) равно единице, поэтому да, является.


                  Вас же не смущает, что { 2 } и { 1 + 1 } – одно и то же множество?


                  1. amarao
                    06.09.2021 00:01

                    Но в рамках этого "равно" NaN != NaN. И тут меня теория множеств смущает. "Равенство" двух элементов множества, это что такое? Их собственное свойство? Внешнее свойство, определяемое множеством?


                    1. 0xd34df00d
                      06.09.2021 00:08
                      +2

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


                      Плюс, я слишком испорчен всякой теорией типов, где равенству уделяется сильно больше внимания, и его бывает много разного.


                      "Равенство" двух элементов множества, это что такое?

                      Выкиньте тут «множество», это неважно. Два объекта одинаково равны или неравны независимо от того, элементами каких множеств вы их в данный момент считаете.


                      Но в рамках этого "равно" NaN != NaN.

                      Нет, не этого.


                      1. amarao
                        06.09.2021 12:27

                        Я знаю как минимум два значка, для которых знак равенства обладает особыми свойствами. NaN и Inf. Теоретически, можно ещё обсудить положительный и отрицательный нули (которые, хотя и равны, не идентичны друг другу).


                      1. qw1
                        06.09.2021 13:09

                        Так-то можно перегрузить operator== и получить совершенно странное поведение. То есть, в рамках модели (программы) множества {0} и {1} могут быть как равными, так и различными.

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


                      1. amarao
                        06.09.2021 13:25

                        Упорядоченность и эквивалентность - это совершенно разные свойства. С упорядоченностью проще, потому что мы можем придумывать разные порядки. С эквивалентностью же всё интереснее - если у нас какая-то бесконечность (трансфинитивные числа), то она сама себе равна?


                      1. qw1
                        06.09.2021 13:28

                        Если я хочу вводить именно отношение эквивалентности, мне придётся сказать, что ∞ эквивалентно ∞, иначе по определению не выйдет отношения эквивалентности.


                      1. amarao
                        06.09.2021 13:37

                        Мы не вводим отношение эквивалентности. И хотим понять, является ли {∞} тем же самым множеством, что и {∞}?


                      1. qw1
                        06.09.2021 13:59

                        Как уже отмечал 0xd34df00d, для этого не нужно закапываться во множества, а надо ответить на вопрос, является ли ∞ тем же самым объектом, что и ∞.

                        Если ∞ — обозначение некоторого объекта, нет никаких предпосылок считать, что эти объекты разные.

                        В том же IEEE 754, NaN или Inf соответствует некоторому значению 64-битного регистра. В этом смысле, все NaN-ы — один и тот же объект. А оператор = не является отношением эквивалентности.


                      1. amarao
                        06.09.2021 14:24

                        NaN - это множество значений. Бинарное представление NaN не фиксировано.


                      1. qw1
                        06.09.2021 15:28

                        Если мы возьмём какой-то один конкретный из этих NaN-ов, он же всё равно не будет равен такому же значению.


                      1. amarao
                        06.09.2021 16:41

                        Ну, вот по заданным аксиоматически свойствам, для NaN не может быть определена эквивалентность. Может быть только проверка на принадлежность классу NaN'ов `isnan()`


                      1. qw1
                        06.09.2021 16:48

                        Тогда isnan() задаёт класс эквивалентности :D


                      1. amarao
                        06.09.2021 21:04

                        Не более, чем его задаёт, например, iseven() для целого.


                      1. 0xd34df00d
                        06.09.2021 21:57
                        +1

                        Да. Самое точное (в математическом смысле) отношение эквивалентности (которое, к слову, и является равенством) даёт


                        bool iseq(float f1, float f2)
                        {
                            return !memcmp(&f1, &f2, sizeof float);
                        }


                      1. amarao
                        06.09.2021 22:33

                        Эта операция ложно вернёт iseq для двух NaN, которые не должны быть равны друг другу.


                      1. 0xd34df00d
                        06.09.2021 22:45
                        +3

                        Меня это не смущает, потому что я уже энный комментарий говорю, что сишное == на флоатах не является равенством в математическом смысле (и даже отношением эквивалентности не является).


                      1. Tsimur_S
                        06.09.2021 21:35

                        Как-то ловко вы вплели сюда бинарное представление. Не будет ли оно в таком случае являться отношением эквивалентности? Ну не конкретно оно а нормализация + последующее сравнение этого представления.


  1. Refridgerator
    04.09.2021 17:58
    +1

    Довольно любопытный текст, я бы так не смог. Но хотелось бы помрачнее — и чтобы чудовищ в подвале побольше, и пути назад тоже не было.


    1. yurixi Автор
      05.09.2021 00:09

      Ну, с учётом того что это не игра, со мраком лучше ограничиться.


  1. shurutov
    06.09.2021 08:25
    +2

    Говоря конкретнее, односторонняя связь обладает свойством трансляции — когда при связи

    и связи

    обязательно есть связь

    Это свойство называет закон транзитивности, а не какая-то неведомая трансляция. :(


    1. yurixi Автор
      06.09.2021 09:53

      Спасибо за дополнение. Свойство, конечно, называется транзитивность. Но «трансляция» — это не неведомая операция, это словарное, пусть и не математическое слово, подходящее для образного описания. А слово транзитивность для образного описания не подходит, его просто не все знают.