Воспроизведем таблицу истинности для следования:
№ | R | S | R S |
1 | false | false | |
2 | false | true | * |
3 | true | false | ~ |
4 | true | true | |
Рассмотрим теперь несколько случаев.
Выделим свободные переменные:
- которые есть в формуле R (но не в S) - пусть это для определенности
переменные r1,...rn.
- которые есть в формуле S (но не в R) - пусть это для определенности
переменные s1,...sm.
- которые есть в обоих формулах и S, и R - пусть это для определенности
переменные t1,...tl.
Пусть R S = true. Отсюда следует, что в обоих формулах - R
и S есть хотя бы по одной свободной переменной. Формулы РБА без свободных переменных дают всегда
один и тот же результат, то есть, они постоянны. А для постоянных формул R S = false.
Также мы можем быть уверены, что среди свободных
переменных в формулах R и S есть хотя бы одна общая. То есть, l ≥ 1.
Это так, поскольку было доказано: для формул, не имеющих одноименных свободных переменных
R S = false.
Рассмотрим предикаты R' и S', определенные следующим образом:
R'(r1,...rn,t1,...tl) = R
S'(s1,...sm,t1,...tl) = S
Пусть для некоторой комбинации значений свободных переменных R = true. Обозначим эту комбинацию как
r'1,...r'n,t'1,...t'l.
То есть,
R'(r'1,...r'n,t'1,...t'l) = true.
Этому случаю соответствуют строки таблицы истинности 3 и 4. Поскольку ситуация в строке 3 запрещена, остается только
возможность, прописанная в строке 4. То есть, в этом случае должно быть S = true.
То есть,
S(s1,...sm, t'1,...t'l) = true
При этом значения оставшихся неопределенными переменных s1,...sm могут быть произвольными.
Это можно записать в виде правила:
Если
(R'(r'1,...r'n,t'1,...t'l)
& R S), то
s1... sm S'(s1,...sm, t'1,...t'l).
Данная формула является аналогом modus ponens.
Пусть теперь для некоторой комбинации значений переменных S = false.
Обозначим эту комбинацию:
s"1,...s"m, t"1,...t"l.
То есть,
S'(s"1,...s"m, t"1,...t"l) = false
Этому случаю соответствуют строки таблицы истинности 1 и 3. Поскольку ситуация в строке 3 запрещена, остается только возможность,
описанная в строке 1. То есть, в этом случае должно быть R = false. Это можно записать в виде правила:
Если
(~S'(s"1,...s"n,t"1,...t"l)
& R S), то
r1... rn ~R'(r1,...rn, t"1,...t"l).
Данная формула является аналогом modus tollens.
Пусть теперь для некоторой комбинации значений переменных R = false.
Этому случаю соответствуют строки таблицы истинности 1 и 2. Поскольку ни одна из строк не запрещена,
то мы не можем сказать ничего достоверно об истинности S.
Пусть теперь для некоторой комбинации значений переменных S = true.
Этому случаю соответствуют строки таблицы истинности 2 и 4. Поскольку ни одна из строк не запрещена,
то мы не можем сказать ничего достоверно об истинности R.