↓
 ↑
Регистрация
Имя/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
2 комментариев из 13
Матемаг
> я хз, что такое квайн

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

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

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

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

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

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









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