0

Ввод представляет собой строку символов с (любым) проверенным синтаксисом, а выход - ИСТИНА или ЛОЖЬ.Стратегии доказательства пропозициональных тавтологий?

Моя идея была пост-фиксированное представление логических выражений, написанных с помощью 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. Другое выражение сводится к алгебраически простому выражению.

Это хорошая стратегия? Какие стратегии используются в информатике?

+0

То, что вы здесь предложили, напоминает о начале логической логики, опубликованной в «Исследование законов мысли» Джорджа Була в 1854 году. Увлекательное чтение, если у вас есть время. – MattClarke

+0

Спасибо! Я нашел книгу на http://www.gutenberg.org/files/15114/15114-pdf.pdf и попытаюсь ее прочитать. Булевы кольца, где каждое выражение помещается в форму только с И и XOR, очень антиинтуитивно для человеческого мышления, но чрезвычайно легко сокращается алгебраически. – Lehs

+0

Есть способ определить, является ли хорошо сформированная формула тавтологией в свободно загружаемой программе OTTER. Книга Дж. А. Кальмана «Автоматизированное рассуждение с помощью OTTER» намекает на него около с. 342. Я могу показать, что вы можете использовать пример ввода OTTER, если вы напишите мне по электронной почте на [email protected] –

ответ

2

Как обсуждался в этом overview paper, произвольная пропозициональная формула может быть преобразована в кнфе (CNF) таким образом, что она имеет только полиномиальный больший размер и невыполнимо тогда и только тогда, оригинальная формула была тавтологией.

Практические инструменты для преобразования формулы в CNF включают bool2cnf и bc2cnf.

SAT solvers для проверки недостоверности CNF включает CryptoMiniSat и Lingeling.

См. related post, где показано, как обрабатывать формулы пропозиции с использованием решателя SAT.

+0

Спасибо! Через CNF и Wikipedia я нашел ANF, алгебраическую нормальную форму, которая, кажется, является моим подходом. – Lehs