yigal_s: (Default)
[personal profile] yigal_s
с некоторым удивлением узнал как правильно раскрывать кванторы в импликациях.
Т.е. что выражение

( для любого y Летает(y) ) -> Все_Летают

Эквивалентно

существует y (Летает(y) -> Все_Летают)

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

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

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

Вообще, если ещё немного порефлексировать, то видится так, что смысл первого выражения совершенно интуитивно ясен, а вот смысл второго выражения неясен совершенно. Что значит для любого "y" верна некая импликация? Да просто фиг его знает, надо садиться и кропотливо разбираться. Вот наверное да - именно в этом месте интуиция полностью отваливается. Даже и непонятно как эту вторую формулу на человеческом бытовом языке произнести.

Date: 2026-01-15 08:03 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
У меня, кажется, полглавы этой теме посвящено, комбинация кванторов и логических связок.

Date: 2026-01-15 08:28 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Да ладно, я не предлагаю всю книгу читать. Могу послать главы с логикой. Теория категорий и теория моделей там не нужны.

Date: 2026-01-15 08:21 pm (UTC)
lxe: (Default)
From: [personal profile] lxe
Интуитивно действительно кажется, что что-то сильно не так, потому что из всеобщности не может следовать существование. Например, из утверждения, что все чайники Бертрана Рассела являются спутниками Земли, не следует никакого существования (даже Земли или Рассела).

Date: 2026-01-15 08:21 pm (UTC)
lxe: (Default)
From: [personal profile] lxe
(Или я как-то неверно читаю второе утверждение.)
Edited Date: 2026-01-15 08:21 pm (UTC)

Date: 2026-01-15 08:35 pm (UTC)
lxe: (Default)
From: [personal profile] lxe
Да, я именно о пустых множествах. Любое утверждение о свойствах элемента пустого множества истинно. Это обратная сторона того, что выборка из любого множества условием, которое ложно для всех его элементов, дает пустое множество.
SELECT * FROM ... WHERE ... с синтаксически верным, но ложным для всех записей условием выдает не ошибку, а результат из нуля записей.
В иерархии типов Бертрана Майера Any — предок любого типа, None — потомок любого.
Edited Date: 2026-01-15 08:36 pm (UTC)

Date: 2026-01-15 08:43 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Ага, тут ошибка. Сейчас напишу автору.

Date: 2026-01-15 08:46 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Э, немножко не так. Как lxe и писал, существование не может вытекать из универсального утверждения. Скобки неправильно расставлены.

Правильно будет так:

(для любого y (Летает(y) -> Все_Летают)) эквивалентно ((существует y (Летает(y)) -> Все_Летают).

Если игреков никаких нету, то и ладушки, из лжи всё выводится.

Date: 2026-01-15 09:06 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
А что за Все_Летают, это не одно и то же, что и ( для любого y Летает(y) ) ?

В любом случае, я думаю, ничего не получится.

Пример простой - возьмём universe, состоящую из двух элементов. И там всё ясно будет. А&B -> C. Это не одно и то же, что (A|B) -> C.

Date: 2026-01-15 10:11 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
A&B->C эквивалентно (A->C)|(B->C) ?

В булевой логике первое есть !A|!B|C, а второе (!А|C)|(!B|C). Ну да, эквивалентны.