УДК 004.02
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ОБОЛОЧКИ
ДЛЯ ИНТЕРАКТИВНЫХ СИСТЕМ ВЕРИФИКАЦИИ
ИНТУИТИВНЫХ МАТЕМАТИЧЕСКИХ ДОКАЗАТЕЛЬСТВ
A.C. Клещёв1, В.А. Тимченко2
Институт автоматики и процессов управленияДВО РАН, Владивосток, Россия Ikleschev@iacp. dvo. ru, 2vadim@dvo. ru
Аннотация
Представлена концепция оболочки для интерактивных систем верификации интуитивных мате -матических доказательств и рассмотрены средства спецификации формальных систем, которые могут быть положены в основу такой оболочки: языки описания порождающих графовых и текстовых грамматик, а также язык описания контекстных условий, позволяющие задавать контекстно-зависимые графовые грамматики с конкретным синтаксисом. С использованием этих средств специфицировано ядро формально-логической системы, приближенной к математической практике конструирования доказательств. Описана модель онтологии для представления баз формализованных математических знаний и способов рассуждений, включающая спецификацию сетевой структуры различных разделов математики, а также спецификации порождающих графовых грамматик, описывающих абстрактный синтаксис языков представления математических утверждений (знаний) и способов рассуждений. Определены контекстные условия этих языков. Рассмотрена общая синтаксическая структура полных доказательств и разработанная на ее основе модель онтологии полных доказательств. В работе используется подход, основанный на контекстно-зависимых грамматиках и онтологиях, состоящий в разработке явно представленной декларативной спецификации языка представления математических знаний и способов рассуждений (языка математического диалекта), а также модели доказательства. Принципиальная особенность языка состоит в его расширяемости, которая обеспечивается за счет расширяемости множества определений, позволяющих вводить новые термины для обозначения определяемых понятий и расширяемости его грамматики. Расширяемость грамматики достигается благодаря средствам, позволяющим описать синтаксис каждой новой конструкции языка представления математических утверждений, а также контекстные условия.
Ключевые слова: верификация интуитивных доказательств, логическое исчисление, графовые грамматики, база формализованных способоврассуждений, база математических знаний, модель доказательств.
Цитирование: Клещёв, А.С. Теоретические основы оболочки для интерактивных систем верификации интуитивных математических доказательств / А.С. Клещёв, В.А. Тимченко // Онтология проектирования. - 2018. - Т. 8, №2(28). - С.219-239. - DOI: 10.18287/2223-9537-2018-82-219-239.
Введение
В математической литературе доказательства теорем в теории доказательств получили название интуитивных. Проверка правильности (верификация) интуитивных доказательств теорем является одной из важнейших задач в математических исследованиях [1]. Правильным доказательством может считаться только полное доказательство, выполненное в рамках формальной системы, для которой справедливо утверждение о том, что если для математического утверждения может быть построено доказательство (вывод), то оно истинно (логически общезначимо) [2]. Однако в математической практике, связанной с построением доказательств теорем вручную, такие доказательства не строятся в силу их
громоздкости, а также чрезмерной трудоёмкости этого процесса. Отмечается [3,4], что в математической литературе существует давняя традиция ошибок. Ошибки в доказательствах могут оставаться незамеченными на протяжении долгого времени, а их исправления не публикуются настолько часто, как следовало бы.
В 1994 г. был опубликован QED-манифест [5] анонимных авторов, в котором выдвинуты амбициозные цели - построение корпуса механически (автоматически) верифицированной математики, в том числе формализации математических доказательств, и проверки их правильности.
На сегодняшний день перспективным направлением использования компьютеров для решения задачи обеспечения правильности интуитивных доказательств является разработка интерактивных систем поддержки построения доказательств (СППД) теорем. Они оказывают помощь при вводе формализованного полного доказательства и обеспечивают его правильность (MINLOG, KeY Proover, JProver, ACL2, Mizar, Lean, Matita, ProofPeer, Agda, Nuprl, Epigram и др.) [6-8]. В качестве формальной системы в таких СППД обычно используется либо язык логики предикатов первого порядка, либо язык, основанный на некотором варианте логики предикатов высших порядков или теории типов (строго типизированном Я-исчислении) с развитым, общепринятым синтаксисом арифметических, теоретико-множественных и, возможно, иных выражений [6,7].
Следствием многообразия специализированных логик, с одной стороны, и большой трудоёмкости создания программного средства, реализующего построение доказательств в рамках каждой такой логики или адаптации существующего средства к другой логике, с другой стороны, явилась разработка логико-независимых программных оболочек для создания СППД (PVS, Twelf, Coq, HOL Light, Isabelle/HOL, LCF, БУЦЕФАЛ и др.) [1,6,7,9]. В таких оболочках предлагаются метаязыки для формализации математических знаний и дедуктивных систем (исчислений). В качестве таких метаязыков обычно используются языки программирования, основанные на функционально-императивной парадигме, либо на некотором варианте строго типизированного Я-исчисления с развитой параметрически полиморфной системой зависимых типов и параметризуемыми модулями. При этом для описания правил математического рассуждения используется процедурный подход.
Достоинством разработанных СППД является то, что для используемых в них формальных систем справедливо утверждение о том, что истинность математического утверждения следует из возможности построения его доказательства. Многие из современных СППД успешно применялись для верификации доказательств сложных математических теорем [1].
Однако существующие СППД до сих пор оказываются невостребованными большинством математиков в их исследованиях. Это подтвердил опубликованный в 2007 г. пересмотренный манифест [10], в котором хотя и подтверждались цели исходного манифеста, но констатировалось, что за время, прошедшее с момента его опубликования, не было сделано существенного продвижения в достижении его целей. Там же указывалась и одна из основных причин такого положения дел: формализованная математика совершенно непохожа на реальную. Исходя из этого, можно заключить, что основное препятствие к широкому использованию СППД состоит в том, что в них используются формальные логические системы, далёкие от представлений математиков, выполняющих такую работу. Формализация математических теорем и их доказательств остаётся для математиков сложным процессом; по-прежнему существует крутая кривая обучения, препятствующая принятию математическим сообществом такого стиля работы с доказательствами [1]. Этот процесс ориентирован на специалистов по математической логике, обладающих знаниями значительной части теории доказательств, теории типов, теории моделей, теории множеств и т.п.
В цикле работ [11-13] для верификации математических доказательств была высказана идея приближения формальной модели, лежащей в основе СППД, к математической практике. В настоящей работе описывается декларативная метамодель для представления формальных логических систем, приближенных к математической практике (связанной с конструированием интуитивных доказательств), и способы использования этой метамодели для описания таких формальных систем. Предлагаемая метамодель ориентирована на разработку и реализацию на её основе программной оболочки для систем верификации интуитивных математических доказательств.
1 Концепция оболочки
Как известно, математический диалект и способы математических рассуждений не только не являются фиксированными, явно описанными, но и продолжают развиваться по мере развития математики. Поэтому нет никакой возможности построить такую фиксированную формальную систему, которую можно было бы положить в основу СППД, и "проекция" с языка математического диалекта на которую не была бы чрезвычайно громоздкой и сложно осуществимой для большинства математиков. Тем не менее, во всех известных авторам СППД используются языки с фиксированным синтаксисом для представления математических утверждений и их доказательств, а также фиксированные множества правил рассуждений, что означает невозможность их изменения без внесения соответствующих изменений в код программной системы.
Чтобы иметь возможность приближать формальные логические системы к математической практике, они должны быть расширяемыми. При этом возможность их расширять должны иметь не только разработчики СППД, но прежде всего пользователи таких систем - члены математического сообщества.
Одним из способов обеспечения такой возможности является разработка для них программной оболочки (инструментальной метасистемы), которая позволяла бы создавать прикладные СППД, в основу которых уже положено ядро формальной системы, приближенной к математической практике, и предоставляла бы механизмы расширения этой системы.
Расширяемыми и изменяемыми должны быть следующие компоненты формальных систем: язык представления математических знаний, на котором описываются аксиомы, теоремы, леммы, определения и т.п., и множество формализованных способов рассуждений, доступных математику при построении доказательств теорем. Для этого способы рассуждения должны быть представлены явно, а язык представления формализованных способов рассуждений также должен быть расширяемым.
Отметим, что данные языки эквивалентны логическому языку высших порядков и не поддерживают графические образы, геометрические построения и интерпретации различных конструкций: коммутативные диаграммы, диаграммы Эйлера-Венна и т.п.
Для обеспечения расширяемости формальных систем при их разработке используется подход, основанный на контекстно-зависимых грамматиках и онтологиях. Расширяемость достигается за счёт того, что контекстно-зависимые грамматики абстрактного синтаксиса языков представления математических знаний и формализованных способов рассуждений имеют в СППД явное декларативное представление, специфицированное в соответствии с метамоделью. Благодаря этому, во-первых, способы рассуждения имеют в СППД явное декларативное представление, и, следовательно, пользователи могут изменять их множество, а также сами способы рассуждений; во-вторых, пользователи имеют возможность включать в грамматику языка представления математических знаний новые правила либо модифицировать существующие. Это же относится и к контекстным условиям.
Заметим, что при открытости для математиков баз способов рассуждений и, соответственно, расширяемости исчисления остаётся открытым вопрос, касающийся теоремы о следствии истинности математического утверждения из его доказуемости. Очевидно, что для такой формальной логической системы справедливость данной теоремы не гарантируется (более того, она оказывается неприменимой к этой формальной системе). Однако эта проблема может быть адресована специалистам по математической логике, задачей которых является исследование и верификация предлагаемых математиками способов рассуждений на метаязыке. В результате анализа среди метаматематических утверждений может быть выделен класс аксиом, а остальные классифицированы либо как требующие доказательства, либо как неверные. Тем самым, доказательства, в которых используются неверные или недоказанные метаматематические утверждения, не могут считаться верными. Общезначимость пропозициональных формул может быть проверена автоматически.
Статья посвящена описанию средств определения формальных логических систем, приближенных к математической практике, - декларативной метамодели, а также использованию этой метамодели ядра и механизмов расширения формальной системы, которая может быть положена в основу прикладных СППД, создаваемых с использованием оболочки.
Как и всякая формально-логическая модель, описываемая формальная система должна определять формальный язык для представления математических знаний - аксиом, определений, теорем, лемм и других математических утверждений; и исчисление, в котором должны строиться правильные полные доказательства, согласованное с этим языком. Определение исчисления включает в себя определение методов доказательства математических утверждений; способов рассуждений, доступных математику в процессе конструирования доказательств теорем, и формального языка для их представления; модели онтологии доказательств - структуры для представления полных доказательств. Определение формального языка включает определение его онтологии - абстрактного синтаксиса и контекстных условий, а также, возможно, конкретного синтаксиса. Абстрактный синтаксис языка может быть задан порождающей графовой грамматикой; контекстные условия - на специальном языке формул над элементами этой графовой грамматики. Поскольку в математике формулировки различных утверждений и способов рассуждений традиционно записываются в текстовом виде, то конкретным синтаксисом формальных языков в данном случае является текстовый синтаксис. Средством задания текстового синтаксиса языка является порождающая текстовая грамматика, дополняющая соответствующую графовую грамматику необходимыми элементами конкретного синтаксиса. Важно отметить, что на сегодняшний день за рамками работы остаётся практика рассуждений, принятая в современной математике, которая основана на принципе структурализма, а также понятиях изоморфизма, эквивалентности (идентичности) математических объектов [14].
2 Средства определения формальных систем
Декларативная метамодель для спецификации формальных систем состоит из языка описания порождающих графовых грамматик, языка описания контекстных условий и языка описания порождающих текстовых грамматик.
2.1 Язык описания порождающих графовых грамматик
В работах [15,16] описана орграфовая связная двухуровневая модель информационных единиц. В соответствии с этой моделью различаются два типа орграфов по уровню абстракции представляемой ими информации: орграфы, представляющие метаинформацию, и орграфы, представляющие информацию. Для этой модели предложены языки (нотация)
представления орграфов метаинформации и информации. Также определены соответствия между этими орграфами и моделью порождения орграфов информации по орграфам метаинформации, сохраняющего это соответствие. Назначение орграфа метаинформации состоит в спецификации абстрактного синтаксиса языка, в терминах которого формируется множество орграфов информации.
Таким образом, орграфы, описывающие абстрактный синтаксис языков представления различных видов знаний и данных, могут рассматриваться как порождающие графовые грамматики. Грамматика порождает множество размеченных корневых иерархических бинарных орграфов с возможными петлями и циклами (орграфов информации). Сама грамматика имеет аналогичную форму представления - в виде орграфа, обладающего такими же свойствами (орграфовое представление грамматики далее названо орграфом грамматики) [17]. Отличие состоит в разметке: орграф грамматики имеет дополнительную разметку вершин и дуг, задающую семантику правил порождения.
2.2 Язык описания контекстных условий
Контекстные условия, проверяемые на орграфах информации, описываются на языке логико-математических формул, которые задаются над той графовой грамматикой, по которой эти орграфы информации порождаются. Контекстное условие имеет название и представляет собой кванторную формулу. Каждая переменная, входящая в формулу, связана некоторым квантором, имеет имя, а область её возможных значений задаётся термом, значением которого является множество вершин орграфа информации.
Выделяются следующие типы формул: равенство и неравенство термов; арифметические отношения над числовыми термами; теоретико-множественные отношения над термами; формулы с пропозициональными связками; кванторные формулы; предикат «прямой предок», моделирующий отношение над термами, представляющими вершины орграфа информации.
Выделяются следующие типы термов: термы, представляющие пути в орграфе метаинформации; термы, представляющие арифметические выражения; термы-кванторные конструкции; термы, представляющие операции над множествами; условный терм, моделирующий разветвлённый условный оператор; терм, представляющий конкатенацию строковых или двоичных констант; терм, значением которого является метка вершины орграфа информации; термы, представляющие константы различных типов.
2.3 Язык описания порождающих текстовых грамматик
Язык описания порождающих текстовых грамматик согласован с языком описания порождающих графовых грамматик и позволяет специфицировать грамматики в РБНФ1 подобной нотации, задавать некоторые виды контекстных условий, а также метасимволы форматирования текстов, используемые при их синтезе.
Текстовая грамматика представляет собой описание множества правил. Каждое правило состоит из левой и правой части. Левая часть правила представляет собой ссылку на соответствующую вершину орграфа грамматики, специфицирующего абстрактный синтаксис некоторого языка. Правая часть - последовательность элементов, каждый из которых относится к одному из следующих четырёх типов: элемент конкретного синтаксиса; элемент форматирования; ссылка на соответствующую вершину орграфа грамматики; элемент, позволяющий специфицировать контекстные условия.
1 РБНФ - расширенная Бэкус-Наурова форма (англ. Extended Backus-Naur Form) — формальная система определения синтаксиса, в которой одни синтаксические категории последовательно определяются через другие. Прим.ред.
Отметим, что в текстовой грамматике необходимо описывать лишь те правила, вид которых должен быть переопределён по сравнению с их видом в графовой грамматике, которой она сопоставлена. В основном это касается тех правил, в правую часть которых должны входить элементы конкретного синтаксиса, элементы форматирования и элементы, позволяющие специфицировать контекстные условия.
3 Модель онтологии базы математических знаний
С целью структурированного хранения и накопления математических знаний вводится модель онтологии для представления баз математических знаний, специфицирующая сетевую структуру различных разделов математики.
Каждый раздел математики имеет своё название и может содержать следующие множества: множество определений, позволяющих вводить новые термины для обозначения определяемых понятий, а также задавать значения этих терминов; множество аксиом; множество теорем и лемм, каждая из которых может иметь множество следствий; множество именованных подразделов (см. рисунок 1).
Рисунок 1 - Спецификация структуры разделов математики
Здесь и далее нотация разметки вершин и дуг, изображённых на рисунках орграфов грамматик и орграфов информации, совпадает с нотацией, используемой в [15,16], где подробно описана её семантика.
4 Язык представления математических знаний
4.1 Ядро языка представления математических утверждений
На рисунке 2 изображен фрагмент порождающей графовой грамматики, описывающей абстрактный синтаксис ядра языка представления математических утверждений. Каждое математическое утверждение (предложение) представляется вершиной графовой грамматики «Предложение» и имеет вид: (уь: t1) ... (уп: П / Здесь / - математическая формула, содержащая вхождения предметных переменных у1, ..., уп, а (уг: (г = 0, ..., п) -описание предметной переменной уг, ^ - математический терм, значением которого является множество (область возможных значений переменной уг). Математическое утверждение моделирует оборот математического диалекта: «для любых значений у1 из t1, ..., уп из tn справедлива формула/».
Выделяются следующие типы формул: равенство и неравенство термов; арифметические отношения над числовыми термами; теоретико-множественные отношения над термами; формулы с пропозициональными связками; кванторные формулы (с конечными и бесконечными областями возможных значений переменных); аппликация предиката.
Выделяются следующие типы термов: арифметические термы; различные виды интервалов, а также множеств, которые они образуют; кванторные термы (с конечными и бесконечными областями возможных значений переменных); термы-операции над множествами, а также обозначения некоторых фиксированных множеств; термы, связанные с отображениями; условный терм, моделирующий оборот математического диалекта: «если /1, то tu... если/П, то п».
Онтология ядра языка представления математических утверждений содержит контекстныеусловия. Они записываются на языке описания контекстных условий, но здесь приводится только их неформальное описание.
Контекстные условия на предметные переменные.
■ Для каждого использующего вхождения переменной в тело предложения или тело некоторой кванторной конструкции существует определяющее вхождение этой переменной в префикс этого предложения или этой кванторной конструкции.
■ Для каждого определяющего вхождения переменной в префикс предложения или некоторой кванторной конструкции существует использующее вхождение этой переменной в тело этого предложения или тело этой кванторной конструкции.
■ Терм, представляющий собой область возможных значений определяемой переменной, не может содержать вхождений этой же самой переменной.
Контекстные условия на соответствие числа формальных и фактических параметров. Если аппликация предиката имеет вид р^ь ..., то:
■ если р есть термин, то в некотором разделе математических знаний секция «определения» должна содержать определение вида р= Л(у1 : ... (ут : ит)/ где/ - формула, содержащая вхождения предметных переменных уь, ...,ут, т > 1;
■ если же р есть переменная, то её описание должно иметь вид р : ...х ит —множество логических значений, если т > 1, либо р : — множество логических значений, если т = 1.
Если аппликация функции имеет вид р^ь ..., то:
если р есть термин, то в некотором разделе математических знаний секция «определения» должна содержать определение вида р = Му1 : и^ ... (ут : и„) Т, где Т - терм, содержащий вхождения предметных переменных VI, ..., vm, т > 1;
если же р есть переменная, то её описание должно иметь вид р : П1х ...х ит — И, если m > 1, либо р: П1 — П, если m = 1.
Рисунок 2 - Фрагмент орграфа грамматики, описывающей абстрактный синтаксис языка представления
математических утверждений
Текстовая грамматика, описывающая конкретный синтаксис ядра языка представления математических утверждений, задаётся на языке описания порождающих текстовых грамматик и содержит 85 правил.
4.2 Механизмы расширения языка представления математических утверждений
Расширение языка представления математических утверждений обеспечивается добавлением новых видов термов и формул. Оно состоит в добавлении новой конструкции в орграф грамматики языка, описании абстрактного синтаксиса этой новой конструкции, добавлении нужных правил в текстовую грамматику языка, а также, возможно, описании связанных с новой конструкцией контекстных условий.
5 База математических знаний
База математических знаний формируется в соответствии с моделью её онтологии. Приведём примеры определений терминов, входящих в состав математических знаний раздела «Арифметика». Данный раздел входит в ядро базы математических знаний. Определения записаны в конкретном синтаксисе языка представления математических утверждений.
■ множество натуральных чисел = /[1, да).
■ множество положительных вещественных чисел = {(х: R) х > 0}.
■ множество отрицательных вещественных чисел = {(х: R) х < 0}.
Приведём примеры математических утверждений, входящих в состав математических знаний раздела «Арифметика». Это аксиомы, либо теоремы, имеющие доказательства в рамках определяемой формальной системы.
■ Свойство коммутативности умножения: (х: R) (у: R) х * у = у * х.
■ Правило выноса общего множителя за скобки: (х: R) (у: R) ^: R) х * у + z * у = (х + z) * у.
■ Правило приведения к общему знаменателю дроби и числа: (х: R) (у: R \ {0}) (г: R) х /у + z = (х + у * z) /у.
■ Теорема о сумме членов конечного отрезка натурального ряда: (п: /[0, да)) (!(/: /[0, п]) г) = п * (п + 1) /2.
Расширение базы математических знаний состоит в добавлении новых математических знаний - определений, аксиом, теорем и лемм (а также их следствий) в существующие в базе разделы математики; а также в создании новых разделов/подразделов математики и наполнении их соответствующими математическими знаниями.
6 Методы доказательств
Исчисление, в рамках которого строятся доказательства, включает методы доказательства целей, основанные на трёх правилах. Перед описанием самих правил определим понятия цель и справедливоеутверждение.
Цель представляет собой пару: математическое утверждение и, возможно пустой, список предположений - множество математических утверждений, из справедливости которых следует справедливость данного утверждения.
Под справедливым утверждением будем понимать математическую аксиому, определение, теорему/лемму (а также следствие из неё), для которой уже построено доказательство, либо способ рассуждения (см. далее - раздел 7). Определения и аксиомы считаются правильными в силу соглашения между членами математического сообщества.
Далее опишем сами правила вывода исчисления.
Правило доказательства импликации (естественного вывода) позволяет свести доказательство цели, математическое утверждение которой имеет форму импликацииf & ... & fk ^f а список предположений есть p1, ..., pn (n > 0), к доказательству цели, математическое утверждение которой есть заключение этой импликации - f а список предположений есть pi, ..., pn, fi, ... , fk.
Правило сопоставления (matching). Если р - справедливое утверждение и существует подстановка в вместо переменных, входящих в р, такая, что результат применения этой подстановки к р совпадает с математическим утверждением f доказываемой цели или синтаксически эквивалентен/, то f справедливо (f есть конкретизация р(. Список предположений цели в этом случае является пустым. Стоит отметить, что сопоставление представляет собой однонаправленный вариант унификации [18].
Правило отделения (Modus ponens), используемое для декомпозиции цели, декомпозиции некоторого предположения цели, или для вывода.
Декомпозиция цели. Если требуется доказать цель, список предположений которой есть pI, ..., pn, (n > 0), а математическое утверждение f может быть сопоставлено с заключением справедливого утверждения, имеющего вид (pI & ... & рт ^ р, ив- наиболее общий унификатор f и р, то это доказательство сводится к доказательству целей, математические утверждения /, ..., fm которых являются соответственно результатами применения подстановки в к утверждениям в условии этой импликации/ = р1в, ..., fm = ртв, а список предположений каждой цели естьpI, ..., pn.
Декомпозиция предположения. Если требуется доказать цель, математическое утверждение которой есть f а список предположений есть pI, ..., pi, ..., pn (n > 1), и предположение pi может быть сопоставлено с правой частью равносильности р справедливого утверждения, имеющего вид pI \ ... \ рт р (pI v ... v рт р(, (т > 2), а в - наиболее общий унификаторрг- и р, то это доказательство сводится к доказательству т целей, у которых математическое утверждение естьf а списки предположений суть pI, ..., ppI, ..., pn, гдеppI является результатом применения подстановки в к ри ...; pI, ..., ррт, ..., pn, где ррт является результатом применения подстановки в к рт.
Вывод, представляющий собой последовательность шагов вывода. Шаг вывода состоит в следующем. Пусть математическое утверждение / (i = 1, ..., т) является аксиомой, либо определением, либо доказанной теоремой/леммой (или её доказанным следствием), либо утверждением из списка предположений доказываемой цели, либо результатом одного из предыдущих шагов вывода. Тогда если утверждение/ & ... & fm может быть сопоставлено с условием справедливого утверждения, имеющего вид pI & ... & рт ^ р, а в - наиболее общий унификатор fI & ... & fm и pI & ... & рт, то верно утверждение/, являющееся результатом применения подстановки в к р (результат шага вывода).
Цель считается доказанной, если результатом последнего шага вывода является утверждение, совпадающее с математическим утверждением цели, или синтаксически эквивалентное ему.
В случае декомпозиции цели и в выводе варианты применения Modus ponens могут быть обобщены на случай, когда импликация заменена равносильностью.
7 Формализованные способы рассуждений
Способы рассуждений, которые используются в методах доказательства, делятся на два класса:
■ с опорой на пропозициональные тавтологии, лежащие в основе логических рассуждений;
■ с опорой на математические принципы и утверждения о синтаксических преобразованиях математических выражений.
Эти способы рассуждений представлены явно пропозициональными формулами, являющимися тавтологиями, и метаматематическими утверждениями соответственно. Метаматематические утверждения считаются правильными, если их достоверность установлена на основе интуитивного или конвенционального (в результате соглашения между членами математического сообщества) критерия. Таким образом, доказательство считается правильным, если признается справедливость всех используемых в нем метаматематических утверждений.
Далее описываются язык представления пропозициональных тавтологий, язык представления метаматематических утверждений, а также способы рассуждений, входящие в ядро базы формализованных способов рассуждений, и способы расширения последней.
7.1 Язык представления пропозициональных тавтологий
Порождающая графовая грамматика, описывающая абстрактный синтаксис языка представления пропозициональных тавтологий, изображена на рисунке 3. Каждая пропозициональная тавтология представляется вершиной графовой грамматики «Тавтология» и имеет вид: v1 ... vn pf, где р[ - пропозициональная формула, содержащая вхождения пропозициональных переменных v1, ... vn, а VI (г = 1, ..., п) - описание пропозициональной переменной VI, п > 1. Значением пропозициональной переменной может быть одна из логических констант - истина или ложь.
Рисунок 3 - Орграф грамматики, описывающей абстрактный синтаксис языка представления
пропозициональных тавтологий
Для языка представления пропозициональных тавтологий формулируются следующие контекстныеусловия на пропозициональные переменные.
■ Для каждого использующего вхождения переменной в пропозициональную формулу существует определяющее вхождение этой переменной в префикс этой формулы.
■ Наоборот, для каждого определяющего вхождения переменной в префикс формулы существует использующее вхождение этой переменной в эту формулу.
Фрагмент порождающей текстовой грамматики, описывающей конкретный синтаксис языка представления пропозициональных тавтологий, изображен (в виде орграфа информации) на рисунке 4. Всего грамматика содержит 8 правил.
Рисунок 4 - Фрагмент орграфа информации, специфицирующего грамматику, описывающую конкретный синтаксис языка представления пропозициональных тавтологий
7.2 Язык представления метаматематических утверждений
В данном разделе описываются ядро языка представления утверждений и механизмы его расширения.
метаматематических
7.2.1 Ядро языка представления метаматематических утверждений
Порождающая графовая грамматика, описывающая абстрактный синтаксис ядра языка представления метаматематических утверждений (метаязыка), изображена на рисунке 5.
Каждое метаматематическое утверждение (предложение) представляется вершиной графовой грамматики «Метаматематическое предложение» и имеет вид: (уь: t1) ... (уп: П *1 ... Iк /1 ... / 11 ... 1р г1 ... гч /. Здесь /- математическая формула, содержащая вхождения предметных переменных уь, ..., уп, а также вхождения синтаксических переменных ..., 4 типа синтаксических переменных/1, ...,/ типа/, синтаксических переменных ¡1, ...,1Р типа I и синтаксических переменных г1, ..., гч типа г. При этом (уг: (г = 1, ..., п) - описание предметной переменной у, ti - математический терм, значением которого является множество (область возможных значений предметной переменной уг); ... - описания синтаксических переменных типа * ^ > 0), значениями которых являются термы; /1 ... / -описания синтаксических переменных типа / ^ > 0), значениями которых являются формулы; 11 ... 1р - описания синтаксических переменных типа I (р > 0), значениями которых являются целочисленные константы; г1 ... гч - описания синтаксических переменных типа г (д > 0), значениями которых являются вещественные константы; где k + s + р + q > 0.
Метаязык является надстройкой над языком представления математических утверждений и получается расширением конструкций «формула» и «терм» этого языка. Конструкция «формула» расширяется путем добавления двух альтернатив: «синтаксическая переменная типа /» и «модифицированная синтаксическая переменная типа /». Конструкция «терм»
расширяется путем добавления четырех альтернатив: «синтаксическая переменная типа I», «синтаксическая переменная типа г», «синтаксическая переменная типа ¿» и «модифицированная синтаксическая переменная типа
Рисунок 5 - Орграф грамматики, описывающей абстрактный синтаксис языка представления
метаматематических утверждений
Модифицированная синтаксическая переменная кроме названия содержит модификатор. Она является термом или формулой в зависимости от её типа. Модификатор состоит из элементов модификатора, каждый из которых может быть термом или формулой. Значением такой синтаксической переменной является синтаксическая конструкция, соответствующая типу синтаксической переменной, но содержащая формальные параметры. Каждому элементу модификатора соответствует свой формальный параметр, который может входить в значение синтаксической переменной один или более раз. Элементы модификаторов с одним порядковым номером в разных вхождениях модифицированной синтаксической переменной в одно и то же метаматематическое утверждение соответствуют одному и тому же формальному параметру. Сами элементы модификатора являются фактическими параметрами. Значением вхождения модифицированной синтаксической переменной в метаматематическое утверждение является значение этой синтаксической переменной, в котором все формальные параметры заменены фактическими.
Метаматематические утверждения считаются справедливыми при любых допустимых значениях синтаксических (в том числе и модифицированных) переменных.
Для ядра языка представления метаматематических утверждений формулируются следующие контекстныеусловия на синтаксические переменные.
■ В каждое метаматематическое утверждение должна входить хотя бы одна синтаксическая переменная.
■ Для каждого использующего вхождения синтаксической переменной в терм или формулу метаматематического предложения существует определяющее вхождение этой переменной в префикс этого предложения.
■ Для каждого определяющего вхождения синтаксической переменной в префикс метаматематического предложения существует использующее вхождение этой переменной в терм или формулу этого предложения.
■ Модификатор модифицированной синтаксической переменной не может содержать как непосредственных, так и опосредованных вхождений этой же самой синтаксической переменной.
■ Синтаксическая переменная может входить в метаматематическое утверждение либо не-модифицированной, либо модифицированной (и то, и другое одновременно исключено).
■ Если синтаксическая переменная является модифицированной, то она должна входить в метаматематическое утверждение не менее двух раз.
■ Число элементов модификатора во всех вхождениях одной и той же модифицированной синтаксической переменной в метаматематическое утверждение одно и то же, причём на соответствующих местах в модификаторе должны находиться либо термы, либо формулы.
Текстовая грамматика, описывающая конкретный синтаксис ядра языка представления метаматематических утверждений, содержит правила, относящиеся к представлению в текстовом виде немодифицированных и модифицированных синтаксических переменных.
7.2.2 Механизмы расширения языка представления метаматематических утверждений
Определение метаязыка как надстройки над языком представления математических утверждений (т.е. как его надъязыка) является достаточным условием для того, чтобы метаязык расширялся автоматически при расширении языка представления математических знаний. Это справедливо в силу способа определения конструкций «Формула» и «Терм» метаязыка - через одноимённые конструкции языка представления математических знаний, которые расширены соответствующими синтаксическими переменными (см. рисунок 5), а также за счёт соблюдения первого контекстного условия на синтаксические переменные. Таким образом, расширение этих двух языков происходит одновременно.
7.3 База формализованных способов рассуждений
База формализованных способов рассуждений состоит из множества способов рассуждений, моделируемых пропозициональными тавтологиями, и множества способов рассуждений, моделируемых метаматематическими утверждениями. В ядро базы входят следующие пропозициональные тавтологии.
■ Декомпозиция равносильности: (у1 V?) ^ ^ V?) & V ^ v1).
■ Транзитивность равносильности: (у1 V?) & (V. V?) ^ (у1 vз).
■ Доказательство от противного: ("V ^ ложь) ^ V.
■ Доказательство противоречия: ("V & V) ^ ложь.
■ Редукция импликации: ((V & V?) ^ V.) & v1) ^ (V? ^ V.?).
В ядро базы формализованных способов рассуждений входят следующие метаматематические утверждения (аксиомы). Имена синтаксических переменных выделены полужирным начертанием, а элементы модификатора заключены в специальные скобки " р' и ".
■ Рефлексивность равенства: t1 = t1.
■ Симметричность равенства: (t1 = t2) -ö- (t2 = t1).
■ Транзитивность равенства: ((t1 = t2) & (t2 = t3)) ^ (t1 = t3).
■ Принцип замены равных термов в формуле: (t1 = t2) &f\-tr\ ^ f .
■ Принцип замены равносильных формул в формуле: (f1 f2) & f \fr\ ^ f \f\ .
■ Одна из форм принципа полной математической индукции: (vi: I[0, с]) (V2: I[0, v])f\0>\ & (f\vj\ ^ f\-V2 + 1\ ) f\v\ .
Кроме перечисленных, в ядро базы входят также метаматематические утверждения (аксиомы), моделирующие свойства различных кванторов, присутствующих в языке представления математических знаний.
Расширение базы формализованных способов рассуждений состоит в расширении множества пропозициональных тавтологий и/или множества метаматематических утверждений.
Множество пропозициональных тавтологий является расширяемым за счёт возможности формулировать новые пропозициональные формулы, которые в случае успешной автоматической проверки их общезначимости добавляются в это множество.
Множество метаматематических утверждений является расширяемым за счёт возможности формулировать новые утверждения, которые включаются в это множество. В частности, нужно заметить, что если в язык представления математических знаний добавляются новые кванторы, то становится необходимым добавление метаматематических утверждений о свойствах этих кванторов.
8 Модель онтологии полныхдоказательств
Полное доказательство является синтаксической структурой, которая представляет собой множество связанных определенным образом целей. Первой целью является доказываемая теорема/лемма, у которой список предположений отсутствует. С каждой целью связан метод её доказательства. Множество допустимых методов доказательства цели является несобственным подмножеством множества методов, описанных в разделе 6. Число методов в нём может варьироваться от трёх до пяти - в зависимости от синтаксической формы утверждения цели (имеет ли оно форму импликации или нет) и наличия или отсутствия у неё предположений. Синтаксическая структура каждого метода доказательства основана на его семантике (см. раздел 6). В случае использования правила Modus ponens для декомпозиции цели или вывода учитывается вид справедливого утверждения - импликация или равносильность - и правила выбора значений для посылок.
Синтаксическая структура полного доказательства положена в основу декларативного описания модели онтологии доказательств теорем. Орграф грамматики, представляющий собой спецификацию модели онтологии, представлен на рисунках 6-9.
Заключение
В работе представлена концепция программной оболочки для систем верификации интуитивных математических доказательств и рассмотрена декларативная метамодель для спецификации формальных логических систем, которые могут быть положены в основу такой оболочки.
С использованием этой метамодели специфицировано ядро формальной системы, приближенной к математической практике конструирования интуитивных математических доказательств, и предложены механизмы её расширения.
Разработаны и явно представлены декларативные спецификации расширяемых языков для представления математических знаний и формализованных способов рассуждений, а также модели полных доказательств. Язык представления формализованных способов рассуждений состоит из двух подъязыков: языка представления пропозициональных тавтологий и метаязыка. На первом из них представляются правила логических рассуждений, на втором - свойства логических и нелогических кванторов, а также логических и нелогических принципов.
Рисунок 6 - Фрагмент орграфа грамматики, представляющего модель онтологии доказательств
Рисунок 7 - Фрагмент орграфа грамматики, представляющего модель онтологии доказательств.
Декомпозиция предположения
Рисунок 8 - Фрагмент орграфа грамматики, представляющего модель онтологии доказательств.
Декомпозиция цели
Рисунок 9 - Фрагмент орграфа грамматики, представляющего модель онтологии доказательств.
Вывод
Средства расширения имеют только язык представления математических знаний. Метаязык, надстроенный над ним, в силу способа определения расширяется автоматически при
его расширении. Язык представления пропозициональных тавтологий расширяемым не является. Расширяемость языка представления математических знаний обеспечивается расширяемостью множества определений, позволяющих вводить новые термины для обозначения определяемых понятий (внутренние средства расширения), а также расширяемостью его грамматики (внешние средства расширения). Расширяемость грамматики достигается благодаря средствам, позволяющим описать синтаксис новых конструкций языка представления математических утверждений, а также, при необходимости, контекстные условия. Исчисление, в рамках которого строятся доказательства, представлено явно и является расширяемым.
Полученные в ходе исследований результаты могут быть использованы в проекте по разработке ОЕБ2-системы и в проектах управляемых интерактивных СППД теорем, являющихся приближениями к этому проекту.
Благодарности
Работа выполнена при частичной поддержке РФФИ (проекты 16-07-00340, 17-07-00299 и 18-07-01079).
Список источников
[1] Maric, F. A Survey of Interactive Theorem Proving / F. Maric // Zbornik Radova, 2015, 18(26). - P.173-223.
[2] Мендельсон, Э. Введение в математическую логику / Э. Мендельсон. - М.: Наука, 1976. - 320 с.
[3] Avigad, J. Formally verified mathematics / J. Avigad, J. Harrison // Commun. ACM 57(4), 2014. - P.66-75. - DOI: 10.1145/2591012.
[4] Grcar, J.F. Errors and corrections in the mathematical literature / J.F. Grcar // Notices Am. Math. Soc., 60(4), 2013. - P.418-432. - DOI: 10.1090/noti988.
[5] The QED Manifesto // Automated Deduction, Springer-Verlag, Lecture Notes in Artificial Intelligence. 1994. Vol. 814. - P.238-251. - http://www.cs.ru.nl/~freek/qed/qed.html.
[6] Asperti A. A Survey on Interactive Theorem Proving. 2009. - http://www.cs.unibo.it/~asperti/SLIDES/itp.pdf.
[7] Harrison, J. History of Interactive Theorem Proving / J. Harrison, J. Urban, F. Wiedijk // In Jorg Siekmann (ed.), Handbook of the History of Logic, 2014, vol. 9: Computational Logic. Elsevier. - P.135-214.
[8] Obua, S. ProofPeer - A Cloud-based Interactive Theorem Proving System. 2012. -https://arxiv.org/ftp/arxiv/papers/1201/1201.0540.pdf.
[9] Рязанов, A.E. Система Буцефал: комбинирование дедуктивных процедур и описание стратегий поиска доказательств / А.Е. Рязанов. - Новосибирск, 1998. Препр./ Сиб. Отд-ние РАН. ИСИ; №50 - 42 с.
[10] Wiedijk, F. The QED Manifesto Revisited / F. Wiedijk // Studies in Logic, Grammar and Rhetoric. 2007. Vol. 10. -P.121-133. - http://mizar.org/trybulec65Z8.pdf.
[11] Гаврилова, Т.Л. Внутренняя модель математической практики для систем автоматизированного конструирования доказательств теорем. 4.1. Общее описание модели / Т.Л. Гаврилова, А.С. Клещёв // Проблемы управления. - 2006. - №4. - С.32-35.
[12] Гаврилова, Т.Л. Внутренняя модель математической практики для систем автоматизированного конструирования доказательств теорем. 4.2. Модель математического диалекта / Т.Л. Гаврилова, А.С. Клещёв // Проблемы управления. - 2006. - №5. - С.68-73.
[13] Гаврилова, Т.Л. Внутренняя модель математической практики для систем автоматизированного конструирования доказательств теорем. 4.3. Модель доказательства / Т.Л. Гаврилова, А.С. Клещёв // Проблемы управления. - 2006. - №6. - С.69-71.
[14] Homotopy Type Theory: Univalent Foundations of Mathematics. The Univalent Foundations Program, Institute for Advanced Study, 2013. - http://homotopytypetheory.org/book.
[15] Gribova, V.V. A Two-level Model of Information Units with Complex Structure that Correspond to the Questioning Metaphor / V.V. Gribova, A.S. Kleshchev, F.M. Moskalenko, V.A. Timchenko // Automatic Documentation and Mathematical Linguistics. 2015. Vol. 49. No.5. - P.172-181.
[16] Gribova, V.V. A Model for Generation of Directed Graphs of Information by the Directed Graph of Metainformation for a Two-Level Model of Information Units with a Complex Structure / V.V. Gribova, A.S. Kleshchev,
2 QED - аббревиатура от лат. quod erat demonstrandum - «что и требовалось доказать». Прим. ред.
Онтология проектирования, том 8, №2(28)72018 237
F.M. Moskalenko, V.A. Timchenko // Automatic Documentation and Mathematical Linguistics. 2015. Vol. 49, No.6. - P.221-231.
[17] Грибова, B.B. Управляемая графовыми грамматиками разработка оболочек интеллектуальных сервисов на облачной платформе IACPaaS / B.B. Грибова, А.С. Клещёв, Ф.М. Москаленко, В.А. Тимченко, Л.А. Федорищев, Е.А. Шалфеева // Программная инженерия. - 2017. Т.8, №10. - С.435-447.
[18] Knight, K. Unification: A Multidisciplinary Survey / K. Knight // ACM Computing Surveys, 1989, 21(1). - P.93-124.
THEORETICAL FOUNDATIONS FOR CREATION OF A SHELL FOR INTERACTIVE SYSTEMS OF INTUITIVE MATHEMATICAL PROOFS' VERIFICATION
1 2 A.S. Kleschev , V.A. Timchenko
Institute of Automation and Control Processes of the FEB RAS, Vladivostok, Russia Ikleschev@iacp. dvo. ru, [email protected]
Abstract
The article presents a concept of a shell for interactive systems of intuitive mathematical proofs. The means of specifying formal systems that can be used as theoretical foundations for this shell are considered: the languages for description of generative graph and text grammars, as well as the language for context conditions description. These languages allow defining context-dependent graph grammars with a specific syntax. With the use of these means, the kernel of a formal logical system that is connected to the mathematical practice of proofs' constructing is specified. The model of ontology for representation of the bases of formalized mathematical knowledge and methods of reasoning is described. This model includes the specification of the network structure of various sections of mathematics, as well as the specification of generative graph grammars describing the abstract syntax of the languages for mathematical statements (knowledge) and methods of reasoning representation. The context conditions of these languages are also defined. The common syntactic structure of proofs and the model of ontology of proofs, developed on its basis, are considered. We apply the approach based on context-dependent grammars and ontologies. It consists in the development of an explicitly presented declarative specification of the language for mathematical knowledge and methods of reasoning (the language of a mathematical dialect) representation, as well as a model of proof. The key feature of the language is its extensibility, which is provided by the extensibility of a set of definitions that allow us to introduce new terms to denote the defined concepts and the extensibility of its grammar. The extensibility of grammar is achieved thanks to the means that allow one to describe the syntax of each new construction of the language for mathematical statements' representation, as well as the context conditions.
Key words: verification of intuitive proofs, logical calculus, graph grammars, formalized reasoning methods base, mathematical knowledge base, model of proofs.
Citation: Kleschev AS, Timchenko VA. Theoretical foundations of the shell for interactive systems of intuitive mathematical proofs verification [In Russian]. Ontology of designing. 2018; 8(2): 219-239. DOI: 10.18287/2223-9537-20188-2-219-239.
Acknowledgment
The work was partially supported by the RFBR (projects 16-07-00340, 17-07-00299 and 18-07-01079).
References
[1] Maric F. A Survey of Interactive Theorem Proving. Zbornik Radova 2015; 18(26): 173-223.
[2] Mendelson E. Introduction to mathematical logic [In Russian]. - Moscow: Nauka; 1976. - 320 p.
[3] Avigad J, Harrison J. Formally verified mathematics. Commun. ACM 2014; 57(4): 66-75. - DOI: 10.1145/2591012.
[4] Grcar JF. Errors and corrections in the mathematical literature. Notices Am. Math. Soc. 2013; 60(4): 418-432. -DOI: 10.1090/noti988.
[5] The QED Manifesto. Automated Deduction, Springer-Verlag, Lecture Notes in Artificial Intelligence 1994; 814: 238-251. - http://www.cs.runl/~freek/qed/qed.html.
[6] Asperti A. A Survey on Interactive Theorem Proving. 2009. - http://www.cs.unibo.it/~asperti/SLIDES/itp.pdf
[7] Harrison J, Urban J, Wiedijk F. History of Interactive Theorem Proving. In Jorg Siekmann (ed.), Handbook of the History of Logic, Computational Logic. Elsevier; 2014; 9: 135-214.
[8] Obua S. ProofPeer - A Cloud-based Interactive Theorem Proving System. 2012. -https://arxiv.org/ftp/arxiv/papers/1201/1201.0540.pdf.
[9] Ryazanov AE. System butsephalas: defining proof-search strategies and combining deductive procedures [In Russian]. Novosibirsk: Prepr. / Sib. Branch of the RAS. IIS; 1998; 50: 42.
[10] WiedijkF. The QED Manifesto Revisited. Studies in Logic, Grammar and Rhetoric 2007; 10: 121-133. -http://mizar.org/trybulec65Z8.pdf.
[11] Gavrilova TL, Kleschev AS. An internal model of mathematical practice for systems of theorem provings automated construction. Part 1. General description of the model [In Russian]. Control Sciences 2006; 4: 32-35.
[12] Gavrilova TL, Kleschev AS. An internal model of mathematical practice for systems of theorem provings automated construction. Part 2. A model of mathematical dialect [In Russian]. Control Sciences 2006; 5: 68-73.
[13] Gavrilova TL, Kleschev AS. An internal model of mathematical practice for systems of theorem provings automated construction. Part 3. A model of proof [In Russian]. Control Sciences 2006; 6: 69-71.
[14] Homotopy Type Theory: Univalent Foundations of Mathematics. The Univalent Foundations Program, Institute for Advanced Study; 2013. - http://homotopytypetheory.org/book.
[15] Gribova VV, Kleschev AS, Moskalenko FM, Timchenko VA. A Two-level Model of Information Units with Complex Structure that Correspond to the Questioning Metaphor. Automatic Documentation and Mathematical Linguistics 2015; 49(5): 172-181.
[16] Gribova VV, Kleschev AS, Moskalenko FM, Timchenko VA. A Model for Generation of Directed Graphs of Information by the Directed Graph of Metainformation for a Two-Level Model of Information Units with a Complex Structure. Automatic Documentation and Mathematical Linguistics 2015; 49(6): 221-231.
[17] Gribova VV, Kleschev AS, Moskalenko FM, Timchenko VA, Fedorishchev LA, Shalfeyeva EA. A Graph Grammar Managed Development of Intelligent Service Shells on the IACPaaS Cloud Platform [In Russian]. Software Engineering 2017; 10: 435-447.
[18] Knight K. Unification: A Multidisciplinary Survey. ACM Computing Surveys 1989; 21(1): 93-124.
Сведения об авторах
Клещёв Александр Сергеевич, 1940 г. рождения. Окончил математико-механический факультет Ленинградского государственного университета в 1964 г., д.ф.-м.н. (1990). Главный научный сотрудник лаборатории интеллектуальных систем Института автоматики и процессов управления Дальневосточного отделения РАН, профессор, заслуженный деятель науки РФ. В списке научных трудов более 300 работ в области искусственного интеллекта, информатики, медицинской и биологической кибернетики. Alexander Sergeevich Kleschev (b. 1940) graduated from the Leningrad State University in 1964, Professor's degree (1990). He is Chief Researcher at laboratory of intelligent systems in the Institute of Automation and Control Processes of the FEB RAS, professor, Honored Scientist of Russian Federation. He is co-author of more than 300 publications in the field of biological and medical cybernetics, informatics and AI.
Тимченко Вадим Андреевич, 1983 г.р. Окончил Институт математики и компьютерных наук Дальневосточного государственного университета (2005), к.т.н. (2011). Старший научный сотрудник лаборатории интеллектуальных систем Института автоматики и процессов управления Дальневосточного отделения РАН. В списке научных трудов более 50 работ в области искусственного интеллекта, проблемно-ориентированных систем, основанных на знаниях, специализированных программных моделей и систем. Vadim Andreevich Timchenko (b. 1983) graduated from the Far Eastern State University (Vladivostok-city) on a speciality «Mathematical support and administration of the informative systems» (2005), Ph.D. (2011). He is Senior Researcher at laboratory of intelligent systems in the Institute of Automation and Control Processes of the FEB RAS. He is co-author of more than 50 publications in the field of AI, informatics, program models, technologies and systems.