В комментарии OP выразил заинтересованность в сокращении, которое породило экземпляры с 3 различными переменными в предложении. Вот простой подход:
Сокращение от SAT 1-в-3 с 3 различными переменными в предложении:
- Прежде всего, включите все предложения в формулу ввода как предложения в формулу вывода.
- Во-вторых, введите три новые переменные F1, F2, а также F3 и добавьте следующие три предложения в формулу вывода: (¬F1,F2,F3), (F1,¬F2,F3), а также (F1,F2,¬F3),
- Наконец, для каждой переменной x в исходной формуле введите новую переменную x′и добавьте следующие два предложения в формулу вывода: (x,x′,F1) а также (¬x,¬x′,F1),
Давайте проверим, что это сокращение делает то, что мы хотим. Следующие свойства - это то, что мы хотим:
- Каждое предложение всегда имеет три различных переменных.
- Каждая переменная встречается в некотором предложении положительно, а в другом - отрицательно.
- Формула ввода эквивалентна формуле вывода.
Свойство 1 тривиально проверить. Свойство 2 также легко проверить: переменныеF1, F2, а также F3 каждая из них встречается как положительно, так и отрицательно в предложениях, добавленных во втором пункте маркированного списка, в то время как каждая другая переменная в формуле встречается как положительно, так и отрицательно в предложениях, добавленных в третьем пункте маркированного списка.
Что касается свойства 3, это менее тривиально, но все же легко. Вы можете легко утверждать, что единственное назначение для переменныхF1, F2, а также F3 что удовлетворяет каждому пункту из второго пункта пули, состоит в том, чтобы сделать все три Fis false. But then assuming a value of false for F1, пункты (x,x′,F1) а также (¬x,¬x′,F1) добавленные в третьем пункте пули выполняются тогда и только тогда, когда x′=¬x, Поскольку нет никаких других ограничений наx′, это означает, что всегда можно расширить удовлетворяющее назначение для входной формулы в удовлетворяющее назначение для выходной формулы: просто установите каждый x′ быть отрицанием соответствующего x и установить каждый Fi ложно.