↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Матемаг
31 мая 2017
Aa Aa
#математика #логика #моё #размышления #статья

Думаю о формальной системе, в которой можно было вы выразить (аналоги) сообщения вроде "Это предложение ложно" или "В этом предложении пять слов". Специально не гуглю - неспортивно. Далее - рассуждения по теме. Если кто знает, как это делается - просьба не спойлерить. Если кто-то знает, что доказано, что это невозможно – можете спойлерить, какая разница, от попыток не остановит! Благо в аксиоматике Пеано с помощью логики и Гёделевой матери можно выразить утверждения самой аксиоматики, так почему бы и не? Ниже размышления идут "как думается", а не после осмысления в статью-с.

1. Сначала – разбор, собственно, того, что нам нужно. В "это предложение ложно" ¬– три значащих слова. Ещё - опущенная связка (является, есть). 4 значащих понятия. Допустим. "Ложно" – к нему я вернусь позже, сейчас (во время написания этого предложения) лучше обратиться к другим трём. С «является» проще. Зададим тем же «=». Короче, тут логические символы задействовать можно с лёгкостью. Как и с «ложно», но тут проблема в том, что «ложно, истинно», вероятно, придётся дополнять до троичного «ложно, истинно, противоречиво». Или до иного множества значений, т.к., возможно, придётся выражать оттенки противоречий и истинности-ложности.
2. Что касается «это», то здесь гораздо сложнее. Во-первых, определим, имеет ли смысл общее понятие «это предложение» или нам удобней отдельно определить «это» и «предложение». В обыденном языке, конечно, отдельный смысл имеется, но у нас будет специализированная формальная система. Что может быть «это», кроме «предложение», если «предложение» будет относиться к любому набору символов? Да ничего. Поэтому нам просто нужен идентификатор предложения. Можно выбрать один из двух путей.
Во-первых, ввести-таки «This», ключевой символ, определяющий обращение к именно этому предложению, а все иные употреблять через их полное выписывание, введя символами две кавычки. Достаточно ли сильным будет такое описание, чтобы выразить оба наших варианта? «Это предложение ложно» -> «This = Л». Выглядит неплохо. «This = пятисимвольно», где о выражении «пятисимвольно» мне ещё предстоит подумать – позже. И попробуем описать таким образом сами наши предложения. ««This = Л» = П», где под «П» предварительно приму «противоречиво». ««This = пятисимвольно» = Л». Выглядит неплохо.
Во-вторых, можно поступить невыразимо более сложным и неинтуитивным (для меня?) образом. Мы можем просто присвоить каждому высказыванию уникальный для него указатель. Во-первых (A), можно сделать это богопротивным образом, определив прямо. То есть, берём алфавит с бесконечным (счётным) количеством уникальных символов, каждый энный из которых будет указателем на другой символ уже алфавита, а не прочей ФС… В принципе, почему бы и нет. Хотя практически это ничем не будет отличаться от некоторой схемы (B), по которой каждому (конечному) набору символов, включая символы самой этой системы, присваивается «название» – набор символов, вместе употребляемых для указания на высказывание или (а может, и не «или») отдельное понятие. Поскольку бесконечного алфавита уникальных символов у меня почему-то не имеется, то придётся использовать не (A), но (B). Но нужно построить такую схему. И придётся сделать это позже, поскольку сначала нужно определиться с другими символами языка.
Но прикидочно, можно использовать для этого банальный подход. 1, 2, 3, …, n – это номера основных неопределимых понятий. Далее, выражение [1], [2] и так далее будут указателями на эти понятия. Соответственно, набор [1 + 3 + 4] будет указателем на сочетание «понятие 1, затем 3, затем 4». Далее, для обращения к самим этим утверждениям будем использовать []. То есть, указатель на «указатель на «1, затем 3, затем 4»» будет выглядеть как [[1 + 3 + 4]]. Так мы можем назвать по уникальному имени вообще любое утверждение.
Хм. Дойдя до этого момента, осознал, что (B) не сработает. Чтобы записать «This = Л» на языке «[]», нам понадобится следующее. Предположим, что = есть 1, Л есть 2. И получим вложенную конструкцию «[[[[[[… + 1 + 2] + 1 + 2]» с бесконечным количеством скобок. Пожалуй, B не сработает и без This не обойтись. Впрочем, ничто не мешает совместить подходы. Возможно, я так и сделаю.

На этом пока всё.
31 мая 2017
13 комментариев
> Поскольку бесконечного алфавита уникальных символов у меня почему-то не имеется...
*ржет*
Сохраню вкладку, попозже вкурю, о чем тут, а то диплом недописан.
Нет, чисто теоретически, ничто не мешает такой алфавит использовать. Но потом ВНЕЗАПНО технически у нас кончатся эти самые символы. Хотя, возможно, я чего-то не понимаю. Простой же нумерацией заменить не выйдет.
Матемаг
Даже число атомов в видимой Вселенной конечно, так что норм.
Если пространство-время неквантовано, то потенциальное число символов не ограничено и в конечноатомной вселенной.
...и с чего ты взял, что видимая вселенная - это ВСЯ вселенная?
Матемаг
Использовать всю Вселенную, чтобы пообщаться, немноооожко нерационально.
Разумеется. Но, вообще говоря, формальные системы, по большей части, счётно-бесконечны. То есть, мы в любом случае не можем полностью описать ни одну из них. Так что можно попробовать и пойти путём уникальных идентификаторов. Но тут уже чисто технические ограничения - у меня будет беда с символами, не хватать будет, неудобно-с.
Матемаг
С этим полностью согласна.
> можно было вы выразить (аналоги) сообщения вроде ... "В этом предложении пять слов"

Квайн с подсчётом длины выражения вместо вывода, нет?

(a -> length $ a ++ show a) "(\a -> length $ a ++ show a) "


> просьба не спойлерить

Ой. Ну ок.
"Квайн с подсчётом длины выражения вместо вывода" - ну я хз, что такое квайн. Но это, похоже, программирование? Меня интересует уровень матлогики.
XOR Онлайн
Матемаг
подожди, во втором случае же ты говоришь о вводе идентификатора для любого предложения
т.е. предложение «This = Л» тоже должно иметь какой-то идентификатор.
или я тебя не так понял?
Да, должно. Проблема в том, что это потребует либо бесконечного алфавита, либо бесконечного размера идентификатора, или, опять же, this. Или я не понимаю, как обойти.
Матемаг
> я хз, что такое квайн

Это программа, которая выводит саму себя.

> Меня интересует уровень матлогики

Это как раз матлогика, подраздел «теория вычислений». Конкретно обсуждаемая задача — реализация парадокса Карри.

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

Use идентификатор рекурсивной операции (Y-комбинатор), Luke!
"Это как раз матлогика, подраздел «теория вычислений»" - не та матлогика. В смысле, есть формальные системы, а есть теория вычислений и есть "теорема" Чёрча-Тьюринга. Так вот, вы работаете "по одну сторону" от теоремы, а я - "по другую". А между тем, "теорема" не доказана и даже не сформулирована строго, если это вообще возможно. Я употребляю ресурсы математики, вы употребляете ресурсы программирования. Но меня интересует именно сделать это ресурсами формальной логики, а не теории вычислений!

"Use идентификатор рекурсивной операции" - ага, я привёл этот вариант. Может, не этот, но по ссылке пойду - нефиг спойлерить!
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть