Ввод представляет собой строку символов с (любым) проверенным синтаксисом, а выход - ИСТИНА или ЛОЖЬ.Стратегии доказательства пропозициональных тавтологий?
Моя идея была пост-фиксированное представление логических выражений, написанных с помощью AND, XOR и TRUE, но я, наконец, понял, что шаблоны будет сложнее распознать в post-fix.
Примеры:
р, то^ можно записать ИСТИНА XOR р (исключающее ИЛИ (р, д)) сокращенно 1 + р + PQ
р равносильна д можно записать сокращенно 1 + р + д
НЕ р сокращенно 1 + р
р ИЛИ д сокращенно р + д + рд
правила в этом булева кольца такое же, как и в обычной алгебре, с двумя правилами
- р + р = 0
- pp = p
, и эти правила вместе с коммутациями отвечают за все сокращения, что приведет к «1», если строка соответствует тавтологии. Тавтологию Модусные поненс,
((р, то ^) и р) ПОДРАЗУМЕВАЕТ д,
должен сначала быть замещен, как указано выше, а затем расширенный путем умножения дистрибутивно, и последний раз быть упрощена. Прямое замещение ПОДРАЗУМЕВАЕТ дает:
1+((1+f+fg)f)+((1+f+fg)f)g =
= 1+ f+ff+fgf +(f+ff+fgf)g =
= 1+ f+f+fg + fg+fg+fg =
= 1+ fg +fg+fg+fg = 1
Когда тавтологическое выражение записано как элемент в булева кольцах это уменьшает механически 1. Другое выражение сводится к алгебраически простому выражению.
Это хорошая стратегия? Какие стратегии используются в информатике?
То, что вы здесь предложили, напоминает о начале логической логики, опубликованной в «Исследование законов мысли» Джорджа Була в 1854 году. Увлекательное чтение, если у вас есть время. – MattClarke
Спасибо! Я нашел книгу на http://www.gutenberg.org/files/15114/15114-pdf.pdf и попытаюсь ее прочитать. Булевы кольца, где каждое выражение помещается в форму только с И и XOR, очень антиинтуитивно для человеческого мышления, но чрезвычайно легко сокращается алгебраически. – Lehs
Есть способ определить, является ли хорошо сформированная формула тавтологией в свободно загружаемой программе OTTER. Книга Дж. А. Кальмана «Автоматизированное рассуждение с помощью OTTER» намекает на него около с. 342. Я могу показать, что вы можете использовать пример ввода OTTER, если вы напишите мне по электронной почте на [email protected] –