УДК 004.021 Дата подачи статьи: 02.04.19
DOI: 10.15827/0236-235X.128.556-564 2019. Т. 32. № 4. С. 556-564
Метод трансляции первопорядковъх логических формул в позитивно-образованные формулы
А.В. Давыдов 1, научный сотрудник,, [email protected]
А.А. Ларионов 1, программист, [email protected]
Е.А. Черкашин 1, старший научный сотрудник, [email protected]
1 Институт динамики систем и теории управления им. В.М. Матросова СО РАН, г. Иркутск, 664033, Россия
В статье рассматриваются логическое исчисление позитивно-образованных формул (ПОФ-исчис-ление) и построенный на его основе метод автоматического доказательства теорем. ПОФ-исчисление впервые появилось в работах академиков РАН С.Н. Васильева и А.К. Жерлова в результате рассмотрения и решения задач теории управления и было описано как логический формализм первого порядка. Имеются примеры описания и решения задач теории управления, эффективно (с точки зрения выразительности языка и производительности средств доказательств теорем) решенных с помощью ПОФ-исчисления, например, управление группой лифтов, наведение телескопа на центр планеты, находящейся в неполной фазе, управление мобильным роботом. ПОФ-исчисление выгодно отличается от возможностей других, логических, средств формализации предметной области и поиска логических выводов выразительностью в сочетании с компактностью представления знаний, естественным параллелизмом их обработки, крупноблочностью и меньшей комбинаторной сложностью выводов, высокой совместимостью с эвристиками и широкими возможностями для интерактивного доказательства. В выделенном классе формул возможно построение конструктивного доказательства. Данный класс формул существенно шире класса хорновских дизъюнктов, используемых в языке Пролог: на логическую формализацию аксиоматической базы предметной области не накладываются никакие ограничения, а целевое утверждение - это конъюнкция запросов (в смысле языка Пролог).
Для тестирования программной системы автоматического доказательства теорем (прувера), основанной на ПОФ-исчислении, использовалась библиотека задач TPTP (Thousands of Problems for Theorem Provers). Формат, в котором представлены задачи TPTP (называемые проблемами), де-факто стал стандартом среди сообщества, изучающего автоматизацию рассуждений. Возникает естественная необходимость в том, чтобы разрабатываемый прувер принимал на вход задачи в этом формате. Таким образом, возникла задача трансляции формул логики предикатов первого порядка, представленных в формате TPTP, в формат ПОФ. Эта задача нетривиальна из-за особой структуры формул ПОФ-исчисления.
В данной работе предложены более эффективный (в сравнении с ранее разработанным алгоритмом в первой реализации системы автоматического доказательства теорем для ПОФ-исчисления) метод трансляции формул первопорядкового языка исчисления предикатов с сохранением исходной эвристической структуры знаний и его упрощенная версия для задач, представленных на языке дизъюнктов. Под эффективностью понимаются количество шагов и длина получаемых формул. Предложенный метод был реализован в виде программной системы - транслятора языка первопорядковых логических формул в формате ТРТР в язык ПОФ. Приведены результаты тестирования разработанного метода, которые позволяют сделать вывод о том, что существует определенный класс первопорядковых формул, не принимаемый во внимание как особый существующими системами автоматического доказательства теорем, в то время как в ПОФ-исчислении для данного класса формул существуют специальные стратегии, повышающие эффективность поиска вывода.
Ключевые слова: математическая логика, автоматическое доказательство теорем, алгоритмы трансляции.
Сегодня активно развиваются автоматическое доказательство теорем (АДТ) и его приложения, о чем свидетельствуют, например, работы ежегодной конференции CADE, на секции System description которой или представляются новые системы для АДТ, или показывается развитие ранее разработанных.
В данной статье рассматриваются логическое исчисление позитивно-образованных формул (ПОФ-исчисление) и построенный на его основе метод АДТ. ПОФ-исчисление выгодно отличается от возможностей других, логических, средств формализации предметной области и поиска логических выводов вырази-
тельностью в сочетании с компактностью представления знаний, естественным параллелизмом их обработки, крупноблочностью и меньшей комбинаторной сложностью выводов, высокой совместимостью с эвристиками и более широкими возможностями для интерактивного доказательства. В выделенном классе формул возможно построение конструктивного доказательства. Данный класс существенно шире класса хорновских дизъюнктов, используемых в Прологе: на логическую формализацию аксиоматической базы предметной области не накладывается никаких ограничений, а целевое утверждение - это конъюнкция запросов в смысле языка Пролог.
Понятие ПОФ-исчисления появилось в работах в результате описания и решения задач теории управления [1, 2]. ПОФ-исчисление описано в них как логический формализм первого порядка; приводятся примеры описания и решения задач теории управления, эффективно (с точки зрения выразительности языка и производительности средств доказательств теорем) решенных с помощью ПОФ-исчисления, например, управление группой лифтов, наведение телескопа на центр планеты, находящейся в неполной фазе, управление мобильным роботом, а также доказательства корректности и полноты исчисления.
Для тестирования программной системы АДТ [3], основанной на ПОФ-исчислении, использовалась библиотека задач TPTP (Thousands of Problems for Theorem Provers) [4]. Формат, в котором представлены задачи TPTP (называемые проблемами), де-факто стал стандартом среди сообщества, изучающего автоматизацию рассуждений. На сайте библиотеки TPTP представлены многие системы АДТ, например, имеющая более чем двадцатилетнюю историю система Vampire [5] или одна из новых систем Scavenger [6] и др. А в работе [7] рассматривается программа-конвертер из формата SMT-LIB в формат TPTP. Появляется естественная необходимость в том, чтобы разрабатываемый прувер принимал на вход задачи в этом формате. Таким образом, возникла необходимость трансляции формул логики предикатов первого порядка, представленных в формате TPTP, в формат ПОФ. Эта задача нетривиальна из-за особой структуры формул ПОФ-исчисления.
В данной работе предложен более эффективный (в сравнении с ранее разработанным алгоритмом в первой реализации системы автоматического доказательства теорем для
ПОФ-исчисления [8]) метод трансляции. Под эффективностью понимаются количество шагов и длина получаемых формул. Приведены результаты тестирования разработанного метода, которые позволяют сделать вывод о том, что существует определенный класс первопо-рядковых формул, не принимаемый во внимание как особый системами АДТ, в то время как в ПОФ-исчислении для данного класса формул есть специальные стратегии, повышающие эффективность поиска вывода. Использование специальных стратегий вывода является перспективным направлением в области АДТ, в частности, в работе [9] приводится язык стратегий для прувера Isabelle/HOL.
Предварительные определения. Будем говорить о языке первопорядковых логических формул (ПЛФ), построенных на основе атомарных формул с помощью связок &, V, —I, — кванторов V, 3 и констант True, False. Понятия «терм», «атом», «литера» определяются обычным образом.
Пусть X = {х1, ..., xk} - множество переменных, A = {A1, ..., Am} - множество атомарных формул, F = {F1, ., F„} - множество подформул. Тогда формулы
((Vx1).(Vxk)(A1 &.& Am — (F1 V. vFn))), ((3x1) .. .(3xk)(A 1 &.& Am & (F1 &. &Fn))) будем обозначать как VXA:F и 3.jA:F соответственно, имея в виду, что V-квантор соответствует —Fv, где Fv означает дизъюнкцию всех подформул из F, а 3-квантор соответствует —F&, где F& означает конъюнкцию всех подформул из F.
Если F = 0, формулы имеют вид VXA: 0 = = VxA — False и 3xA:0 = 3xA & True, так как дизъюнкция пустого количества элементов соответствует False, в то время как конъюнкция пустого количества элементов соответствует True. Будем записывать такие формулы, соответственно, VxA и 3x4. Если X = 0, тогда VA:F и 3A:F также являются сокращением.
Множество атомов A называется конъюнктом. Еще раз отметим, что пустой конъюнкт эквивалентен True.
Переменные из X связаны соответствующими кванторами и называются соответственно V-переменными и 3-переменными. В VXA переменные из X, которые не встречаются в конъюнкте A, называются неограниченными переменными.
Конструкции VXA и 3.х4 называются позитивными типовыми кванторами. Поскольку A является конъюнкцией только лишь положи-
тельных атомов, эту конъюнкцию также называют типовым условием для X. На практике такие конструкции обозначают, например, фразы: «для любого X, удовлетворяющего A, следует...», «существует X, удовлетворяющее условию A, такое что.» или «Для всех целых чисел х, y, z и n > 2 выполнимо xn + yn Ф zn». Изначально термин «типовый квантор» был предложен Николя Бурбаки как часть обозначений для формализации математики, однако типовые кванторы оказались применимыми и в других областях.
Язык ПОФ
Определение ПОФ. ПустьX- множество переменных, A - конъюнкт.
• 3xA и VxA называются 3-ПОФ и V-ПОФ соответственно.
• Если F = {Fi, ..., Fn} является V-ПОФ, тогда 3xA :F будет называться 3-ПОФ.
• Если F = {Fi, ..., Fn} является 3-ПОФ, тогда VxA:F будет называться V-ПОФ.
• Всякая 3-ПОФ и V-ПОФ будет называться ПОФ.
Такое представление логических формул называется ПОФ, так как они записываются только с помощью позитивных типовых кванторов. Формулы не содержат знак отрицания в явном виде. Любая ПЛФ может быть представлена в виде ПОФ [2]. Таким образом, ПОФ есть особая форма записи классических формул языка предикатов подобно КНФ, ДНФ и др.
Те ПОФ, которые начинаются с V0, называются ПОФ в канонической форме. Любая ПОФ может быть приведена к канонической. Пусть F - это 3-ПОФ, тогда формула V0: F = = True ^ F = F. Если F - это неканоническая V-ПОФ, тогда V0: {30: F} = True ^ {True & & F} = F. Типовые кванторы V0 и 30 называются фиктивными, так как они не влияют на истинностное значение исходной ПОФ, а только служат конструкциями, сохраняющими корректную запись ПОФ.
Для удобства читаемости формул будем представлять их в древовидной форме. Запись QxA :{Fi, ..., Fn} эквивалентна
Г'
QXA<-, F
n
где Q - некоторый квантор. Элементы дерева называются как обычно: узел, корень, лист, ветвление и т.д. Поскольку V-кванторы соот-
ветствуют дизъюнкциям подформул {F1, ..., Fn}, а кванторы 3 соответствуют конъюнкции, все V-узлы соответствуют дизъюнктивному ветвлению, а 3-узлы конъюнктивному.
Некоторые части канонической ПОФ будем называть следующим образом:
- корень ПОФ V0 называется корнем ПОФ;
- каждый непосредственный последователь 3XA корня ПОФ называется базой; конъюнкт A называется базой фактов; ПОФ, корнем которой является база, называется базовой подформулой;
- каждый непосредственный последователь VYB базы ПОФ называется вопросом к своей базе; если вопрос является листом дерева, то он называется целевым вопросом;
- поддеревья вопросов называются консек-вентами; пустая консеквента эквивалента False.
Пример. Рассмотрим ПОФ-представление некоторой ПЛФ:
F = -i(Vx3y P(x, y) ^ 3z P(z, z)).
Образом F в языке ПОФ является F '=V: 0 { Vx: 0 { 3y :P(x, y)}, Vz:P(z, z){3:False}}.
Последняя ПОФ в древовидной форме имеет следующий вид:
[Vx : 0-3y : P (x, y), [Vz : P(z, z) -3 : False.
Описание шагов метода трансляции. Метод трансляции состоит из следующих шагов.
Шаг 1. Преобразование задачи TPTP в ПЛФ. Полученная ПЛФ представляет собой отрицание конъюнкции всех формул, входящих в аннотированные формулы. Отрицание производится с той целью, что система АДТ опровергает отрицание исходной формулы, тем самым подтверждая ее доказуемость.
Шаг 2. Удаление связок , снятие двойного отрицания и применение законов де Моргана. Пусть F (возможно, с индексом) - произвольная неатомарная ПЛФ, A - атомарная ПЛФ. Тогда имеем правила преобразований (назовем эту группу преобразований Tr 1), представленные в таблице 1.
Шаг 3. Уплощение конъюнкций и дизъюнкций.
Пусть •£ {v, &}. Правило уплощения дизъюнкций и конъюнкций flat.
Пусть F = где Ci =
= (Cii • . О, тогда Fflat = Gi •... •Gn & Cii • .
•C1k1 •... ^Cmi •... •Cmkm.
V : 0-3 :
Правила преобразования Tr1 Tr1 transformation rules
Таблица 1 Table 1
№ Исходная формула Результирующая формула
1 рТг1
2 -(Р ^ Р2) Р1ТГ1&-Р2ТГ1
3 О Р2) (-(Р ^ Р2))ТГМ-(Р2 ^ Р))™
4 -(Р&.&Рп) (-Fl)Tr1v.v(-Fи)Tr1
5 (-р1)Тг1&...&(-Рп)ТГ1
6 ^хР 3х(-Р)Тг1
7 -3хР Vх(-F)Tr1
8 -А -А
9 р1 ^ р2 (-Fl)Tr1vF2Tr1
10 р1 О р2 (-р1^2)Тг1&№^1)Тг1
11 Р1&...&РП РlTr1v...vРnm
12 РT1v...vРnm
13 VхР Vх(F)TЛ
14 3хР 3х(РТг1
Смысл «уплощения» хорошо виден, если формулу представить синтаксическим деревом. Например, следующие требования эквивалентны:
V х - &
F
&
F
и Vx - &
Fi G, G.
(Л
Шаг 4. Трансляция ПЛФ в ПОФ. Пусть О (возможно, с индексами) есть некоторая ПЛФ, а А (возможно, с индексами) - атомарная ПЛФ.
Введем еще одно обозначение. Пусть Р, Q е (V, 3}, Р Ф Q, а С - некоторый конъюнкт, тогда:
рв = [Т,если Т = : СФ,
[е : 0(Т), если Т = Рх : СФ.
Правила преобразования Тг2 можно представить в виде таблицы 2. Правило уплощения позволяет ограничить, насколько это возможно, применение правил 13 и 14, которые приводят к появлению фиктивных кванторов.
Шаг 5. Правило сокращения.
В получаемой формуле возникают узлы с фиктивными кванторами V0 и 30, кроме этого, могут возникнуть излишние ветвления, плохо влияющие на дальнейший поиск логического вывода. Следующее правило позволяет максимально сократить получаемое дерево.
Правила преобразования Tr2 Tr2 transformation rules
Таблица 2 Table 2
2
№ ПЛФ ПОФ
1 3x3 yG (3x,YGf2
2 3XVYG ^x:0(VYG)rr2
3 3xG1&...&3xG„&A1...&Am 3xA\&...&Am(G\rr2)V, ..., (G„Tr2)V
4 3xG\V. . ,V3xG„V-A\ ..v-Am 3x:0VA\&...&Am(G\Tr2)3, ..., (G„Tr2)3
5 3x-A 3x:0(VA)
6 3xA 3xA
7 Vx3yG Vx:0(3YG)Tr2
8 VxVyG (Vx,YG)Tr2
9 VxG1& .&VxG„&A: .&Am Vx:03A\&...&Am(G\Tr2)V, ..., (G„Tr2)V
10 VxG\ V . VVxG„V-A \... v-Am Vx^\&.&Am(G\Tr2)3, ..., (G„Tr2)3
11 Vx-A VxA
12 VxA Vx:0(3A)
13 G\&...&G„ 3:0(G\Tr2)V, ..., (G„Tr2)V
14 G\v...VG„ V:0(G\Tr2)3, ..., (G„Tr2)3
15 -A VA
16 A 3A
Если в некоторой ПОФ F
QC <
QxA
РБ
Ф
Т
P, Q е (V, 3}, P Ф Q, C, B - конъюнкты, удовлетворяющие условию C с B, то F эквивалентна F, имеющей следующий вид:
'Ру2В,Д -
вуЛ-
Рт^В, Д -Фк и^ Ф
Представленное правило нуждается в доказательстве.
Пусть конъюнкт C имеет вид С1 & ... & Ст. Если C с B, то B = В' & C1 & ... & Cm, где B' -некоторый, возможно, пустой конъюнкт. Переведем ПОФ F в язык исчисления предикатов. В случае, если F начинается с квантора V:
F = VXA ^(Фv37(T&B(^Cv3гl(Dl&Фl)v. V (А&Фк)))).
При раскрытии скобок получаем дизъюнкцию конъюнкций, одна из которых
&( —.С1 v...—1С") = Раке, то есть является несущественной.
Поэтому F=V*A^(Фv3Y3л(B&A&¥&Фl)v . v (В&Бк&У&Фк)), что при переводе в ПОФ-представление имеет вид, совпадающий с F .
Если F начинается с квантора 3, то после перевода в язык исчисления предикатов получаем: 3ХА&Ф&
Распишем выражение в скобке:
Устраняем импликацию и группируем дизъюнктивные элементы в отдельную скобку:
V...V —1С" VVС1 &... &С" &(Д Ф,)&...&У21 (Д Фк)).
Применяя закон дистрибутивности, получаем:
''(-.В^-.С1 v...v-lC" v^í'vC1)&... ^
v...v-lC" v^í'vC")& v...v-lC" v^í'vV_-(Д -»Ф^Л... v...v-lC" v^í'vVZl(Д -»Ф^))
В первых n скобках присутствует тавтология —Civ—Ci, поэтому
' True &... & True & (-,5 v Y v Vz (Д ^ Ф1))&...Л
= V,.VZi (-,(5&D1)v4/v®1)&...
To есть
F = 3Д.Л&Ф&V}.VZ] ((5&D1)^(4/v®1))&...
что при переводе в ПОФ-представление имеет вид, совпадающий с F .
Доказательство завершено.
В библиотеке TPTP, кроме задач в классическом первопорядковом представлении, достаточно большое количество задач представлено в виде множеств дизъюнктов, задачи приведены в скулемовской стандартной форме и восстановить их первоначальную формализацию проблематично. Для перевода задач, представленных в виде множеств дизъюнктов, в которых отсутствуют переменные, связанные кванторами существования, достаточно воспользоваться приведенной ниже формулой. Объединим дизъюнкты некоторого множества S в классы C1, C2, C3, C4, которые представляются следующим образом:
• С1 = {Cj1, • • •, С1} - множество единичных
жительных дизъюнктов;
. c2={cf,...,c,;} множество положи-
тельных дизъюнктов, то есть
C2
v L* i= 1 '
V/ = 1, п2, где Ь,. 1 - положительные литеры, к > 1 - количество литер в соответствующих дизъюнктах, обозначим через X^ множество
переменных, встречающихся в дизъюнкте С2 ;
• С3 = {С3,...,С3 } - множество отрицатель-
к/ з
ных дизъюнктов, то есть С3 = v —Ь.1,
1 ¡=1 '
V/ = 1, пъ, где Ь31 - положительные литеры, к > 1 - количество литер в соответствующих дизъюнктах, обозначим через X3 множество
переменных, встречающихся в дизъюнкте С3 ;
• С4 = {С4,...,С4 } - множество дизъюнктов, содержащих и положительные, и отрица-
"/ 4 к' 4
тельные литеры, то есть С4 = v — Ь1 v v Ь/ ,
1 '=1 ' ' = 1
PzD -ф k
k
V/ = 1, и4, где ' - положительные литеры, т¡- > 0, к] > 0 - количество отрицательных и положительных литер в соответствующих дизъюнктах, обозначим через X* множество переменных, встречающихся в дизъюнкте С4 .
ПОФ, соответствующая упорядоченному таким образом множеству дизъюнктов, будет иметь вид:
.....4
sei.....с;
-3V- ,
ms+l
г, ■ ■ ■ , -Li
V 2 :0
3L2 "
Ур = 1, щ, Уг = 1, щ, V.? = 1, щ . То есть итоговая
формула будет содержать п подформул, соответствующих дизъюнктам класса С2, п3 подформул класса С3, П4 подформул класса С4.
Тестирование. Для систем АДТ важно время, затраченное на решение задачи. Поскольку разработанный транслятор (включая синтаксический анализатор) планируется использовать в системе АДТ для ПОФ-исчисле-ния, эффективность трансляции также важна.
Эффективность работы программы в целом может зависеть от двух факторов: качества генерируемого кода компилятором (либо скорости исполнения интерпретатором) и качества используемых алгоритмов.
Важными характеристиками полученной в результате трансляции ПОФ являются количество узлов в древовидном представлении ПОФ и количество фиктивных кванторов. Поэтому процедура трансляции ПЛФ в ПОФ состоит из
нескольких шагов, часть из которых направлены на уменьшение количества узлов и фиктивных кванторов. Исходная эвристическая структура ПЛФ сохраняется благодаря тому, что сохраняются кванторы V и 3 и их исходный порядок следования (в отличие от процедуры скулемизации, используемой для получения КНФ, устраняющей кванторы 3 и вносящей в формулы дополнительные термы).
Алгоритм трансляции написан на языке Rust [10]. Тестирование разработанных алгоритмов производилось на задачах из библиотеки TPTP. Использовался компьютер MacBookPro с процессором 2,3 GHz Intel Core i7 и оперативной памятью 8 GB 1 600 MHz DDR3.
Всего было отобрано 6 817 задач, по которым собиралась статистика. Количество задач, для которых ПЛФ-представление содержит меньше узлов, чем ПОФ-представление, равно 1 169. В таблице 3 представлены 10 таких задач. Количество задач, для которых ПОФ-представление содержит меньше узлов, чем ПЛФ-представление, равно 5 648, 10 из них приведены в таблице 4. В таблице 5 показаны 5 наиболее трудоемких для трансляции задач.
Кроме того, не обнаружено никакой зависимости между рейтингом задачи и наличием в ней неограниченных переменных в ПОФ-пред-ставлении данной задачи. Этот факт говорит о том, что для систем АДТ, основанных на методе резолюций, не имеет значения, содержит ли формализация задачи неограниченные переменные. Однако для метода АДТ, основанного на ПОФ-исчислении, отсутствие неограниченных переменных заметно улучшает эффективность поиска логического вывода. Поэтому с помощью ПОФ-исчисления естественным об-
3L2 '
p
Таблица 3
Задачи, в которых узлов в ПОФ больше чем в 2 раза по сравнению с ПЛФ
Table 3
The tasks with twice more nodes in positively constructed formulas comparing with first-order logic formulas
Задача TPTP Узлов в ПЛФ Связок в ПЛФ Узлов в ПОФ Время трансляции (сек.)
HWV097+1.p 66 290 57 069 136 382 0.5405
LCL181+1.p 6 5 13 0.0014
SET047+1.p 8 4 23 0.0003
SET194+3.p 20 11 41 0.0004
SET577+3.p 28 17 57 0.0005
SET580+3.p 25 16 55 0.0004
SET624+3.p 23 14 47 0.0004
SET788+1.p 8 4 22 0.0003
SEU142+1.p 26 16 54 0.0005
SEU149+1.p 22 14 46 0.0001
Таблица 4
Задачи, когда узлов в ПЛФ больше чем в 5 раз по сравнению с ПОФ
Table 4
The tasks with five times more nodes in first-order logic formulas comparing with positively constructed formulas
Задача TPTP Узлов в ПЛФ Связок в ПЛФ Узлов в ПОФ Время трансляции (сек.)
AGT024+2.p 1105 1071 182 0.0147
AGT025+2.p 1105 1071 182 0.0125
GEO301+1.p 2603 2077 516 0.0149
GEO302+1.p 2604 2078 516 0.015
GRA026+1.p 66 60 12 0.0006
LCL648+1.001.p 16 12 2 0.0007
LCL649+1.001.p 17 13 3 0.0016
Наиболее трудоемкие для трансляции задачи The most time-consuming translation tasks
Таблица 5 Table 5
Задача TPTP Узлов в ПЛФ Связок в ПЛФ Узлов в ПОФ Время трансляции (сек.)
HWV067+1.p 356879 356875 209006 25.6
HWV061+1.p 492486 492482 251387 20.6
HWV133+1.p 2141861 2000646 4174817 19.6
SEU418+4.p 831581 655928 391496 6.78
SEU419+4.p 831605 655943 391510 6.33
разом выделяется такой особый класс формул, вывод которых можно построить быстрее, чем методом резолюций.
Заключение
В работе приводится краткое описание языка ПОФ и рассматриваются вопросы их обработки перед запуском автоматических алгоритмов поиска вывода. Представлен метод пре-
образования ПЛФ в язык ПОФ в виде эффективных алгоритмов обработки первопорядко-вых формул.
Разработанные алгоритмы сохраняют исходную эвристическую структуру знаний, представленных формулами языка исчисления предикатов. Рассмотрены вопросы преобразования формул языка дизъюнктов в язык ПОФ, и предложен упрощенный алгоритм для трансляции таких задач.
Работа выполнялась при поддержке РФФИ, проект № 16-29-04238офи м.
Литература
1. Vassiliev S.N. Machine synthesis of mathematical theorems. J. Logic Program., 1990, vol. 9, no. 2-3, pp. 235-266.
2. Васильев С.Н., Жерлов А.К., Федунов Е.А., Федосов Б.Е. Интеллектное управление динамическими системами. М.: Физматлит, 2000. 352 с.
3. Cherkashin E.A., Davydov A.V., Larionov A.A. Calculus of positively-constructed formulas, its features strategies and implementation. Proc. 36-th Intern. Convent. MIPRO 2013/CIS, Chroatia, Opatija, 2013, pp. 1289-1295.
4. Sutcliffe G. The TPTP problem library and associated infrastructure. The FOF and CNF parts, v3.5.0. J. Autom. Reason., 2009, vol. 43, no. 4, pp. 337-362. DOI: 10.1007/s10817-009-9143-8.
5. Kovacs L., Voronkov A. First-order theorem proving and Vampire. Proc. 25th Conf. CAV, LNCS, 2013, vol. 8044, pp. 1-35. DOI: 10.1007/978-3-642-39799-8_1.
6. Itegulov D., Slaney J., Woltzenlogel Paleo B. Scavenger 0.1: A theorem prover based on conflict resolution. In: de Moura L. (eds.). Proc. 26th Conf. CADE, LNCS, 2017, vol. 10395, pp. 344-356. DOI: 10.1007/978-3-319-63046-5 21.
7. Baumgartner P. SMTtoTPTP - a converter for theorem proving formats. Proc. 25th Intern. Conf. CADE, LNCS, 2015, vol. 9195, pp. 285-294.
8. Черкашин Е.А. Программная система «КВАНТ/1» для автоматического доказательства теорем. Иркутск: Изд-во ИДСТУ СО РАН, 1999. 16 с.
9. Nagashima Y., Kumar R. A proof strategy language and proof script generation for Isabelle/HOL. Proc. 26th Conf. CADE, LNCS, 2017, vol. 10395, pp. 528-545. DOI: 10.1007/978-3-319-63046-5_32.
10. Rust Programming Language. URL: www.rust.org (дата обращения: 25.03.2019).
Software & Systems Received 02.04.19
DOI: 10.15827/0236-235X.128.556-564 2019, vol. 32, no. 4, pp. 556-564
The method for translating first-order logic formulas into positively constructed formulas
A.V. Davydov 1, Research Associate, [email protected] A.A. Larionov 1, Programmer, [email protected] E.A. Cherkashin 1, Senior Researcher, [email protected]
1 Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of Russian Academy of Sciences, Irkutsk, 664033, Russia
Abstract. The paper considers the logic calculus of positively constructed formulas (PCF calculus) and based on it automated theorem proving (ATP) method. The PCF calculus was developed and described as a first-order logic formalism in works of S.N. Vassilyev and A.K. Zherlov as a result of formalizing and solving problems of control theory. There are examples of describing and solving some control theory problems, effectively (from the point of view of the language expressiveness and the theorem proving means efficiency) solved using PCF calculus, for example, controlling a group of lifts; directing a telescope at the planet center, which is in an incomplete phase, and mobile robot control.
Comparing to the capabilities of other logical means for subject domain formalization and logic conclusion search, the PCF calculus have the advantage of the expressiveness combined with the compactness of knowledge representation, the natural parallelism of their processing, large block size and lower combinatorial complexity of conclusions, high compatibility with heuristics, and great capabilities for interactive proof. The selected class of formulas makes it possible to build constructive proofs. This class of formulas is much wider than the class of Horn clauses used in the Prolog. There are no restrictions in the logical formalization of the axiomatic base of the subject domain, and the target statement is a conjunction of queries (in terms of the Prolog).
To test the ATP software system (prover) based on the PCF calculus the authors used the TPTP (Thousands of Problems for Theorem Provers) library. The TPTP format has become a standard in the community that studies automated reasoning. There is a natural need for the developed prover to accept problems in this format as input. Thus, the problem of translating the first-order predicate logic formulas presented in the TPTP format to the POF format arises. This problem is nontrivial due to the special structure of the PCF calculus formulas.
The paper proposes a more efficient translation method (compared to the previously developed algorithm in the first implementation of the prover based on the PCF calculus) for the first-order predicate calculus language preserving the original heuristic knowledge structure, and its simplified version for the problems presented in language of clauses. The efficiency is a number of steps and the length of the obtained formulas. The proposed method was implemented as a software system - a language translator of first-order TPTP logic formulas to the PCF calculus language. The paper presents test results of the developed method, which imply that there is a certain class of first-order formulas that are not taken into account as special by existing ATP systems, while the PCF calculus has special strategies that increase the efficiency of the inference search for such class of formulas.
Keywords: mathematical logic, automated theorem proving, translation algorithms.
Acknowledgements. The work has been supported by the RFBR, project no. 16-29-04238o$u_m.
References
1. Vassiliev S.N. Machine synthesis of mathematical theorems. J. Logic Program. 1990, vol. 9, no. 2-3, pp. 235-266.
2. Vassilyev S.N., Zherlov A.K., Fedunov E.A., Fedosov B.E. Intelligent Control of Dynamic Systems. Moscow, Fizmatlit Publ., 2000, 352 p.
3. Cherkashin E.A., Davydov A.V., Larionov A.A. Calculus of positively constructed formulas, its features: strategies and implementation. 36th Intern. Convent. MIPRO 2013/CIS. 2013, Chroatia, Opatija, 2013, pp. 1289-1295.
4. Sutcliffe G. The TPTP problem library and associated infrastructure. The FOF and CNF parts, v3.5.0. J. of Automated Reasoning. 2009, vol. 43, no. 4, pp. 337-362. DOI: 10.1007/s10817-009-9143-8.
5. Kovacs L., Voronkov A. First-order theorem proving and Vampire. Proc. 25th Conf. CA V, LNCS, 2013, vol. 8044, pp. 1-35. DOI: 10.1007/978-3-642-39799-8_1.
6. Itegulov D., Slaney J., Woltzenlogel Paleo B. Scavenger 0.1: A theorem prover based on conflict resolution. Proc. 26th Conf. CADE, LNCS. 2017, vol. 10395, pp. 344-356. DOI: 10.1007/978-3-319-63046-5_21.
7. Baumgartner P. SMTtoTPTP - a converter for theorem proving formats. Proc. 25th Intern. Conf. CADE, LNCS. 2015, vol. 9195, pp. 285-294.
8. Cherkashin E.A. KVANT/1 Programm System for Automated Theorem Proving. PhD Thesis. IDSTU SO RAN Publ., Irkutsk, 1999, 16 p.
9. Nagashima Y., Kumar R. A proof strategy language and proof script generation for Isabelle/HOL. Proc. 26th Conf. CADE, LNCS, 2017, vol. 10395, pp. 528-545. DOI: 10.1007/978-3-319-63046-5_32.
10. Rust Programming Language. Availavle at: www.rust.org (accessed March 25, 2019).
Для цитирования
Давыдов А.В., Ларионов А.А., Черкашин Е.А. Метод трансляции первопорядковых логических формул в позитивно-образованные формулы // Программные продукты и системы. 2019. Т. 32. № 4. С. 556-564. DOI: 10.15827/0236-235X.128.556-564.
For citation
Davydov A.V., Larionov A.A., Cherkashin E.A. The method for translating first-order logic formulas into positively constructed formulas. Software & Systems. 2019, vol. 32, no. 4, pp. 556-564 (in Russ.). DOI: 10.15827/0236-235X.128.556-564.