Comments 405
И принято было, что либо сообщество проверяет доказательство и говорит «у вас тут ошибка в 30 строке», либо подтверждает его истинность. А тут не могут сделать ни того ни другого.
Другое дело непонятно как отличить такие «непонятные» доказательства от бреда, который понять в принципе невозможно. Мне кажется без введения формального языка, который могла бы проверить машина, тут не обойтись.
Мне кажется без введения формального языка, который могла бы проверить машинаВы так математиков без хлеба оставите.

Математикам вполне останется творческая работа по придумыванию доказательств (в этом люди думаю долго, если не всегда, будут впереди машин), а также по объяснению идей проверенных доказательств друг другу.
Точно также если мы повсеместно начнём верифицировать программы — ведь программисты без хлеба не останутся. Потому что писать программы тоже может только человек.
Генерация кода — это генерация кода. Это не программирование. Это перевод с одного языка (диаграмм) на другой — Java/C++. Работа программиста состоит не в этом.
Когда появился компилятор C, который мог генерировать код в машинных кодах из высокоуровневого кода на C — программисты же не потеряли работу. Часть начала писать на C, часть — продолжила писать на ассемблере те критические участки, которые компилятор генерирует неоптимально, часть — стала разрабатывать компилятор.
Точно также может быть когда-то большая часть ПО будет разрабатываться на языках более высокого уровня, чем C++, но программисты всё равно будут нужны.
Вот на что это больше похоже.
Для сравнения — когда проверяли труды Уйалса ( те, которые доказали теорему Ферма ), специально наняли 7 математиков, которые около 2х лет только этим и занимались — тщательно изучали его доказательство, строчка за строчкой. И Уайлс активно помогал, они ему постоянно звонили зайдя в тупик, и он разъяснял непонятные моменты, а перед этим, конечно, обрисовал общую картину.
А вот японец для своей, еще более сложной работы, этого делать не хочет — надеюсь, пока.
Знания и опыт — величайшие сокровища человечества. Но если уникальное знание будет только у человека-двух — скорее всего, оно будет утеряно.
Даже если взять этот пример, то для того, чтобы доказать abc-гипотезу были изобретены совершенно новые математические инструменты, которые сами по себе уже являются открытием и которые могут быть полезны в других областях математики. Поэтому было бы необдуманно называть объяснение решения гипотезы бесполезным решением. Хотя, автор сам решает, как поступать.
Нет ничего хорошего и похвального в том, что бы отмалчиваться и стоять в стороне от сообщества.
Это действительно огромный труд для сообщества — верифицировать суммарно порядка 1000 страниц содержательного текста, находящегося в сложной взаимосвязанности.
Нельзя сказать, что вызов необорим — скажем, классификация конечных простых групп — куда более объемный результат. Однако, подозреваю, классификацию было легче разбить на составные кирпичики и проверять по отдельности; она создавалась множеством ученых в течении нескольких десятилетий.
По-моему, Мотидзуки мыслит совершенно иными образами, недоступными для нашего понимания.
по моему тут гораздо ближе к истине. я помню как разбирал 10 страниц чужого кода на асме без комментариев. я ясно представляю задачу разобрать таких 1000 страниц…
Печаль только от того, что это не я и не сейчас :)
блин, ребят ну что за бред, 99% не выпендриваясь согласитесь — мы никогда не узнаем чем закончится эта история. зачем мозг рвать?
плюсани засранец если ты в оставшемся проценте!
Считайте, что сумрачный японский гений изобрел ракету и выложил её чертежи в открытый доступ — но никто не может разобраться в схеме и построить её (либо на её основе сделать что-то попроще). И сам изобретатель не желает в этом помочь.
А пока не разобрались в особенностях схемы — нельзя сказать: а взлетит ли она?
Дом построен, но не сдан госкомиссии. Дом есть, но его одновременно нет. Парадокс!
Спроектировали машину, но еще не успели наладить производтство. Машина есть, но ее нет. Парадокс!
Код написан, но не запущен, не протестирован и не проверен. Программа есть, но ее нет. Парадокс!
Телевизор стоит в комнате, но выключен. Изображение есть, но его нет. Парадокс!
У меня за спиной стоит холодильник. Я его не вижу. Он есть, но его нет. Парадокс!
Доказательство написано, но еще не проверено. Его есть, но его нет. Парадокс!
Вы упрекнули мне в том, что я якобы не прочитал словарную статью, на которую дал ссылку. У меня сложилось такое же мнение относительно вас.
Итак, читаем статью: «Заимствование из французского, где paradoxe восходит к греческому paradoxos, состоящему из двух основ para – „против“, doxos – „слава“. Буквальное значение „против того, что принято, устоялось“. Запомнили.
Доказательство написано, но еще не проверено. Его есть, но его нет. Парадокс!
Да именно так. Наличие доказательства, которое написано, но которое никто не может проверить — это „против того, что принято, устоялось“, так как обычно не составляет труда проверить написанное доказательство.
Вот ещё в тему статья с вики: Парадокс (значения).
Действительно, это очень-очень удивительно, что пока научная работа не проверена научным сообществом и им не «одобрена», то пользоваться этой работой можно на свой страх и риск. Удивительные очевидные парадоксы!
Еще раз повторю: есть два «состояния» доказательства:
1. Оно написано, но не проверено
2. Оно написано и уже проверено
Нет никакого парадокса в существовании этих двух состояний. Что такое проверка доказательства? Это принятие его как «достоверного» внутри научного (а позже — и за его пределами) сообщества. Это такой же необходимый шаг, как нажатие кнопки «Написать» под формой комментария. Если я не нажму кнопку «Написать», то этот комментарий продолжит свое существование, но не сохранится в базу данных хабра, и пропадет вместе с закрытием моего браузера. Но не надо делать из этого парадокс!
Знаете что меня удивляет больше всего? То что члены сообщества добровольно записывают себя в число недалёких людей, которыми вобще-то не являются. Парадокс существует только для тех, кто не может постичь причины возникновения этого парадокса. Вам же не кажется парадоксальным отражение в зеркале? Вы там есть, но вас там нет. Потому что вы понимаете природу того, что видите. Точно так же и с этим доказательством: оно существует, оно написано на 512 страницах. Но оно пока не может считаться признанным, и если кто-то решит использовать его выводы, то должен будет просто поверить, что оно правильное и укладывается в те аксиомы, на которые оно опиралось. Но это же, ёмаё, элементарные вещи, доступные даже первокласснику! Какой еще парадокс вы здесь узрели?
Теорема с перевернутыми основанием и показателями имеет место, и действительно легко доказывается.
К сожалению, я не нашел скана оригинальной рукописи Ферма. Но все же, склонен верить в ее самозарождение :)
для нечётных n=2k+1
в левой части — тоже чётное число: (2k+1)^a-(2k+1)^b раскрывая скобки по биному Ньютона, понятно что от каждой скобки нечётной останется только 1^a-1^b
Таким образом, слева всегда чётное, справа — единица.
x, y, z
могут быть отрицательными (по условию задачи они должны быть только целыми и ненулевыми), то в левой части уравнения будет получаться дробное число.Так почему же так не делают?
Принципиально невозможно? Думаю нет, уже доказанные вещи можно вполне заложить в верифицирующую систему как аксиомы. А ещё лучше перевести их доказательства на формальный язык.
Долго? Так ведь математик, как и программист, больше времени тратит на размышление, и рассмотрение ложных вариантов чем на написание финального доказательства. Поэтому имея уже готовое доказательство, формализовать его не составило бы труда.
Может быть по настоящему крутые математики слишком узко специализированы и неспособны пользоваться компьютером? Сомневаюсь.
Доказательства читал, и даже пытался понимать, и сам что-то доказывал. В итоге остался очень неудовлетворён каким-то «интуитивным» пониманием доказательств. Когда читаешь доказательство и теряешь способность проверить, верен ли переход, так как доказательство корректности перехода автору видится очевидным. А когда сам доказываешь — делаешь какой-то переход, а потом, внезапно, оказывается что он некорректен. Мне кажется с формальным языком такого бы не было.
С формальным языком Coq проходил туториал около месяца, доказывал простейшие теоремки (типа четности суммы двух нечетных чисел), но потом началась сессия и эту деятельность пришлось свернуть. Но всё-таки в чем проблема? Ведь как и в программировании можно какие-то частые переходы свернуть в заранее написанные процедуры и их применять. Декомпозиция же, повторное использование, разделяй и властвуй, разве в математике такое невозможно?
Утверждается что если формальная арифметика непротиворечива, то в ней существует невыводимая и неопровержимая формула.
Во-первых даже если она существует, то существует ли она среди практически полезных формул? Это ведь то же самое что говорить о бесполезности верификации программ, ссылаясь на неразрешимость проблемы останова, в то время как все практически полезные программы останавливаются.
Во-вторых если это действительно проблема, то как она решается в текущем подходе математики? Пишутся доказательства на неформальном языке? Но тогда каков критерий верности доказательства? Я могу посмотреть на него — и сказать «доказательство верно», другой посмотрит — и скажет «доказательство неверно», какой-то вопрос веры а не науки получается уже.
Как бороться? Никак. Теорема-то доказана.
Если непонятно. Найденное недоказуемое утверждение не будет выглядеть верным для одного человека и неверным для другого. Оно просто недоказуемо. Для всех.
Пенроуз Р. Путь к реальности, или законы, управляющие Вселенной. Полный путеводитель (2007)
Насколько понятно из слов Пенроуза (далее по тексту книги), основная формулировка теоремы Гёделя сводится к следующему: существуют так называемые «истинные П1-высказывания», которые нельзя получить из правил некоторой формальной системы F (при этом система F предполагается заслуживающей доверия). Примерами таких высказываний может служить «последняя теорема Ферма» или бинарная проблема Гольдбаха (тернарная гипотеза Гольдбаха была доказана в этом году, в мае опубликовано доказательство), согласно которой любое чётное число большее 2, можно представить в виде суммы двух простых чисел.
Во-первых, ВТФ уже много лет как доказана. Во-вторых, то, что проблема Гольдбаха не решена, не делает её нерешаемой.
существуют так называемые «истинные П1-высказывания», которые нельзя получить из правил некоторой формальной системы F (при этом система F предполагается заслуживающей доверия). Примерами таких высказываний может служить «последняя теорема Ферма» или бинарная проблема Гольдбаха.
суть 100% сохранена во всех смыслах
Верится с большим трудом. Точнее, не верится вообще. Предположу, что Пенроуз писал, что ВТФ и проблема Гольдбаха могут оказаться недоказуемы.
Во-первых, книга написана в 2007 г., а, следовательно, Пенроуз знал о том, что ВТФ доказана (собственно, он это и подтвердил).
Во-вторых, вот эта вырезка

Пенроуз Р. Путь к реальности, или законы, управляющие Вселенной. Полный путеводитель (2007)
Как из этого утверждения получить «новый способ доступа к некоторым математическим истинам», непонятно вообще. Либо ввести новые аксиомы (что математики делают регулярно), либо предложить «новую логику», но тогда у нас будет совсем другая математика :) Что, конечно, очень интересно само по себе.
Насколько понятно из слов Пенроуза (далее по тексту книги), основная формулировка теоремы Гёделя сводится к следующему: существуют так называемые «истинные П1-высказывания», которые нельзя получить из правил некоторой формальной системы F (при этом система F предполагается заслуживающей доверия). Примерами таких высказываний может служить «последняя теорема Ферма» или бинарная проблема Гольдбаха (тернарная гипотеза Гольдбаха была доказана в этом году, в мае опубликовано доказательство), согласно которой любое чётное число большее 2, можно представить в виде суммы двух простых чисел.Вы высказали предположения, что я утерял суть высказывание Пенроуза, которое я позднее привел в виде отрывка. Теперь вы явно утверждаете, что я утерял суть, пересказывая содержание данного отрывка. А теперь процитируйте, пожалуйста, фразу, в которой эта суть утеряна и не соответствует содержанию приведённого отрывка. Давайте разберёмся, кто здесь верблюд.
существуют так называемые «истинные П1-высказывания», которые нельзя получить из правил некоторой формальной системы F (при этом система F предполагается заслуживающей доверия). Примерами таких высказываний может служить «последняя теорема Ферма» или бинарная проблема Гольдбаха
Из неё следует, что ВТФ является примером истинного П1-высказывания, которое нельзя получить из правил системы F.
Цитата Пенроуза:
Другим ещё более известным примером может служить «последняя теорема Ферма», доказанная в конце ХХ века Эндрю Уайлзом. Ещё одной (пока не решённой) проблемой является известная «гипотеза Гольдбаха», согласно которой любое чётное число, большее 2, можно представить в виде суммы двух простых чисел. Утверждения такого рода специалисты по математической логике называют П1-высказываниями.
Из неё следует только то, что ВТФ является примером П1-высказывания, но Пенроуз не утверждает, что её нельзя вывести из F.
какие бы правила доказательства мы ни сформулировали заранее, предположив их заслуживающими доверия (т.е. не способными привести нас к ложному заключению) и не слишком ограничительными, мы в результате получим новый способ доступа к некоторым математическим истинам, которые невозможно вывести в рамках данных правил
Потому что «математические истины» в рамках какой-нибудь теории — это как раз то, что можно получить с помощью заданных правил доказательств (математической логики) из набора аксиом этой теории. Можно вводить новые аксиомы (и получится другая теория), но добавлять новые правила вывода (если они не следуют из известных) математика не позволяет.
Но в данном случае он говорит именно о том, что разные системы аксиом позволяют получать разные утверждения об одних и тех же объектах. Он потом там о геометриях различных рассуждает.
Проблема именно в том, что язык становится для самого себя метаязыком, и на нем можно сформулировать автореферентную (ссылающуюся на саму себя) строчку вида G = «G — не теорема». Именно такая строчка и будет гёделевой для указанного языка. Парадоксальность утверждения «Это утверждение ложно» заметили еще древние греки, но его наличие не машает нам пользоваться естественным языком. Также и теорема Гёделя не сильно мешает использованию формальных систем.
Пусть имеется формальная система Т, в которой можно выразить все утверждения формальной арифметики.
Если занумеровать каждую аксиому и каждое правило вывода, то сам процесс вывода какой либо теоремы (т.е. последовательного применения правил вывода к аксиомам и уже выведенным теоремам) можно рассматривать как манипуляцию с числами, т.е. сам вывод можно описать в терминах формальной арифметики.
Вот здесь и начинается проблема, т.к. можно построить автореферентное высказывание вида G = «G не выводима в формальной системе Т».
Если это высказывание выводимо, то его вывод является выводом не только G, но и высказывания not G = «G выводима в формальной системе Т», что делает формальную систему Т противоречивой. Если же вывод утверждения G не существует, то G — невыводимое в системе Т истинное утверждение (истинно оно потому, что оно утверждает свою невыводимость, и это действительно так), поэтому система Т — не полная.
На самом деле, теорему Гёделя можно доказывать не только построением «парадокса лжеца» в формальной системе, как это было сделано самим Гёделем, но и любым другим парадоксом, основанным на автореференции, например, парадоксом Берри.
Более того, существуют доказательства, не использующие автореференцию вообще, и основанные, к примеру, на теории вычислимости, но на пальцах я их пояснить уже не смогу.
Вы по-прежнему в объяснениях используете понятия, требующие пояснений, при закапывании в которые велик шанс прийти к началу объяснений или уйти в бесконечность. И пропускаете шаги, по принципу "Отсюда, очевидно, следует"… И ещё и ошибки при этом совершаете… (в частности, с чего вдруг утверждение про выводимость утверждения G отнесено к утверждениям в формальной арифметики?)
Мне больше вариант Клайна подходит. Он же в той книге, кстати, тоже пытался описать способ появления и доказательства теоремы Геделя через сведение утверждений к числам, но тоже пропустил как минимум пару важных для понимания шагов…
Прошу вас, прочтите Хофштадтера, там он вводит формальную систему (названную им Топографческой Теорией Чисел), в которой все манипуляции в ходе доказательства теоремы Гёделя можно отследить, просто считая палочки на бумаге.
Очень трудно описать гёделизацию простыми словами, но в английской вики у сообщества почти получилось.
Если доказательства на словах вас не устраивают, можете отследить работу системы доказательства теорем Nqthm, которую использовал Шанкар для доказательства теоремы Гёделя еще в 1986 году.
существует ли она среди практически полезных формул?
Возможно, что среди тех утверждений (формул), которые недоказуемы по Геделю, сейчас нет «полезных», т.е. применимых в физике и пр. Но также возможно, что польза в будущем будет найдена, как нашлась польза от неевклидивой геометрии.
Вот, например, пишут про «Континуум-гипотезу»:
В 1963 г. П. Дж. Коэн из Станфордского университета, опираясь на работу Курта Гёделя и математиков из Института высших исследований, показал, что, хотя эта гипотеза не противоречит аксиомам общепринятой теории множеств, она вместе с тем и не следует из них.
Фактически роль континуум-гипотезы в теории множеств такая же, как роль евклидовского постулата параллельности в геометрии. При допущении истинности или ложности гипотезы континуума можно построить различные версии теории множеств точно так же, как при допущении истинности или ложности аксиомы параллельности можно строить евклидову или неевклидовы геометрии.
Морис Клайн «Математика. Утрата определенности.» Глава XIV, Куда идет математика?
… как показал Гёдель, в рамках наложенных Гильбертом ограничений любая достаточно мощная формальная система содержит неразрешимые утверждения, т.е. утверждения, которые, базируясь на аксиомах нельзя ни доказать, ни опровергнуть;
но это значит, что подобные утверждения (или их отрицания) можно принять в качестве дополнительных аксиом.
Однако и после присоединения новой аксиомы расширенная система, согласно теореме Гёделя, все еще должна содержать неразрешимые утверждения. Приняв их за новые дополнительные аксиомы, мы могли бы вторично расширить формальную систему и т.д.
Процесс последовательного расширения исходной формальной системы можно было бы продолжать бесконечно.
Логицисты, формалисты и представители теоретико-множественного направления полагаются на аксиоматические основания. В первые десятилетия XX в. именно аксиоматика превозносилась как наиболее подходящий фундамент для построения математики.
Но теорема Гёделя утверждает, что ни одна система аксиом не охватывает всех истин, содержащихся в любой математической структуре, а теорема Левенгейма — Сколема показывает, что каждая система аксиом включает больше, чем предполагалось.
Кстати, японцы активно пытаются внедрять этот подход с формализацией доказательств. Я пару раз видел статьи, которые были просто программами для proof-помощника.
Усилий на то, что Вы предложили, уйдет столько, что это просто не рентабельно.
Воеводский с вами не согласен
Претендент на доказательство вводит «общепризнанные в данной области» аксиомы, а также утверждение теоремы в верифицирующую систему.
Далее система верифицирует тело доказательства.
Сообществу остается лишь проверить что «общепризнанные аксиомы» действительно общепризнаны, а также что утверждение теоремы им интересно. Тело же доказательства (которое внутри может содержать какие-то вспомогательные теоремы с их доказательствами) читать чтобы оценить его правильность — не надо.
Я предлагаю ему лишь проверять доказательство — это мне кажется возможным и вычислительно не сложным. При условии что доказательство состоит из серии шагов, где каждое последующее утверждение практически очевидным образом следует из предыдущих. Для этого компьютеру даже не обязательно рассматривать всё доказательство целиком, достаточно рассматривать каждый логический переход по отдельности, всё очень локализовано.
Если математик при рассмотрении доказательства на бумаге не «работает» с рациональными числами, в том плане что не перемножает их численно и не складывает — то и компьютеру при проверке доказательства — не придется. Проверка же заключается в подстановке в теорему каких-то конкретных значений и проверке истинности доказательства для них, а в проверке правомерности общих логических переходов.
Как пример возьмите доказательство простейшей теоремы Пифагора, и задумайтесь о создание системы верификации ее доказательства, боюсь что количество сущностей с которым вам придется оперировать зашкалит за сотню.
Проверка же заключается не в подстановке в теорему каких-то конкретных значенийкажется, вы «не» пропустили
В каком смысле? В чем проблема?
Prelude> import Data.Ratio
Prelude Data.Ratio> 1 % 3
1 % 3
Prelude Data.Ratio> 1 % 3 + 2 % 7
13 % 21
Prelude Data.Ratio>
Кстати, очень многие вещи не хранятся «просто в переменных», например те же строки, или переменные типа «датавремя». Для работы над ними надстроены в языках программирования соответствующие перегрузки операторов, встроенные функции, методы классов и т.д. Просто мы к этому привыкли и не замечаем.
Тоже самое и простыми дробями. Если нужно хранить дроби как дроби — с ними можно работать и строго математически, но для этого потребуется использовать не стандартные типы данных, а пользовательские структуры и для операций над этими структурами использовать специфические функции/методы.
А вообще, если посмотреть, чем мы на компьютерах занимаемся, то не для чего из этого машинной команды нет. Не тем мы, значит, на компьютерах занимаемся, не для того они.
Особенно в свете того, что запись дробей очень зависит от выбранной системы счисления, и они бывают бесконечными, и могут содержать любые виды чисел, позволяющих операцию деления.
Логика в этом отношении куда проще — она работает лишь с утверждениями. Булева алгебра на компьютерах реализована в полной мере.
Насколько я понял, вся классическая математика построена на теории множеств, а Coq — на теории типов. А это не одно и то же.Это действительно не одно и то же, поскольку теории типов изоморфны исчислениям (изоморфизм Карри-Говарда), а не теории множеств. Впрочем, что происходит в исчислении (индуктивных) конструкций под капотом в Coq, я слабо представляю, так что разъяснение знатока не повредило бы.
Я и сам задавался вопросом, почему нельзя задать машинопонятный язык (вместо имеющегося «полуформального»). Похоже, что это не делается из-за возрастающей сложности, неудобства инструментов и имеющихся научных традиций. Механизмы (соответствующая логическая теория или в некоторых случаях даже прикладные программы) существуют, но, видимо, не столь удобны. К тому же для этого пришлось бы вносить огромное количество имеющейся информации в базы… Учитывая сложность подобной работы, вряд ли кто-то за нее возьмется, во всяком случае в ближайшее время.
На базовом уровне это рассматривается в любых учебниках по матлогике, вот например:
Ершов, Палютин — «математическая логика», изд. второе.
Эдельман — «матматическая логика»
Но мои знания в них очень поверхностны и я понятия не имею, какой математический аппарат стоит за ними, потому не могу ничего порекомендовать из литературы.
Не может иметь это смысла.
В оценке произведений искусства неотделимо присутствует субъективная оценка, здесь же ее не может быть — доказательство может быть или верно, или нет. Доказательство может быть верным, для объектов искусства же подобный термин не определен. К тому же подобная проверка не исключает проверки человеком, для обучения просто необходимо разбираться в доказательствах и методах доказательств.
Или Вы имели в виду проверку метода на корректность, т.е. проблему применимости? Здесь эта проблема выглядит несколько иначе, чем у машин Тьюринга. При введении метода необходимо изначально пояснить, на каких данных он работает, и обосновать, почему он работает, иначе данный метод применять мы не имеем права.
При оценке нового математического доказательства, нужно понимать применимость тех или иных математических методов или приемов
Именно. Любая подобная программа будет работать с уже выбранными автором методами и пытаться искать «ошибки» в уже сформированном доказательстве. В общем случае, алгоритмически правильно обосновать правильность выбора каждого метода равносильно задаче автоматически доказывать произвольные математические утверждения, что равносильно созданию, даже не «искусственного», интеллекта.
Машина Тьюринга, строго говоря, это и есть математическое определение алгоритма. А доказательство произвольных суждений, в общем случаем, вряд ли алгоритмически реализуемая на настоящий момент, задача.
Любая подобная программа будет работать с уже выбранными автором методами и пытаться искать «ошибки» в уже сформированном доказательстве.
Для проверки доказательства нам ничего больше и не нужно. Вот только методы не «выбраны автором», а заранее предопределены математической логикой. И набором «общепризнанных» теорем (чтобы не пришлось доказывать всё с самых основ). Всё, что может автор — это сказать «берём такую-то теорему, подставляем вместо свободных переменных некоторые формулы — получаем новую теорему. Если её условие оказалось в списке доказанных утверждений, то и вывод можно поместить в тот же список».
В книге «Гедель, Эшер, Бах» приводится пример полностью формализованного доказательства одной из теорем. Правда, там доказывалась всего лишь коммутативность сложения. Доказательство заняло около трёх страниц.
Вот только методы не «выбраны автором», а заранее предопределены математической логикой.
Методы не могут быть заранее предопределены:) Существуют множества, в том числе и еще неизвестные, доказательств одних и тех же утверждений.
набором «общепризнанных» теорем
Все сводится к созданию этого «набора», но проблема в том, что этот набор по-определению уже будет неполон в силу искусственности своего происхождения.
приводится пример полностью формализованного доказательства одной из теорем
Речи о том, что формализовать существующие доказательства нельзя — не было. Речь о том, что в общем случае, алгоритмизировать доказательство произвольных суждений пока что невозможно, а соответственно любая работа в этом направлении пока что лишена смысла в силу.
Все выбранные приемы и теоремы должны быть предварительно определены, ибо это математика.
Не могут быть в принципе — ибо это математика. Если бы все они были бы определены — все существующие утверждения были бы уже доказаны или опровергнуты.
Речь о том, что в общем случае, алгоритмизировать доказательство произвольных суждений пока что невозможно
С этим никто и не спорит. Но в нашем случае, цель — проверить уже написанное доказательство, в котором, если оно полное, все используемые теоремы доказаны, а все цепочки вывода — приведены в явном виде. И нам не нужно угадывать, какое бы следствие вывести из теоремы A — за нас это сделал автор. Надо только проверить, что он в этом выводе не ошибся.
Что есть «правильность выбора»? Мы имеет метод, для которого доказана работа на данных класса А. Если этот метод используем в теореме на данных не класса А, то он неприменим. Если на данных класса А, то он применим.
Если проверяемое доказательство уже задано в машину, мы всего лишь проверяем корректность всех логических переходов. Причем здесь произвольные суждения?
что в вашем понимании значит «обосновать правильность выбора каждого метода»
То, что любое доказательство, это совокупность различных приемов. Вот пример: school14-v.ucoz.ru/publ/1-1-0-2
Возможно, существуют и другие. От выбора метода на любом этапе зависят дальнейшие результаты. Выбор правильного метода — дает правильные результаты. Неприменимого — недостоверные.
Мы имеет метод, для которого доказана работа на данных класса А. Если этот метод используем в теореме на данных не класса А, то он неприменим. Если на данных класса А, то он применим.
Метод M — неприменим в конкретном доказательстве утверждения, но для M — доказана работа на данных класса А.
Применение М в рассуждениях даст недостоверный результат.
Если проверяемое доказательство уже задано в машину, мы всего лишь проверяем корректность всех логических переходов. Причем здесь произвольные суждения?
Одна только «корректность всех логических переходов» не гарантирует достоверность доказательства.
Необходимы так же достоверность исходных данных и логическая обоснованность самих переходов.
Корректность и есть логическая обоснованность. У нас не могут появиться новые правила логических рассуждений, кроме определенных изначально и скомбинированных из них позднее.
«Достоверность исходных данных» — что есть в вашем понимании достоверность и причем тут она мне тоже неясно. Все используемые в теореме утверждения должны быть предварительно доказаны. Все методы — обоснованы. Доказательство — формализовано.
Работа математиков при проверке корректности работы в этом плане тоже совершенно техническая, не творческая. За сим я откланяюсь, мне неинтересно разбираться в вашей терминологии.
Так вы и не объяснили, что за «правильность метода».
Так вы и не спрашивали и странно, что требуется пояснение. Имеется ввиду любой математический метод или прием, который в данной ситуации приведет построению в дальнейшем непротиворечивых суждений.
«Достоверность исходных данных» — что есть в вашем понимании достоверность и причем тут она мне тоже неясно.
Достоверность — самый обычный термин. В своем значении он и употребляется. Любые строгие утверждения могут строится исключительно на достоверных данных.
Все методы — обоснованы.
О чем и речь. Обоснование выбора метода — в этом вопросе задача не алгоритмическая в общем случае. И что делать с новыми методами без вмешательства человека совсем понятно. А если от обоснованность выбора метода является ключевым пунктом доказательства, то смысл существования такого «автоматизированного» средства совсем нивелируется.
мне неинтересно разбираться в вашей терминологии.
Терминология тут, право, не причем. Она самая обычная и разбираться в ней нет необходимости:)
Про методы Вам уже ответили выше. И причем здесь новые методы? Почему без участия человека? Мы только проверяем уже имеющееся доказательство, это работа чисто техническая. Если Вы с этим не согласны, то у Вас проблемы с пониманием математики как таковой.
Скажем, если у нас есть обоснованный агорифм нахождения наибольшего общего делителя, на наутральных числах он будет работать для них всегда, в любом месте доказательства, в любое время дня и ночи, для любого человека. Его обоснование формируется в виде теоремы, доказательство которой проверяется аналогичным же образом.
проверяем уже имеющееся доказательство, это работа чисто техническая
Странное заявление, для человека, считающего, что у него нет «проблемы с пониманием математики как таковой».
Вам дают доказательство утверждения, построенное на своей новой уникальной математической теории. Приводят в рамках этой теории доказательство. Вы отдаете его своей чудо-программе и проверяете(еще непонятно как, т.к. надо ее не только правильно понять в итоге, но и прежде правильно формализовать для программы). Программа говорит — ОК (Errors — 0, Warnings — 14 567)
Доказательство утверждения в рамках теории успешное.
Теория и утверждение берется на вооружение научным сообществом. И вот в рамках углубленного последующего изучения и развития этой новой теории в ней обнаруживаются неустранимые противоречия или несостыковки с уже доказанными и проверенными теориями, которые приводят в итоге и пересмотру всех результатов.
На мой взгляд, текст такой программы должен быть предельно прост:
{
print(42)
}
Про введение новых теорий я ничего не говорил, предполагается использование классических теорий. Если формализация доказательства невозможна, то это не доказательство.
Далее, у нас две теории. Если имеется их взаимная противоречивость, то, очевидно, в рамках более глобальной теории, иначе терминология «противоречие с другими теориями» является бессмыслицей в математике (Вы же не будете утверждать, что геометрии Лобачевского и Эвклида противоречат друг другу? Это просто разные формальные системы).
Если глобальная теория оказалась противоречивой, то она либо не имеет отношения, скажем, к формальной арифметике (в ней противоречивость доказать невозможно), либо есть утверждения, которые на самом деле не были доказаны.
Про введение новых теорий я ничего не говорил, предполагается использование классических теорий.
Вы и обратного не говорили. И каких это классических теорий предполагается и кем? Если разговор скатывается в какие-то частные случаи — не вижу смысла его поддерживать. Мне уже предлагали здесь «новую логику». С моей стороны выражение «в общем случае» было почти в каждом ответе.
Далее, у нас две теории.
Речь лишь об обнаружении ошибок, которые выясняются после развития и исследования изложенной теории и не фигурируют в доказательстве непосредственно. Не больше и не меньше.
Когда читаю о таких случаях, всегда возникает вопрос: почему доказательства не формализуют? В компьютерном смысле слова
Это оригинальный вопрос, на который я ответил, что не вижу в этом смысла.
И в частности потому, что в общем случае, там где подобные средства будут необходимы, очень вероятно, что
ошибки лежат за рамками доказательства теоремы.
Соотнося трудозатраты на разработку подобного продукта, его сложность, и практический выхлоп я до сих пор не услышал ни одного аргумента, чтобы поменять своего мнения:)
Банальная экономия времени и денег, тем более системы а-ля Coq уже существуют. В итоге станет выгоднее создать систему с достаточным функционалом, чем оплачивать труд рецензентов и терять время выдающихся математиков.
Но ведь в науке не только важен результат. Но и сам путь к нему. Даже неверное доказательство может открыть пути для более выдающихся результатов.
На хабре понятно желание программистов автоматизировать все и вся. Но со временем и до них дойдет, что некоторые вещи лучше оставить как есть. Для математиков, в частности, уже существует достаточное количество нужных им инструментов. И самые ценные для них это все-таки листок бумаги и ручка.
Вот как раз такие вещи и легко автоматически отследить, если доказательство описано формально. И, наоборот, при визуальном контроле легко пропустить утверждение, которое не следует из предыдущих и вообще из никакой математики.
Проблема для пишущих будет в том, что нельзя будет делать так.
Приходит Лившиц к Ландау и говорит:
— Лев Давыдович, я в трамвае 40 страниц выкладок потерял!
— Ничего, напишем «Откуда, очевидно, следует»
Так ведь изучением способов получать одни суждения из других занимается логика.
(any (x) Металл (x) => Металлопроводен (x)) ^ Металл (Медь) => Металлопроводен(Медь)
Есть определенные правила, по которым из исходных суждений получаются результирующие, им и надо следовать, соответственно, можно записывать суждения формально и преобразовывать одно в другое.
Например
perso.ens-lyon.fr/jeanmarie.madiot/coq100/
nevidal.org/sad.ru.html
>Более того, как оценивать применимость совершенно нового и неизвестного ранее математического приема или способа?
Путем голосования, серьезно. Такой «новый способ» есть «новая логика». Ну а почему нет, если существующих логик недостаточно, надо предложить новую формальную систему, аргументировать ее новизну и применимость, ее оценит научный мир и далее можно использовать.
ведь изучением способов получать одни суждения из других занимается логика
Получать одни суждения из других это не проблемная часть математических доказательств. Гораздо интересней оценить адекватность выбора исследуемой модели и соотношение всех значимых следствий, которые получаются после ее построения с уже существующими теориями. Вы можете придумать свою теорию. Доказать в ее рамках требуемое утверждение. Но потом выяснится, что ваша теория противоречит другим, уже доказанным и общепризнанным теориям и/или сама является противоречивой.
Ну а почему нет, если существующих логик недостаточно
Ну в качестве эксперимента можно делать все что угодно:) Я же про это ничего не могу сказать и не знаю как это соотносится с объективной реальностью:) Эли это строго детерминированный алгоритм — это круто.
В данном случае проблема в оценке, верно ли проложена цепь к доказательству abc-гипотезы, исходит ли она везде из общепринятой аксиоматики, или же где-то неявно вброшены новые положения.
Автомат бы легко все это проверил, выявил бы начала логических цепочек, и нужно было бы только убедится, что эти исходные суждения общеприняты в качестве аксиом или доказаны где-то еще.
Вот саму цепь составить — это во многом искусство, конечно.
Конечно есть и субъективная составляющая. Но она есть и в науке. Доказательство или какая-нибудь теория тоже может субъективно (не)нравиться.
Ещё есть какая-то смысловая или прагматичная составляющая. И произведение искусства, и научная теория могут быть гармоничными/правильными, но совершенно бессмысленными.
Вообще тема автоматической проверки, критериев истинности научного знания очень топтаная в философии науки:
Есть позитивисты, которые считают, что единственный критерий истинности — это опыт. Для них эта теорема — какая-то бессмыслица, оторванная от физической реальности.
Есть неопозитивисты, которые как-раз попробовали бы проверить истинность доказательства как предлагаете вы — в плоскости формального языка.
Есть постпозитивисты, которые уделяют большее внимание роли научного сообщества и т.п. Типа если никто не может опровергнуть доказательство, значит его можно пока считать истинным. Если его никто не хочет опровергать, то скорее всего это какой-то бред, который может и правильный, но никому не нужен. Как-то так :)
nevidal.org/sad.ru.html
Если не хватает этой системы автоматизации дедукции, можно язык специальный разработать, на базе haskell :) И на нем писать вообще ВСЕ научные работы в естественных науках. Плюсы огромны — общая база знаний, поиск нужной работы, автоматическое построение доказательств, исключение плагиата и так далее.
А рецензентам-то насколько проще будет — сразу смотришь на вывод, который гарантированно обладает новизной и следует из посылок.
Компьютер не умеет выдумывать множества, и невозможно написать алгоритм, который может формализовать придумывание множеств.
Никто не предлагает сделать человеко-заменителя (ИР). Достаточно лишь механически проверить непротиворечивую выводимость каждого конкретного шага доказательства из фиксированного набора аксиом, неопределяемых понятий и правил вывода). Где нужно расставить хинты для выбора верификатором способов переборов, что бы верификация проходила в небольшое время.
То есть нейронная сеть выделила абстрактное множество кошек. Это безусловно еще очень примитивный результат, но уже показывает, что компьютеры фактически могут абстрагироваться.
Абстрактный = существующий только в нашем воображении.
У хаусдорфовых пространств нет ни фотографий, ни рисунков. Нет реального объекта, который можно назвать хаусдорфовым пространством. Нет даже базы примеров, из которых можно вывести классификацию пространств.
Более того, открытый вопрос, существует ли реальный объект, который можно назвать биологическим видом или это просто абстракция, потому что не всегда понятно как делить совокупность живых существ ведь генотип то у каждого живого существа свой.
После гугления у меня возникло мнение, что страницы такой «википедии» должны быть написаны на симбиозе математического (декларативного) языка и языка императивных комментариев на около-естественном языке (на упрощенной разновидности английского). Что бы утверждения на математическом языке верифицировали не только конечные узлы-гипотезы, но и комментарии по конкретным фразам. Т.е. комментарии, в общем-то, должны быть избыточными для доказательства (но недостаточными для оного сами по себе), но благодаря ним должна сохраниться возможность ориентироваться в доказательствах.
Думаю, что если никто не займёт эту нишу, то в течение ближайших 5 лет я мог бы создать ризонер-верификатор подобного языка… Единственно, у меня сложилось впечатление, что профессиональным математикам это не интересно, соответственно, мне тем более тяжело выделить своё свободное время. Видел в сети только сборник доказательств на ML — этого мало.
Как раз семантическая википедия для научных статей. Написана на Django. Руководители проекта рускоязычные, если интересуетесь, то можете попробовать присоединиться.
Достаточно понятным для читателя образом записывать утверждения (не переходы). Как и в доказательстве на естественном языке делаем цепочку утверждений, неявно подразумевая, что каждое следующее «очевидным образом следует», то есть не нужно доказывать каждую деталь. Отличие от доказательства на естественном языке лишь в том, для каждого следующего утверждения верификатор будет с помощью ограниченного по времени перебора пытаться доказать это следование. Если не сможет — извиняйте, значит не так уж очевидно следует и нужно более подробно расписать почему именно оно следует.
В том числе и кванторами можно, код всё-таки для человека а не для машины. Вот пример:
forall n m : nat, le n m -> le (S n) (S m)
И проблема комментариев та же, что и в программном коде. Комментарии могут устаревать, и не соответствовать коду.
Верифицировать их мне честно говоря не кажется хорошей идеей.
Как и в программном коде, хочется обходиться минимумом комментариев, а просто разбивать теоремы на подтеоремы с говорящими именами. Следить чтобы доказательство каждой отдельной теоремы не было слишком длинным (иначе нужно выносить часть «кода» в отдельную теорему). Если какой-то участок совсем уж сложный, то можно к нему написать комментарий с основной идеей и какими-то интуитивными соображениями. Если «комментатор придумал лишнего» — то кто-то из читателей это обнаружит и исправит, также как это делается в программном коде. Отличие лишь в том, что в программном коде ситуацию когда в комментарии написано одно — а в коде другое — и код неправильно работает — обнаружить сложно (и то как-то живем с этим), а тут будет легко.
Ну и точно также, как в программировании кроме программного кода мы имеем всякую документацию, диаграммы, алгоритмы и тому подобные вещи, которые нужны не для компилятора, а для людей — так и в доказательствах можно дать на пару страниц интуитивные соображения, идеи, диаграммы и т.п., а ниже полный код на формальном языке. Кто поймёт идею по неформальному описанию — хорошо, кто не поймёт — пусть идёт разбираться в коде.
Собственно, идея с комментариями пришла ко мне, когда я участвовал в холиварах: комментировать или нет. Во-первых, мне показалось, что код нужно комментировать так, что бы осветить аспекты программы, плохо выражаемые на данном языке. К примеру, блок из кучи императивных mov/jmp на ассемблере имеет смысл прокомментировать декларацией того, что этот код должен делать в предметной области (открывать файл, мигать светодиодиками и т.п.). Или, наоборот, код на прологе или лиспе часто имеет смысл прокомментировать: как конкретно обходится та или иная рекурсия на используемой платформе.
Во-вторых, в качестве решения устаревания кода мне пришла идея включить комментарии в сам язык — сделав таким образом гибридный императивно-декларативный язык. Т.е. комментарии могут быть значимым кодом — и, к примеру, если с учётом синонимов/фразеологизмов (устоявшихся языковых паттернов) комментарий соответствует коду на 50%, то пропускать этот код через интерпретатор без ошибки.
К слову, идея смеси декларативного языка с императивным не нова (только цели другие): к примеру, SQL`ем описать запросы к БД часто невозможно без того, что бы база не начала тупить, перебирая то, что не надо. Для того, что бы этого избежать любая вменяемая СУБД имеет механизм хинтов — позволяющих скорректировать план запросов для данного запроса. Получается, что декларативный SQL — это всего лишь человеко-понятный комментарий к программе, использующей глубокое знание деталей платформы (которая, в свою очередь использует SQL как основу).
Ещё никто не мешает там, где это удобно, использовать один язык, а в других местах — другой. Один императивный, другой декларативный (или какой-нибудь аспектный, не важно).
Вопрос об именовании лемм выходит за рамки верификации. Ведь при текущем положении дел математики как-то ссылаются на леммы, приведенные несколькими страницами ранее, то есть дают им какие-то имена, пусть и численные.
> код нужно комментировать так, чтобы осветить аспекты программы, плохо выражаемые на данном языке
С этим согласен.
> Во-вторых, в качестве решения устаревания кода мне пришла идея включить комментарии в сам язык — сделав таким образом гибридный императивно-декларативный язык. Т.е. комментарии могут быть значимым кодом — и, к примеру, если с учётом синонимов/фразеологизмов (устоявшихся языковых паттернов) комментарий соответствует коду на 50%, то пропускать этот код через интерпретатор без ошибки.
Вот это уже не нравится. Рассуждения про 50% и т.п. вносят нестрогость в эту проверку. На мой взгляд либо верификатор умеет читать эти комментарии полноценно — тогда почему бы не выкинуть основной человеконепонятный код и не писать всё доказательство такими комментариями, либо не умеет (если комментарии добавляют интуитивного понимания, которого верификатор не имеет) — тогда смиримся что они только для людей.
> К слову, идея смеси декларативного языка с императивным не нова: к примеру, SQL`ем описать запросы к БД часто невозможно без того, что бы база не начала тупить, перебирая то, что не надо. Для того, что бы этого избежать любая вменяемая СУБД имеет механизм хинтов — позволяющих скорректировать план запросов для данного запроса. Получается, что декларативный SQL — это всего лишь человеко-понятный комментарий к программе, использующей глубокое знание деталей платформы (которая, в свою очередь использует SQL как основу).
Интересный пример. Но здесь это имеет смысл из-за скорости вычислений. В аналогичном случае в верификаторе ничего не мешает написать утверждение на языке высокого уровня, которое транслятор переведёт на язык низкого уровня, пусть и неэффективно, эффективность тут не нужна.
Может быть моё сомнение по поводу включения комментариев в язык можно сформулировать так: проверить соответствие между кодом и комментарием не проще чем сгенерировать код по комментарию.
Другое дело что можно писать.
Утверждение1.
Утверждение2.
Отсюда очевидным образом следует утверждение3 (в скобках куча кода)
То есть для человека утверждение3 действительно следует очевидным образом, но для верификатора в скобках это доказано более детально. Причем код в скобках можно от человека спрятать за ссылкой «подробнее». Но это уже непринципиальные детали, связанные с тем что верификатор маломощен. Иначе он мог бы (раз человеку очевидно) вывести то что написано в скобках самостоятельно методом перебора.
Хотя в доказательстве Перельмана тоже разобрались единицы, и прятался он от коллег-математиков не хуже
Это похоже на тарабарщину не только для обывателя. Это было тарабарщиной и для математического сообщества.Это не вся правда. Дело в том, что среди приведенной литературы, Мотидзуки ссылается на свои собственные работы, т.е. кроме 500 страниц доказательства abc-гипотезы, нужно сначала освоить несколько сот страниц других его работ.
Если провести аналогию для программиста: это если бы он создал свой собственный язык программирования, нет скорее свою библиотеку, а за тем на ней разработал все остальное.
Если дальше развить эту аналогию, как пример для C/C++, человек разработал (пусть под себя) «другую» stdlib, далее используя ее доказал гипотезу — с его точки зрения единственно правильное решение, ведь стандартная stdlib не достаточно гибка, не удобна, да и вообще не позволяет ему развернуться как следует. Для понимающих, это как после java/c# и ко, пересесть ну например на erlang (не в обиду разработчикам java/c#).
Что абсолютно не понятно, с моей точки зрения, это нежелание всего «математического» мира, всех этих выдающихся «Перельманов», «Уайльсов» и т.д. «изучить» эту библиотеку, чтобы понять доказательство этой важнейшей гипотезы.
Другая аналогия — вот вы выложили в интернете крутющую библиотеку, которую заметим, вы писали в свое свободное время. Но она ну например для ada. И теперь все ее хотят, но для C++, и вам говорят — мы не понимаем как оно работает, а перепишите ка это для C++ и кроме того не используйте своих библиотек, а юзайте исключительно stdlib.
Мне все, что происходит с Мотидзуки и его доказательством, видится как то так.
А единственная ценность доказательства — это его «код» — потому что не разобравшись в нём нельзя быть уверенным что оно истинно, и пользоваться его утверждением. А раз так — пока доказательство никто не понимает — оно не несёт никакой ценности. И нет уверенности что если кто-то потратит кучу времени на разбор этого доказательства — не окажется что в нём ошибка и время потрачено зря.
Отличие в том, что в случае программирования можно проверить, работает ли библиотека — даже не заглядывая в код, просто запустив и пользуясь.
Можно копнуть дальше, изобретена не только библиотека но и архитектура железа, на котором все это вертится.
… пока доказательство никто не понимает — оно не несёт никакой ценности.Вот и вас логика какая-то потребительски однобокая.
А убедившись что код работает, можно уже портировать на другие языки если хочется.А если нет ады под рукой?
И нет уверенности что если кто-то потратит кучу времени на разбор этого доказательства — не окажется что в нём ошибка и время потрачено зря.Не зря, т.к. вы постигли мышление выдающегося математика (или выучили его библиотеку).
Эту будет иметь смысл только если математик действительно выдающийся (а не безумен), а также если те, кто будут разбирать его рукопись менее выдающиеся. Иначе их время можно было бы потратить с большей пользой.
С другой стороны, для того что бы понять не безумен ли он, нужно понять его выкладки ..., а это имеет смысл только если он не безумен. Согласитесь, это замкнутый круг получается.
и предлагаемый софт даёт из него выход.
— количество абстракций просто гигантское;
— множество понятий просто нельзя формализовать, можно формализовать только например действия над этими понятиями либо только результат определенного действия;
— некоторые уже существующие доказательства (например доказательство от обратного) невероятно сложно описать какими либо абстракциями алгоритмически;
— еще сложнее представить его в такой абстрактной форме, что бы алгоритм софта (какой бы умный он не был) однозначно ответил да/нет/константа/множество и т.д. — иногда математика оперирует оценочными суждениями;
— все это вообще не реально, если мы имеем дело с экспандирующими абстракциями (что-нибудь вида произведения двух и более «матричных» или даже «бесконечных» абстракций);
Чтобы не быть голословным, пример:
Есть какая-то (неточная) мат. абстракция LA, которая может быть реализована только лямбдой (в программистском смысле). В доказательстве используется интеграл от этой лямбды или еще хуже произведение с другой мат. абстракцией LB, тоже представленой только лямбдой. Так вот, моей дилетантской математики достаточно чтобы представить в голове или на бумаге свойства такого интеграла или произведения. Но я как программист не имею ни малейшего понятия как представить результат алгоритмически — даже что это за конструкция (как должна быть формализована в программе) не представляю.
Я только за, если кто сможет ..., но пока помоему, без вариантов.
Для тех кто в танке, просьба не делать голословных заявлений, а описать алгоритмически ну например какую нибудь элементарную функцию (по Лиувилю) а потом применить эту абстракцию для доказательства ну например следующего следствия теоремы Лиувилля: интеграл от e^{x^2} не является элементарной функцией.
Так вот, доказательство теоремы от Мотидзуки на английском и «математическом» то языках никто не может (не хочет) понять, а вы собираетесь в эту кучу еще какой-то мета-язык запихнуть? Или вы считаете, что он самодостаточен, т.е. ошибки на этом языке исключены по определению? — накидал кучу исходников — оно сказало теорема доказана и все?
Смею вас разочаровать, такого не бывает. За свою карьеру программером, я много повидал исходников, кстати написанных в том числе и гениями (по моим скромным понятиям) — так вот абстрактный код в вакууме (об ошибках говоря) бывает трех типов:
— код содержит явные ошибки;
— ошибки в коде еще не выявлены;
— ошибки есть но пока не происходят на текущих данных (зависят от каких-либо входных параметров
Какими бы тест-кейсами код не покрывался, какой бы ревью не делался, сколь долго тестеры не гоняли бы этот код. И чем абстрактнее или формальнее язык программирования, тем чаще можно словить баг. А здесь у нас вообще абстрактно-формально-описательный язык в абсолюте
Я вам больше скажу — тот кто будет вынужден писать на этом — пострадает почище того, кто этот «язык» будет реализовывать.
Почему-то эту сторону вопроса никто из поборников «универсального математического компилятора» вообще не рассматривал. А надо было бы…
Что абсолютно не понятно, с моей точки зрения, это нежелание всего «математического» мира, всех этих выдающихся «Перельманов», «Уайльсов» и т.д. «изучить» эту библиотеку, чтобы понять доказательство этой важнейшей гипотезы.
Это-то как раз понятно. Никто не оплатит эту работу. Ну поймёт кто-то эту работу, и что? Математикам же платят за количество публикаций (во всём мире), а не за понимание (и это гигантская печалька).
Синтаксис K:
"Hello world!"
/ The following expression sorts a list of strings by their lengths:
x@>#:'x
/ tables
n: 1000
names: `bob `ted `carol `alice
emp.salary: 20000 + n _draw 10000
emp.name: names[n _draw #names]
emp.manager: names[n _draw #names]
`show $ `emp
/ modify salary to be twice the salary
emp.salary: 2*emp.salary
/ create a chart
emp.salary..c:`chart
`show $ `emp.salary
Я вообще-то просто аналогию проводил. Безпредметно.
Кстати, если это к другой ветке, где обсуждается «универсальный математический доказатель». И вы язык «К» собираетесь в этом качестве прицепить — не стоит. Это примерно, то же что пытатся для решения математических задач использовать 1C-бухгалтерию вместо например матлаб.
Наукой является не язык сам по себе, а лингвистика — нечто, что этот язык изучает.
Ну а т.к. математика — порождение человеческого разума, то очевидно, что ее изучение это точная гуманитарная дисциплина.
Курите философию науки, господа.
Литература, философия — это не науки. Это вот точно просто порождение человеческой мысли. Если подумать, то ясно, что без человека философии бы не возникло. Если б на планете появились мыслящие кристаллы, думали бы они по-другому и нашей философии бы точно не было. А вот математика от человека точно не зависит. Она одинакова в любой точке Вселенной. Как и физика, как и химия. Да, математика — свод правил. Но они взялись из нашего мира, а не из человеческого воображения. Так что называть математику гуманитарной наукой неправильно. Я бы сказал, что ставить рядом слова «наука» и «гуманитарная» вообще неправильно, но это уже отдельный разговор.
Дальше спорить не вижу смысла.
. А вот математика от человека точно не зависит.
Ошибка в этом.
Звезды или галактики объективно существуют без наблюдателя. Числа и прочие математические понятия — не существуют. Они абстрактны. Даже при всей их неизменности.
Звезды или галактики объективно существуют без наблюдателя.
Кстати не факт.
Тем не менее, математика описывает некие законы, как правильно было подмечено — не зависящие от человека, пусть и субъективно (в рамках некой человеческой логики). Другой вопрос — насколько хорошо мы описываем их? Наши абстракции возможно и не существуют, но то, к чему мы подбираемся с помощью них — вполне реально
А если брать пример с кристаллами, то да, философия у них скорее всего была бы другой. И математика тоже другой, но тут речь идет скорее о реализации, а не о целях и конечных результатах. Так что математику «кристаллов» (да простит меня Император за эту ересь) вполне можно было бы назвать другим «языком» математики. К тому же есть вероятность, что и человеческая математика еще существенно изменится со временем.
Не гуманитаризируйте на техническом ресурсе, не надо патетичненьких фраз вроде «математика — язык человека» или «математика — царица наук».
А ваш взгляд — это ололо-кококо студента-недоучки, который знает только то, что он должен ненавидеть гуманитариев.
Даже ваша фраза про язык вас выдает с головой. У этого слова есть строгое формальное определение, о котором вы, разумеется, не слышали.
Для большинства людей математика является наукой, что и отражено в определении британики. Они так привыкли и им так вдолбили в школе. Хотите уподобляться большинству — стоит начать сидеть в одноклассниках и смотреть Дом-2.
Рекомендую ознакомиться со статьей целиком. Это лишь малый отрывок.
Никто не знает, сохранят ли грядущие века и тысячелетия сегодняшнее деление наук на естественные и гуманитарные. Но даже и сегодня безоговорочное отнесение математики к естественным наукам вызывает серьезные возражения. Ее родство с естественными науками, прежде всего — с физикой, очевидно, и нередко приходится слышать, что математика является частью физики, поскольку описывает свойства внешнего, физического мира. Но с тем же успехом ее можно считать частью психологии, поскольку изучаемые в ней абстракции суть явления нашего мышления, а значит, должны проходить по ведомству психологии. Не менее очевидна и логическая, приближающаяся к философской, природа математики. Скажем, знаменитую теорему Гёделя о неполноте, гласящую, что какие бы способы доказывания ни установить, всегда найдется истинное, но не доказуемое утверждение — причем даже среди утверждений о натуральных числах, — эту теорему можно считать теоремой теории познания.
Владимир Андреевич Успенский, доктор физико-математических наук, заведующий кафедрой математической логики и теории алгоритмов мехмата МГУ, Земля (Sol III).
Потому что есть существенные отличия и от естественных (изучается порождение человеческого разума, а не природный объект), и от гуманитарных (есть понятие эксперимента, позволяющее объективно разделить утверждения на истинные и ложные).
Авторами «Британники» являются ведущие мировые эксперты, среди которых десятки лауреатов Нобелевской премии. В разное время статьи для «Британники» писали Зигмунд Фрейд, Альберт Эйнштейн, Мария Кюри, Генри Форд, Лев Троцкий. Современная версия «Британники» создана при участии около 4000 авторов и редакторов.(взято из вики)
Поэтому, если ссылаться на авторитеты, то получим две противоборствующие стороны: «математика — наука» и «математика — не наука» (а лучше уточнить: «математика — естественная наука» и «математика — гуманитарная наука», потому что, насколько я понял из статьи, В.А. Успенский говорит об отнесении «науки математики» к гуманитарной ветке, а не о лишении математики статуса науки, что, с другой стороны, хотите сделать вы:
Строго говоря, математика даже не является наукой.Во-вторых, с рассуждениями В.А. Успенского я тоже не согласен. То, что математика отошла от «сухой цифири» (хотя весьма глупым выглядит попытка доказать это путем упоминания о парадоксе близнецов, который не является чисто математической проблемой (а тем более глупо говорить о парадоксе близнецов как о проблеме, ждущей решения), или о «попытках (математиков) познания бесконечного, которые значительно расширяют горизонты мышления») — не повод переносить её в разряд гуманитарных дисциплин. А почему бы туда не перенести физику? Физики (особенно квантовые) сейчас рассуждают о немыслимых вещах, куда дальше уходя от «тупо цифири». Опять же, то, что математика «расширяет навыки мышления», улучшает «строгость мышления и воображение» — это просто свойство математики (и, скажем, того же программирования тоже) — не повод сделать её гуманитарной. А может сделаем информатику гуманитарной дисциплиной? Ведь у нас тут абстракции разные, знаете ли.
Потом, В.А. Успенский называет «вторым и более глубоким фактором» то, что
занятия математикой и сопряженное с ними систематическое использование точной терминологии определенным образом сказываются на психологии, по крайней мере в части восприятия словНа хабре была не одна статья о профессиональной деформации программистов — так что, может всё же сделаем информатику гуманитарной дисциплиной, ведь программирование сопряжено с использованием точной терминологии, что определённым образом складывается на психологии (кстати, почему на психологии, а не на психике?). Или физику?
Ну и третий фактор, который упоминается статье уже смещён до безобразия. Ображение к этимологии и толкованию слов для… для чего? Это вообще аргументом можно назвать? В англ. языке есть слово fail, которому нет прямого аналога в русском — так что теперь? А может отсутствие в (исконно?) русском языке толкования слова «ложь» в том смысле, в котором это делают в математике, наоборот отдаляет математику от блока гуманитарных наук. Разве нет?
В общем лучи негодования В.А. Успенскому за его статью. Не примите меня за технофашиста, но статья в самом деле «гуманитарная с ног до головы», с безобразной, маразматичной, аргументацией. Зачем автор опять затрагивает эту якобы проблему «физиков и лириков» («технарей и гуманитариев»), да сколько можно! Это моё ИМХО, естестественно.
Различия лишь в форме. А так схема одна: наблюдение, выдвижение гипотез и доказательство.
И там и там доказательство сводится к получению ожидаемого поведения, которому проявляться всякого рода помехи. Только в естесвеных науках это решается с помощью увеличению точности приборов, завязанное на понимании физических процессов.
То в математике это сводится к формализацию формулировок, завязанных на логических построениях.
1) В математике никогда не было того, что вы говорите. Вы явно путаете с философией и риторикой.
2) Доказательства эволюционировали, что в физике, что в математике. Достаточно вспомнить Аристотеля и то, как он доказывал то, что для движения нужна сила.
3) Эти новые рамки будут созданы на основе решения парадоксов и проблем, вызванных старой системой. Так теория множеств возникла на основе развитии рядов и геометрии, так и интуиционизм и теория Цермело-Френкеля возникли на основе парадоксов теории множеств, ровно как действительные число ввели из-за развития геометрии, ровно как комплексные числа из-за появления формулы Кардано.
2) Действительно. В математике — из-за уточнения набора аксиом той или иной теории. В физике? Наверное, можно законы рассматривать, как разновидность аксиом, а объекты «реального мира» — как объекты этой теории. Но получится не более, чем математическая модель соответствующего кусочка мира. И задачей физики будет проверить соответствие этой модели наблюдаемому миру, а задачей математики — говорить, какие теоремы будут работать и как они будут проявляться в «наблюдаемых» терминах. У математиков будут «доказательства», а у физиков — «подтверждения».
3) Вот упоминание интуиционизма здесь действительно интересно. Интуиционизм и конструктивизм предлагают использование другой логики, т.е. из одного и того же набора аксиом получаются разные наборы теорем. Можно сказать, что это разные математики.
А насчет «парадоксов и проблем»… как насчёт континуум-гипотезы и аксиомы выбора? В реальном мире континуум-гипотеза не нужна вообще, ни она, ни её отрицание ничего особенного не дают. А от аксиомы выбора вообще одни неприятности, вроде парадокса Банаха-Тарского. Тем не менее, математики её почему-то очень любят :)
2) Вы сейчас отождествляете мир как таковой с материальной его частью, но это не так.
3) Нет, не разные. Фундаментальная математика формирует разные подходы к решению задач. Но их набор остается одинаковым. Возникающие противоречия составляют обойму тех парадоксов, которые необходимо решать и которые в будущем приведут к развитию новых теорий.
Вы сейчас делаете грубейшую ошибку пытаясь напрямую связать свое понимание реального мира и его проблем с проблемами математики, как впрочем и любой фундаментальной науки.
К примеру, обычному электрику или программисту из гугла глубоко наплевать на то является ли электрон неделимой частицой или нет. Также не волнует вопрос о количестве видов нейтрино или о распаде протона. Ну и т.д.
Насколько математика универсальна — не знаю. Например, может ли существовать математика без натуральных чисел или без теории множеств. Или теория множеств быть совсем не такой, как у нас (и вообще не иметь модели в «нашей» математике). Скорее всего, это всё возможно.
«Набор подходов остаётся одинаковым»? Наверное, смотря насколько обобщать. «Доказывать от противного» — это подход? В «нашей» математике он работает, а, например, в конструктивизме нет. Или «подходами» вы называете правила вывода? Или общий принцип «есть аксиомы, и есть теоремы»? Или вообще «утверждения могут быть истинными, а могут быть ложными»? Я пока не слышал о математических теориях, в которых эти принципы бы нарушались. Но это не значит, что «у кристаллов» они обязаны быть.
Даже на замечательной связи, объединяющей физику с математикой, мы не задержимся. (Математика, с нашей точки зрения, не наука в том смысле, что она не относится к естественным наукам. Ведь мерило ее справедливости отнюдь не опыт.) Кстати, не все то, что не наука, уж обязательно плохо. Любовь, например, тоже не наука. Словом, когда какую-то вещь называют не наукой, это не значит, что с нею что-то неладно: просто не наука она, и всё.
Признаться, я с этим не согласен. Да и проверить её очень даже можно: взять, к примеру, геометрию. Берём относительно плоскую поверхность, рисуем круг радиуса R, измеряем площадь. Математика предсказывает, что она будет примерно равна 22/7 R^2. Рисуем концентрический круг радиуса 2R и измеряем его площадь. Математика предсказывает, что площадь увеличится ровно в четыре раза.
Если бы эти соотношения не выполнялись, современная математика была бы совсем иной, ведь по преданию математика родилась как раз из практической необходимости измерять землю в Египте.
не наука в том смысле, что она не относится к естественным наукамТо бишь Фейнман не относит математику к естественным наукам, а не к наукам вообще. Если выделить категории «точных, естественных и инженерных наук», то математика попадает в «точные».
«Вот ведь люди в эпоху пресингулярности обленились, ехидничал AI0x0AB3, – начиная анализировать „математической мир Мотидзуки“ начала XXI-го века, — даже не удосужились перепроверить доказательство abc-гипотезы своих коллег». AI0x0AB3 ругнулся на ограничения по энергии выделяемые на исторические исследования и со словами: «Интересно, интересно… сейчас проверим», — отправил 90% всех своих скудных ресурсов на перепроверку приведенных доказательство". Через 2^36 мкс было найдено несколько формальных ошибок, но конца и края этому док-ву не было видно… AI0x0AB3 ещё раз посетовал на энергетические ограничения для исторических исследований, сгенерировал отчет с указанием формальных ошибок и выставил метку напротив работы «Статус непределенный. Полное исследование требует энергетических затрат, первышающих доступные ресурсы выделенные на исторические исследования пресингулярной эпохи человечества. »
Видимо, это проблема сообщества…
Снова проведя аналогию к программированию, согласитесь, что для того чтобы понять как работает какой-нибудь синтаксический анализатор (парсер), построеный на регулярных выражениях, нужно все-таки разбираться в регулярных выражениях.
Хотя можно конечно потребовать от создателя этого парсера, переписать его вообще не используя регулярок, на чистых сях.
Аналогия становится понятней, если рассмотреть давний случай с Генри Спесером, когда он выложил лексер написаный с использованием его же библиотеки regex. Теперь она (библиотека) очень даже используется, хотя раньше вызывала похожие чувства, что и с выкладками Мотидзуки.
Попросту говоря, теорема — это наблюдение, которое считается истинным.
Аксиома — это наблюдение, которое считается истинным. Теорему доказывать надо.
Наверное, не «является произведением двух», а «делится на два». Потому что как вообще понимать «произведение двух»?
Разговорить его сможет только здоровая конкуренция.
Хотя, на самом деле, по-человечески, думаю ему просто обидно, что никто не читает тысячи страниц его стараний, вот и молчит.
По слухам, за псевдонимом Сатоси Накамото, создателя Bitcoin, скрывается всё тот же Мотидзуки.
Главное, чтобы не оказалось, что за псевдонимом bananafish скрывался все тот же Мотидзуки.
Что-то сделали и исчезли.
Но тут вообще не нужно бесконечности. Компьютеру просто достаточно написать трактат на 10000 страниц, и ни один человек в мире не сможет его осилить, вполне возможно, что чисто из-за биологических ограничений на сложность мозга.
Строгайте. Только чур не жульничать!
«В августе 2012 года японский математик Синъити Мотидзуки заявил, что ему удалось доказать эту гипотезу.[3] В октябре того же года Веселин Димитров и Акшай Венкатеш (Akshay Venkatesh) обнаружили ошибку в доказательстве. Мотидзуки признал этот факт, но заявил, что данная ошибка не влияет на основные результаты, а также обещал в ближайшее время опубликовать исправленную версию.»
Я правильно понимаю, что после этого Мотидзуки обновления не выкладывал? Значит можно считать, что проблема то есть, а раз кроме Мотидзуки не может сказать, что она «несущественная», а он сам исправления не выкладывает, то значит доказательство неверное.
1) (приятный) аксиоматическая база совпадает с аксиоматической базой общепринятой математики. Тогда можно потихоньку раскручивать тот мат. аппарат, который предлагает японский математик.
2) (неприятный) аксиоматическая база не совпадает с аксиоматической базой общепринятой математики. В таком случае у нас появляется теорема доказательства (или опровержения) эквивалентности предложенной аксиоматической базы и применяемой сейчас. Если они окажутся эквивалентными — см. п1. Если они окажутся неэквивалентными, тогда доказательство просто бесполезно, т.к. оно применимо только для какого-то неведомого нам математического мира.
Приведу еще один пример, который вам, конечно же, не понравится. Допустим, стоит задача доказать некое неравенство, являющееся не совсем очевидным следствием Неравенства Коши (но вы об этом не знаете). Вы будете его долго крутить, пока кто-то вам не покажет, связь между доказываемым неравенством и Неравенством Коши. И когда вы увидите ту самую группировку членов, которая превращает доказываемое неравенство в Неравенство Коши, истинность неравенства не будет вызывать никаких сомнений. (Плюс, разумеется, проверки на области определения и множества значений отдельных выражений неравенства, которые позволят вам сделать нужные преобразования).
P.S. Если он использовал стандартную аксиоматику, то где-то в его многочисленных записях должен быть «логический мостик» (и не один) между общеизвестными утверждениями и понятиями, и его собственными разработками.
«Если раздрюсить пусик – получится 3 фарика, если фарик – 5 бляк, если бляку – 2 хрунечка. Мряка однажды нашла 3 пусика и раздрюсила их всех до хрунечков. Сколько получилось хрунечков».
Безусловно, здесь «аксиомы» будут очень простыми и отстоять от конечного результата они будут недалеко.
Тем не менее:
А1: Существует Мряка.
А2: Существуют пусики. Сущности исчислимые, аддитивные.
А3: Существуют фарики. Сущности исчислимые, аддитивные.
А4: Существуют бляки. Сущности исчислимые, аддитивные.
А5: Существуют хрунечки. Сущности исчислимые, аддитивные.
А6: для Мряки и 1 пусика определена операция «раздрюсить». Результат операции – 3 фарика. (некоммутативная)
А7: для Мряки и 1 фарика определена операция «раздрюсить». Результат операции – 5 бляк. (некоммутативная)
А8: для Мряки и 1 бляки определена операция «раздрюсить». Результат операции – 2 хрунечка.
А теперь радостно пользуясь исчислимостью, аддитивностью и определенностью операций над этими сущностями делаем то, что от нас требуется.
Проблема в том, что это все равно часто слишком сложно записать в формальной системе и итог получается слишком объемным для понимания отдельно взятым человеком — не смотря на то, что теоремы упираются на другие теоремы и так далее. Так и тут.
На мой взгляд, компьютеры как раз очень-очень могли бы помочь и систематизации таких знаний и в контроле тождественности преобразований. Ведь значительная часть математических выкладок — это именно тождественные преобразования. А правила тождественных преобразований легко формализуются. Правила для получения выражений-следствий тоже во многих случаях можно формализовать.
Документирование же причинно-следственных связей между утверждениями позволит:
1) установить алгоритмически «нормальность» этой сети утверждений, т.е. отсутствие петель, циклов, отсеять побочные ветви (которые нас временно не интересуют)
2) выявить аксиоматическую базу (как множество утверждений нулевого ранга — таких, которые не ссылаются ни на какие другие утверждения как на обоснование).
3) проверить тождественность или эквивалентность предлагаемого базиса и одного из известных и применяемых в математике базисов.
4) организовать методически работу по осознанию живыми математиками этой сети утверждений «снизу вверх», т.е. таким образом, чтобы каждое новое понятие вводилось на основе уже имеющихся, а каждое новое утверждение доказывалось на основании уже доказанных (собственно, как оно в математике и делается).
heller.ru/blog/2010/09/a-funny-serie/
Можете проиллюстрировать на живом примере?
Можете проиллюстрировать на примере доказательства того, что объем конуса равен трети объема цилиндра с таким же основанием и высотой?
А на счет конуса, я что-то не смекну, как это без интегралов доказать.
Кстати, утверждение об объеме выполняется для всех конусов, или только для прямых, у которых в основании окружность?
(я ж не зря лезу аж в геометрию 5 класса, там я не запутаюсь в самой математике и сосредоточусь на примере. А тут я и в самой математике ошибиться могу, и никакого чуда не выйдет).
Ладно, давайте тогда что ли докажем теорему Пифагора. Тут точно негде запутаться.
В поддержку Мотидзуки хочу напомнить историю Галуа, который, для доказательства не менее простой в формулировке теоремы о неразрешимости в радикалах, также создал свой «математичкеский мир» — теорию групп (в 19 лет!), в которую математический свет тоже не сразу вкурил, а сейчас она доступна студентам младших курсов математических специальностей. Просто «чистая логика» не достаточна для автоматического понимания всеми математиками. Для освоения новой теории должно пройти какое-то время, чтобы математики научились мыслить в категориях этой теории.
Я думаю, что не нужны тут аналогии. Результат у Митодзуки выдающийся, и рано или поздно какая-нибудь группа математиков его осилит. Аналогии тут не нужны, ибо математика работает и без аналогий :)
Галуа помогал другим людям разобраться в его теорииИ даже лекции бесплатные пытался вести по алгебре, только молодые люди не осилили и быстро разбежались.
(мне эта ситуация подходит в качестве примера того, что доказательство проще проверить, чем вывести).
Кстати, утверждение о бесконечном множестве простых чисел доказано?
Кстати, утверждение о бесконечном множестве простых чисел доказано?
Что вы, конечно доказано, у него же элементарное доказательство!
(решил привести доказательство за время, пока можно редактировать комментарий)
Пусть множество простых конечно. Перемножив все его члены и прибавив к произведению единицу, мы получим число, которое не делится ни на одно из простых чисел вообще — а это очевидно невозможно. Следовательно, это число само простое, или делится на некие простые, не включенные в множество.
Он не оставил сообщение ни на одном сетевом форуме, которые часто посещают математики со всего мира.
А что это за форумы?
Числа-близнецы.
ABC теорема.
Слабая гипотеза Гольдбаха.
Будем ждать гипотезу Римана…
Нет, Дюпон, нет, нет и нет! — кричал профессор. — Это уже чистейший
идиотизм! Это противоречит принципу сохранения энергии, и математически — слышите? — ма-те-мати-чес-ки невозможно!
— С вашей математикой, пожалуй, — спокойно ответил Поль.
— То есть как это, с моей математикой? У вас что, есть другая? Так
изложите ее принципы, черт побери, изложите!
— Да, изложу! — взорвался Поль. — И вы ничего не поймете! Потому что
эта математика ушла от вашей на тысячи лет вперед!
— На тысячи лет, как вам это нравится, а? — вкрадчиво проговорил
профессор. — Позвольте узнать, на сколько именно тысяч лет?
— Ах, если бы я это знал!
Если в работах Мотидзуки есть интересные мысли — их там обязательно найдут, отряхнут и объяснят простоым языком (ну, как когомологии на примере арифметики за третий класс).
He travels the fastest who travels alone. © R. Kipling
«Простое лучше, чем сложное.
Сложное лучше, чем запутанное. „
может, Мотидзуки как раз занимается способом сделать свое доказательство максимально доступным? тогда понятно его нежелание объяснять работу в незнакомых терминах)
Привет из 2025 года:
Вместо того чтобы показывать моделям нулевого типа миллионы примеров человеческого языка и человеческого мышления, почему бы не научить их основным правилам логики, дедукции, индукции, заблуждениям, когнитивным предубеждениям, научному методу и общему философскому исследованию и не позволить им открыть для себя лучшие способы мышления, которые люди никогда не смогут придумать?
Это👆 то, что DeepSeek попытался сделать с R1-Zero и почти добился.
Когда DeepSeek обучил R1-Zero, им стало трудно читать ответы модели. Она начала смешивать языки. Это снова напоминает мне DeepMind. AlphaGo Zero научилась играть в го лучше, чем AlphaGo, но и более странной для человеческого глаза . В конце концов, AlphaGo научилась у нас , но AlphaGo Zero пришлось открывать свои собственные пути посредством самостоятельной игры. У нее не было наших данных, поэтому у нее не было наших недостатков. Что еще важнее, у нее не было и наших манер.
Из этого возникают вопросы: существуют ли нечеловеческие способы рассуждать о мире, которые более эффективны, чем наши? Станут ли более разумные ИИ не только еще более разумными, но и все более непонятными для нас?
Парадокс доказательства