А вообще в логике предикатов для меня наиболее темным местом остается распознавание субъектов и предикатов в предложении.Т.е. соотношение математической логики (оперирующей исходно с высказываниями и предикатами) и формальной логики (скажем для гуманитариев, философов, богословов), где все привязывается к фразе языка. Есть разные типы суждений обще- и частно- утвердительные, силлогизмы, даже логический квадрат... тип суждения определяет вид предикатов, т.е. в какой-то степени кванторы существования или единственности, входящую в формулу предложения. Интересно, каков должен быть алгоритм разбора предложения на предикаты и построения логической предикатной формулы. Это вроде задача лингвистики. Возможно алгоритм решения зависит от правил построения фраз языка на котором написано предложение (суждение).
Я преподавала логику для гуманитариев, и мы договаривались различать субъекты и предикаты следующим образом: субъект - это грамматическое подлежащее и все относящиеся к нему термины, а предикат - грамматическое сказуемое и все зависящие от него термины. Например, предложение "Нек-рые сдобные булочки не являются безумно вкусными" формализуется на языке КЛП следующим образом: субъект

-"сдобные булочки"; предикат

-"безумно вкусные" и при первом приближении у нас получается следующая логическая форма

Потом мы учились, в случае сложного субъекта или/и предиката, разбивать их на составные части (например в данном примере выраж. "сдобные булочки" можно разбить на два конъюнкта - "сдобный"и "вкусный"), но это у моих студентов был уже продвинутый уровень :))
-- Вс янв 16, 2011 14:39:23 --Не могу не встрять в дискуссию о пруверах: одно время у нас на кафедре было модно писать пруверы для различных исчислений. Мой собственный диссер был посвящен алгоритму для такого прувера и, соответственно, самому пруверу - для натуральных исчислений типа Куайна, к-рый работал в КЛВ и различных силлогистических системах (КЛВ расширялась до силлогистических исчислений). Хоть прувер получился рабочим и вполне эффективным, со студентами я все равно его очень мало использую (надо же их заставить самостоятельно овладевать исчислениями, а то прувер так и будет за них считать - причем студенты согласны со мной::) и считаю на нем сама - по мере необходимости
Кроме того, нижняя граница сложности алгоритма, лежащего в его основе, оказалась

, и на математической конференции, куда мы с прувером поехали, он был интеллегентно забракован и оставлен для решения задча для "малых и средних данных" - т.е. как раз для студентов, к-рые должны учиться решать сами::)
Т.о, написание автоматических генераторов доказательств - вещь неблагодарная.
Лучше писать интерактивные, обучающие пруверы, где требуется активное участие студиоза. Жаль, что такие пруверы - и очень хорошие- уже есть:))