Однако это не означает, что такой ответ нельзя найти для конкретных формул. Мы уже убедились, что в ряде частных случаев, построив таблицу истинности для соответствующей формулы, можно определить, является ли она общезначимой или законом логики в исчислении предикатов. То же самое следует сказать о процессе вывода одних формул из других по соответствующим правилам исчисления. Отсюда становится ясным, что процесс вывода следствий в логике предикатов носит творческий характер, поскольку он требует догадки и интуиции. Другими словами, отсутствие алгоритма вовсе не исключает возможности поиска решения отдельных задач, для которых не существует общего метода решения. Творческий характер мышления проявляется именно при решении нестандартных проблем. Там, где есть алгоритмы, задачу можно программировать и использовать для ее решения компьютер, т.е., проще говоря, заменить рассуждение вычислением. Напротив, там, где нет разрешающей процедуры, или алгоритма, приходится строить догадки и гипотезы, проверять их и отбрасывать негодные, вновь и вновь пробовать и проверять, чтобы найти требуемое решение. В целях облегчения такого поиска существуют определенные эвристические методы, которые хотя и не гарантируют безошибочно верного результата, но могут в значительной мере приблизить к его достижению.
Одним из таких методов в исчислении предикатов является способ построения аналитических, или, точнее, аналитико-семантических таблиц. Этот метод основывается, во-первых, на рассуждении от противного, т.е. сначала допускается, что рассматриваемая формула является необщезначимой, или данная формула логически не следует из других. Затем доказывают, что такое допущение приводит к противоречию, и поэтому оно опровергается. Во-вторых, для такого рассуждения строится аналитическая таблица, каждая строка которой содержит определенный список формул. В первой строке таблицы записывается антитезис, означающий, либо отрицание общезначимой формулы А, либо некоторого следствия, т.е. допускается истинность его посылок A1
, А2,..., An и ложность заключения (— В). Переход от одной строки таблицы к другой связан с преобразованием формул с помощью определенных правил редукции, опирающихся на семантический анализ смысла таких логических связок, как отрицание, конъюнкция, дизъюнкция, импликация, а также кванторов общности и существования. В-третьих, таблица считается замкнутой, если в некоторой ее строке в каждом списке формул встречается определенная формула С вместе с ее отрицанием —C. Полученное противоречие свидетельствует о том, что принятое допущение необоснованно и, следовательно, доказывает либо общезначимость исходной формулы A, либо правильность следствия В из посылок A1, A2,..., Аm, т.е. A1, А2,..., Аm | = В. Если же аналитическая таблица остается незамкнутой, то нельзя однозначно решить вопрос об общезначимости формулы А или логического следствия A1, А2,..., Аm | = В. Ведь подобный результат мог бы свидетельствовать не только о необщезначимости формулы и неправильности логического следствия, но и о том, что нам не удалось найти комбинацию формул, которая привела бы к замыканию таблицы.Решающая роль при построении аналитической таблицы принадлежит правилам редукции, с помощью которых происходит переход от формул на строке n таблицы к следующей строке n + 1.
Правило конъюнкции
. Допустим, что на одной строке таблицы мы имеем список формул: Г, А В, , где Г - последовательность формул, предшествующих конъюнкции, а д - последовательность формул, следующая за ней. Поскольку из истинности конъюнкции можно сделать вывод об истинности каждого ее члена, то всюду, где она встречается, вместо истинной конъюнкции можно переходить к ее членам. В результате можно перейти от некоторой строки n к строке n + 1, оставляя при этом остальные списки неизменными:Правило дизъюнкции
разрешает перейти от строки, в которой встречается она, к другой, где вместо дизъюнкции встречаются два списка, в одном из которых находится один дизъюнктивный член, во втором - другой:Это правило основывается на том, что дизъюнкция является истинной, если по крайней мере один из ее членов истинен, а поэтому при переходе от одной строки к другой мы получаем два списка, отделенных вертикальной чертой, в одном из которых встречается один член, во втором - другой.
Правило импликации
(->) разрешает переходить от строки, где она встречается, к другой, в которой встречаются два списка формул, в одной из них содержится отрицание антецедента, в другой - консеквент импликации:Действительно, импликация будет истинна, если ложен ее антецедент или истинен консеквент, что и представлено в заключении вывода.
Правило отрицания конъюнкции
разрешает в заключении переходить к отрицанию конъюнктивных членов, поскольку отрицание конъюнкции означает отрицание этих членов.Г, ¬ (А В)
Г, ¬ А, ¬ Г, ¬ В,