Они противоречивы тогда, когда в обоих высказываниях речь идет об одинаковых классах сущностей S и Р. Галочкой в таблице отмечены те пары, для которых тип высказывания, стоящий в столбце, есть следствие того типа высказывания, которым отмечена строка таблицы.
Поэтому если, например, на вход базы фактов поступил факт Asp, а в базе до этого существовал факт Isp, то производится замена Isp на Asp. Если же в базе хранился факт Asp, а на вход поступил факт Isp, то вновь поступивший факт в базу не записывается. Высказывания с единичными сущностями всегда записываются в базу фактов, если проверка их на противоречивость прошла успешно. При проверке их на противоречивость, кроме случаев, показанных в табл. 2, анализируется еще случай возникновения двух высказываний «a есть Р» и «a не есть Р», касающихся одного и того же a.
Какие решения принимает система, если она обнаруживает противоречие между вновь поступившим фактом и теми, которые до этого хранились в базе фактов? Какому из двух выявившихся противоречивых фактов система должна верить?
На эти вопросы практически нет ответа. Возможные альтернативы: хранение всех фактов при условии, что противоречивые факты относятся к различным возможным мирам; исключение этой пары фактов из базы фактов, так как в системе нет средств для определения предпочтительности истинности того или иного факта; привлечение дополнительной информации для выбора из двух противоречащих фактов одного, истинность которого обоснована больше.
Поясним эти альтернативы на следующем примере. Пусть в базе фактов хранился факт Asp: «Всякие лошади не есть летающие существа». И пусть на вход базы фактов поступили новые факты «Пегас есть лошадь» и «Пегас есть летающее существо». Эти факты входят в противоречие с ранее имевшимся фактом о том, что лошади не летают. Принятие первой альтернативы заключается в том, что класс сущностей с именем «лошади» делится на два класса с именами «лошади, которые не есть Пегас» и «пегасы». В качестве единичных сущностей первого класса выступают те конкретные сущности, о которых системе было известно ранее (если их в системе не было, то класс «лошади» не имеет в системе конкретных представителей). В качестве единичной сущности класса «пегасы» выступает тот Пегас, который был упомянут в поступившем в систему сообщении. Факт Asp сохраняется с учетом, что S есть имя класса «лошади, которые не есть Пегас», и вводится высказывание Aq
, в котором Q есть имя класса сущностей «пегасы».При выборе второй альтернативы система должна будет стереть из базы фактов информацию о классе сущностей «лошади» или убрать из нее факт Asp. Обе эти возможности осуществить не так просто. Если производится удаление какой-то части базы фактов, то необходимо удалить и все те факты, которые прямо не связаны с классом сущности «лошади», но при образовании которых при силлогистическом выводе использовались факты, связанные с лошадьми. Ведь следы прямого упоминания класса «лошади» при таком выводе могут исчезнуть, если класс «лошади» в силлогистической фигуре занимал позицию М. Поэтому вторая альтернатива всегда требует глобальной перепроверки всех фактов, хранимых в базе, а на это уходит немалое время.
Наконец, если используется третья альтернатива, то система может, например, не воспринять факт, касающийся Пегаса, зная из каких-то побочных источников, что в памяти хранятся лишь факты, относящиеся к области коневодства, и что Пегас не является именем конкретной сущности.
Кроме чистого противоречия, выявить которое принципиально несложно, при вводе нового факта в базу фактов приходится сталкиваться и с проблемами пресуппозиции. Эти проблемы занимали важное место в исследованиях средневековых логиков. Они связаны, в частности, с тем, что истинность некоторого факта неразрывно связана с истинностью некоторых других фактов. Особенно это касается фактов, описывающих динамику событий во внешнем мире. Если, например, в систему поступает факт «Петров заболел», то после приведения его к нормальной форме мы будем иметь: «Петров тот, кто есть больные люди». Этот факт можно ввести в память системы, но при этом сама истинность этого факта предполагает, что некоторое время тому назад был истинен другой факт: «Петров тот, кто не есть больные люди». Этот факт, вытекающий из явления пресуппозиции, формально противоречит вновь вводимому факту. Здесь мы сталкиваемся со случаем третьей альтернативы. Из двух противоречивых фактов надо убрать из памяти системы первый, а второй записать в нее. С тем же явлением пресуппозиции связан и факт введения новых классов сущностей, о которых известно системе. Факт «Петр дал Ивану билет на поезд» по принципу пресуппозиции порождает совокупность высказываний вида: «Петр существует» или «Петр есть человек», «Иван есть человек», «Иван обладает билетом» или «Иван тот, кто есть люди, обладающие билетом» и т.п.
Продолжим обсуждение работы системы, структура которой показана на рис. 18. Возможны два режима работы системы: режим пополнения базы фактов и режим доказательства теоремы. В первом случае происходит добавление в базу фактов всех тех фактов, которые с помощью силлогистического вывода получаются из вновь введенного факта, и всех фактов, ранее хранившихся в базе фактов. Во втором случае формулируется теорема в виде вопроса о возможности вывода факта, поступившего на вход системы, из фактов, хранящихся в базе фактов. В процессе вывода блок формирования совместимых посылок выбирает из базы фактов пары посылок, которые образуют одну из четырех фигур силлогизма, т.е. посылок, сцепленных между собой общим классом сущностей М.
После нахождения такой пары она передается в блок формирования заключения. В этом блоке проверяется возможность вывода, т.е. возможность того, что пара типов посылок в данной фигуре силлогизма образует правильный модус. Если правильный модус не образуется, то вырабатывается требование на поиск новой пары посылок. Если же вывод возможен, то его результат сравнивается с высказыванием, являющимся целью доказательства теоремы. Если полученное заключение есть искомое высказывание, то процесс доказательства обрывается и результат, говорящий о том, что теорема верна, выдается из системы. Если этого не произошло, то полученное заключение добавляется в базу фактов и процесс поиска доказательства продолжается.
В рассмотренной процедуре возникает проблема остановки. Если нужный факт не выводится из той системы посылок, которая имеется в базе фактов, то как это узнать? Единственный возможный ответ связан с полным перебором всех сочетаний посылок, дающих фигуры силлогизма. Это же касается и случая прекращения процесса пополнения базы фактов после введения нового факта в систему.
Суммируя все сказанное, необходимо отметить, что, несмотря на внешнюю простоту процедуры вывода в силлогистике, в ней, как в капле воды, отражаются все те трудности, которые связаны с поиском вывода. Прежде всего это трудности понимания поступающих в систему сообщений, истолкования их в терминах, понятных на уровне внутреннего языка (в нашем случае это необходимость в процедурах нормализации сообщений). Затем это ряд трудностей, вызываемых процедурами проверки поступающего сообщения на согласованность содержащейся в нем информации с той информацией, которая ранее хранилась в памяти системы. Это трудности поиска, не опирающегося на какую-то цель, или при известной цели (в случае доказательства теоремы) не опирающегося на какие-либо соображения о путях движения по дереву вывода. Наконец, это трудности, связанные с прекращением процедур вывода и формированием отрицательного ответа на поставленный перед системой вопрос о выводимости.
Все эти трудности в той или иной форме будут присущи и другим системам моделирования человеческих рассуждений, ибо они являются принципиальными для всех формальных систем, частным случаем которых является силлогистика Аристотеля.