4.5. Выводимость и доказуемость
4.5. Выводимость и доказуемость
Приведенные выше понятия общезначимой формулы логического следования в конечном итоге опираются на построение таблицы истинности. Но проверка с помощью таблиц оказывается, как мы видели, и крайне громоздким, и весьма неэффективным средством. Такой способ проверки целесообразно использовать для выявления общезначимых формул и логического следования в исчислении высказываний, где с помощью таблицы истинности мы можем всегда ответить на вопрос, является ли данная формула общезначимой или законом логики в этом исчислении, а также следует ли формула В из формул A1, А2,..., Аm. Когда существует определенная процедура, посредством которой можно за конечное число шагов разрешить определенный вопрос, тогда в логике и математике говорят, что для ответа на него существует алгоритм или эффективная процедура. Мы можем, например, сказать, что для сложения, умножения, деления и других хорошо известных математических действий существуют определенные алгоритмы. То же самое относится и к исчислению высказываний, где с помощью таблицы истинности всегда можно в конечном итоге ответить на вопрос, является ли данная формула законом исчисления или нет, либо следует ли рассматриваемая формула из другой или других формул.
В исчислении предикатов мы встречаемся с принципиальными трудностями, поскольку не можем проверить неограниченное количество интерпретаций, которые соответствуют заданной формуле из ее универсума рассуждений. Вот почему становится необходимым обратиться к другому способу проверки, основанному на выводе формул по точно установленным правилам. Такая необходимость связана с тем, что для исчисления предикатов не существует алгоритмической процедуры, с помощью которой можно было бы установить, является ли произвольная формула исчисления общезначимой, а также следует ли в ней одна формула из другой. Таким образом, здесь мы не можем так просто разрешить эти вопросы, как в исчислении высказываний. В связи с этим логика предикатов не имеет разрешающей процедуры или алгоритма, которые можно было бы применить к любой формуле исчисления, и решить поставленный вопрос чисто механически.
Однако это не означает, что такой ответ нельзя найти для конкретных формул. Мы уже убедились, что в ряде частных случаев, построив таблицу истинности для соответствующей формулы, можно определить, является ли она общезначимой или законом логики в исчислении предикатов. То же самое следует сказать о процессе вывода одних формул из других по соответствующим правилам исчисления. Отсюда становится ясным, что процесс вывода следствий в логике предикатов носит творческий характер, поскольку он требует догадки и интуиции. Другими словами, отсутствие алгоритма вовсе не исключает возможности поиска решения отдельных задач, для которых не существует общего метода решения. Творческий характер мышления проявляется именно при решении нестандартных проблем. Там, где есть алгоритмы, задачу можно программировать и использовать для ее решения компьютер, т.е., проще говоря, заменить рассуждение вычислением. Напротив, там, где нет разрешающей процедуры, или алгоритма, приходится строить догадки и гипотезы, проверять их и отбрасывать негодные, вновь и вновь пробовать и проверять, чтобы найти требуемое решение. В целях облегчения такого поиска существуют определенные эвристические методы, которые хотя и не гарантируют безошибочно верного результата, но могут в значительной мере приблизить к его достижению.
Одним из таких методов в исчислении предикатов является способ построения аналитических, или, точнее, аналитико-семантических таблиц. Этот метод основывается, во-первых, на рассуждении от противного, т.е. сначала допускается, что рассматриваемая формула является необщезначимой, или данная формула логически не следует из других. Затем доказывают, что такое допущение приводит к противоречию, и поэтому оно опровергается. Во-вторых, для такого рассуждения строится аналитическая таблица, каждая строка которой содержит определенный список формул. В первой строке таблицы записывается антитезис, означающий, либо отрицание общезначимой формулы А, либо некоторого следствия, т.е. допускается истинность его посылок A1, А2,..., An и ложность заключения (— В). Переход от одной строки таблицы к другой связан с преобразованием формул с помощью определенных правил редукции, опирающихся на семантический анализ смысла таких логических связок, как отрицание, конъюнкция, дизъюнкция, импликация, а также кванторов общности и существования. В-третьих, таблица считается замкнутой, если в некоторой ее строке в каждом списке формул встречается определенная формула С вместе с ее отрицанием —C. Полученное противоречие свидетельствует о том, что принятое допущение необоснованно и, следовательно, доказывает либо общезначимость исходной формулы A, либо правильность следствия В из посылок A1, A2,..., Аm, т.е. A1, А2,..., Аm | = В. Если же аналитическая таблица остается незамкнутой, то нельзя однозначно решить вопрос об общезначимости формулы А или логического следствия A1, А2,..., Аm | = В. Ведь подобный результат мог бы свидетельствовать не только о необщезначимости формулы и неправильности логического следствия, но и о том, что нам не удалось найти комбинацию формул, которая привела бы к замыканию таблицы.
Решающая роль при построении аналитической таблицы принадлежит правилам редукции, с помощью которых происходит переход от формул на строке n таблицы к следующей строке n + 1.
Правило конъюнкции (?). Допустим, что на одной строке таблицы мы имеем список формул: Г, А ? В, ?, где Г - последовательность формул, предшествующих конъюнкции, а д - последовательность формул, следующая за ней. Поскольку из истинности конъюнкции можно сделать вывод об истинности каждого ее члена, то всюду, где она встречается, вместо истинной конъюнкции можно переходить к ее членам. В результате можно перейти от некоторой строки n к строке n + 1, оставляя при этом остальные списки неизменными:
Правило дизъюнкции (?) разрешает перейти от строки, в которой встречается она, к другой, где вместо дизъюнкции встречаются два списка, в одном из которых находится один дизъюнктивный член, во втором - другой:
Это правило основывается на том, что дизъюнкция является истинной, если по крайней мере один из ее членов истинен, а поэтому при переходе от одной строки к другой мы получаем два списка, отделенных вертикальной чертой, в одном из которых встречается один член, во втором - другой.
Правило импликации (?) разрешает переходить от строки, где она встречается, к другой, в которой встречаются два списка формул, в одной из них содержится отрицание антецедента, в другой - консеквент импликации:
Действительно, импликация будет истинна, если ложен ее антецедент или истинен консеквент, что и представлено в заключении вывода.
Правило отрицания конъюнкции разрешает в заключении переходить к отрицанию конъюнктивных членов, поскольку отрицание конъюнкции означает отрицание этих членов.
Г, ¬ (А ?В)
Г, ¬ А, ? ¬ Г, ¬ В, ?
Правило отрицания дизъюнкции разрешает в заключении переходить от отрицания дизъюнкции к отрицательным членам дизъюнкции, ибо дизъюнкция является ложной только тогда, когда ложны все члены дизъюнкции:
Г, ¬ ( А ? В ), ?
Г, ¬ А, ¬ В, ?
Правило отрицания импликации разрешает в заключении переходить от отрицания импликации к утверждению ее антецедента и отрицанию консеквента, так как импликация оказывается ложной только тогда, когда антецедент истинен, а консеквент ложен:
Г, ¬ (А ? В), ?
Г, А, ¬ В, ?
Двойное отрицание в одной строке может быть заменено утверждением в другой:
Г, ¬ ¬ А, ?
Г, А, ?
Квантор существования, который стоит перед формулой А, указывает на наличие объекта, удовлетворяющего
А. Назовем этот объект константой к. Очевидно, что А(к) будет истинно, ибо к удовлетворяет условию А:
Г, (Е х ) А , ?
Г, А, (к), ?
Квантор общности, встречающийся перед формулой, свидетельствует о том, что формула (х) А истинна тогда и только тогда, когда каждый индивид из универсума рассуждения удовлетворяет условию А, Тогда истинной оказывается любая формула вида А (т), получающаяся путем замены всех свободных вхождений переменной на любой замкнутый терм:
Г, (х) А, ?
Г, (х) А, А(т), ?
Формула с квантором общности (х) А сохраняется для того, чтобы в дальнейшем можно было применить его к другим термам.
Более строгий подход к доказательству формул достигается с помощью аксиоматического построения исчисления предикатов. Для доказательства формул логики, как и для доказательства теорем геометрии, необходимо указать некоторые исходные формулы, которые принимаются в качестве аксиом. В принципе в качестве аксиом могут быть взяты любые тождественно истинные или общезначимые формулы, которые играют роль законов логики. Но обычно при выборе аксиом руководствуются разного рода дополнительными требованиями: простоты получаемой формальной системы, минимального числа аксиом, их интуитивной очевидности и т.п. Чтобы вывести из исходных формул новые формулы, т.е. доказать последние как теоремы логики, необходимо ясно и точно перечислить также правила вывода или доказательства. К их числу относится правило заключения по схеме modus ponens: из двух формул А и А ? В следует новая формула В. Кроме того, для получения новых формул используются различные правила подстановки. Например, свободная предметная переменная может быть заменена другой предметной переменной, если эта замена проводится одновременно на всех местах, где встречается свободная переменная. То же самое относится к переменной, обозначающей высказывание.
В качестве аксиом исчисления предикатов берутся, во-первых, аксиомы исчисления высказываний, во-вторых, к ним присоединяют две аксиомы, относящиеся к использованию кванторов общности и существования:
1) x v x ? x;
2) х ? (х v у);
3) (х v у) ? (у v х);
4) (х ? у) ? [z v х ? z v у].
К аксиомам, регулирующим использование кванторов, относятся:
5) (х) А (х) ? А (у);
6) В (у) ? (Ех) B (х).
Первая из них постулирует: если предикат А выполняется для всех х, то он выполняется также для какого-либо у. Вторая утверждает, что если предикат В, выполняется для какого-либо у, то существует х, для которого выполняется В.
Располагая аксиомами и правилами вывода формул из аксиом, можно доказывать различные формулы исчисления высказываний и предикатов. Таким образом, исчисление высказываний автоматически включается в состав исчисления предикатов. Поэтому вместо обращения к таблицам истинности можно получать общезначимые (или тождественно истинные) формулы с помощью аксиоматического метода. Такой метод используется для строгого построения логических исчислений и для формализации рассуждений.