УДК 004.82:510:65:510.662
З.М. АСЕЛЬДЕРОВ, К.П. ВЕРШИНІН, О.В. ЛЯЛЕЦЬКИЙ, А.Ю. ПАСКЕВИЧ, В.П. КЛИМЕНКО, Ю.С.ФІШМАН______________________________________________________________________________________
ДЕДУКТИВНІ, ІНДУКТИВНІ ТА АНАЛІТИЧНІ МЕТОДИ ПОДАННЯ І ОБРОБКИ КОМП’ЮТЕРНИХ ЗНАНЬ В ІНТЕЛЕКТУАЛЬНИХ СИСТЕМАХ (1. ДЕДУКТИВНІ МЕТОДИ І ЗАСОБИ)
Вступ
В даній роботі розглядаються деякі проблеми штучного інтелекту, а саме комплексний підхід до рішення проблем подання та обробки комп'ютерних знань на базі проведення на ЕОМ логіко-алгебраїчних побудов у формалізованих теоріях. Слід зауважити, що поняття “штучний інтелект” не можна зводити лише до створення пристроїв, які повністю або частково імітують діяльність людини.
Розглянемо і проаналізуємо в загальних рисах деякі проблеми, які доводиться постійно вирішувати людському розумові при рішенні задач, пов'язаних з комп'ютерною обробкою формалізованих знань, що базуються на таких парадигмах: чисельна, аналітична (символьна), дедуктивна, індуктивна та інтеграційна.
Чисельна парадигма відображає засоби і методи наближеного або точного рішення задач чистої або прикладної математики, що базується на побудові скінченної послідовності дій над скінченними множинами чисел.
Аналітична парадигма базується на можливості ЕОМ проводити складні символьні перетворення, робити числові викладки, будувати графіки функцій, задавати математичні моделі визначених процесів тощо. Вона орієнтована на побудову та використання систем комп'ютерної алгебри і виникла в середині 1960-х рр. як альтернатива обчислювальній парадигмі у зв'язку з появою ЕОМ такої швидкодії, інформаційної ємності і гнучкості, що стало можливим програмування складних інтелектуальних процесів.
Дедуктивна парадигма спирається на декларативний спосіб представлення та обробки комп'ютерних знань, який грунтується на тому, що існуючі знання представляються у вигляді певних формалізованих текстів (як правило, аксіом, визначень, тверджень, теорем і т.д.), а додаткові знання беруться з наявних шляхом деяких умовиводів, що звичайно мають вигляд правил побудови (виводу) нових тверджень. Системи представлення та обробки знань, обгрунтовані на цій парадигмі, отримали назву систем автоматизації міркувань, більша частина яких існує у вигляді систем доведення теорем, оскільки саме логіко-математичний підхід виявляється найбільш релевантним та ефективним при рішенні задач на проведення логічних побудов і використовується в багатьох прикладних галузях.
Індуктивна парадигма базується: у природознавчих науках - на переході від часткових спостережень до справедливих висновків, а у математиці - на методі доведення, пов'язаному з перевіркою будь-якої властивості відповідно до часткового або повного порядку.
Інтеграційна парадигма “об'єднує” усі вищеназвані парадигми. Її можна поділити на два типи: інтегрування на етапі проектування, тобто ще під час розробки системи передбачається наявність у ній систем різного роду, можливості її ієрархічного нарощування та підключення до неї вже наявних комп'ютерних служб, та інтегрування на етапі експлуатації, тобто комбінування в одну систему вже готових комп'ютерних служб (особливе зацікавлення до розробки таких служб визвало широке застосування мережі Internet для передачі необхідних даних, що, у свою чергу, привело до створення відповідних стандартів).
Що стосується інтеграції на етапі експлуатації, то тут відмітимо, що в рамках проектів Open Mechamzed Reasonmg Systems [1] та OpenMath [2] розроблено мови специфікацій та спілкування відповідно в галузі доведення теорем та символьних обчислень. І ці мови допускають поєднання.
Найбільш відомим представником підходу до інтеграції на етапі проектування є система Mizar [3]. Іншим представником може бути проект Theorema [4].
В Україні у кінці 1960-х років академіком В.М. Глушковим був запропонований так званий Алгоритм Очевидності (АО) [5]1, який ще в той час можна було віднести до інтеграційної парадигми, що ставить питання про одночасне проведення досліджень у напрямку розробки формалізованих мов для запису математичних текстів у найсприятливішій для користувача формі, у напрямку еволюційного розвитку поняття машинного (дедуктивного та індуктивного) кроку доведення, створення інформаційного середовища EA, яке впливає на очевидність машинного кроку доведення, і в напрямку побудови засобів інтерактивної обробки математичних текстів. Опис поточного стану робіт щодо обробки комп'ютерних знань у відповідності з сучасним баченням Алгоритму Очевидності приводиться у даної роботі. Причому опис стосується тільки дедуктивних методів та засобів. Інші методи та засоби обробки комп'ютерних знань в інтелектуальних системах будуть описані пізніше у ряді статей.
1. Особливості обробки математичних текстів у стилі Алгоритму Очевидності
Відповідно до програми АО, ядром системи автоматизованого пошуку доведення мусить бути процедура встановлення очевидності довідного (верифікованого) твердження в термінах деякого дедуктивного механізму. Таку процедуру необхідно посилити додатковими засобами: мати можливості пошуку допоміжних тверджень чи якої-небудь іншої релевантної інформації, застосовувати алгебраїчні перетворення (або, у сучасній термінології, системи комп'ютерної алгебри), використовувати звичні для людини прийоми доведення та ін. Весь цей інструментарій мусить мати можливість обмінюватися даними за допомогою деякої формалізованої мови.
До мови були сформульовані такі вимоги. Синтаксис і семантика цієї мови повинні бути формалізовані. Вона мусить допускати формулювання аксіом теорії, теорем та їх доведень для забезпечення цілісності текстів і формулювання визначень. Щоб тезаурус мови можна було поповнювати, його повиненно відокремити від граматики мови. Крім того, мова повинна бути близькою до мови математичних публікацій, щоб забезпечити користувачу зручність при створенні й обробці тексту в інтерактивному режимі. Більш того, мова повинна дозволяти формулювати задачі, що не зв'язані безпосередньо з пошуком виведення.
Перший опис такої мови даний у [10]. Остаточний варіант мови, названої TL (Theory Language) [11], з'явився на початку 1970-х рр. [12].
Дедуктивні засоби розвивалися одночасно з мовою у відповідності з такими вимогами: синтаксична форма початкової задачі повинна бути збережена; дедуктивні побудови повинні проводитися в сигнатурі початкової теорії; пошук доведення повинен бути цілеорієнтованим; обробка рівностей (розв'язання рівнянь) повинна бути відокремлена від дедуктивних процесів. У результаті було розроблене числення а-секвенцій [13].
Таким чином, програма АО була зорієнтована на побудову різних складових, необхідних для обробки математичних текстів, записаних формалізованою мовою (тобто процедур для пошуку виведення, символьних обчислень, побудови контрприкладів, застосування визначень та ін.). Ідеї, що лежать в основі програми АО, розроблялися в цілій серії робіт і були частково реалізовані в рамках системи автоматизованої обробки математичних текстів, названої САД.
1 В. Глушковим у другій половині 60-х років також був ініційований аналогічний підхід до створення родини комп'ютерних алгебр у вигляді ієрархії систем, що розвиваються, виконуючих аналітичні перетворення, серед яких треба відмітити спеціалізовані ЕОМ серії МІР з мовою Аналітик [6], системи Аналітик-79 [7] для СМ ЕОМ 1410 та Аналітик-93 [8] і Аналітик-2000 [9] для ПК типу ІВМ РС.
На теперішній час розроблена нова, удосконалена, версія мови TL, названа ForTheL (FORmal THEory Language) [14]. Основна мета розробки мови ForTheL - забезпечити початкове середовище для подальшого розвитку ядра Алгоритму Очевидності та підсилити його можливості, що залежать від задачі, яка розв'язується. Відповідно до існуючого підходу до пошуку доведення в стилі Алгоритму Очевидності, оброблюваний математичний текст має бути записаний мовою ForTheL та перетворений потім у так званий ForTheL1-текст, що являє собою цілісний текст. ForTheL1-текст складається з пропозицій, що, з одного боку, є аналогами формул логіки першого порядку, а, з іншого боку, зберігають сигнатуру початкового ForTheL-тексту, його синтаксис і структуру, тобто поділ на такі розділи, як визначення, допоміжні твердження, теорема, яку треба довести. Після перетворення ForTheL-тексту в ForTheL1-текст можна здійснити побудову інформаційного ForTheL1-середовища пошуку доведення.
Для пошуку логічного виведення в ForTheL1-середовищі в [15] був запропонований спеціальний формалізм секвенційного типу.
У результаті використання в цьому формалізмі оригінального поняття а-секвенції (замість звичайної секвенції) вдалося досягти таких переваг:
- розвинути спеціальну техніку роботи з кванторами (яка не вимагає попередньої сколемізації ), що допускає пошук виведення в сигнатурі початкової теорії і дозволяє досягти ефективності пошуку, порівняної з ефективністю методів, які вимагають попередньої сколемізації;
- звести довідне твердження до сукупності нових допоміжних тверджень, накопичуючи “рівняння”, які треба розв'язати, і не вказуючи при цьому, які терми варто підставляти замість змінних;
- відкладати пошук розв'язку «рівнянь» до довільного моменту часу з метою відокремити його (пошук розв'язку) від дедуктивного процесу;
- вибирати процедуру розв'язку рівнянь (наприклад, застосовувати звичайну уніфікацію, АСа-уніфікацію, Е-уніфікацію), додавати спеціальні правила для рівностей (наприклад, парамодуляцію), застосовувати різні засоби, наявні в системах комп'ютерної алгебри.
Таким чином, важливою рисою секвенційного формалізму є те, що він дає можливість інтегрувати дедукцію і символьні обчислення на рівні логічних числень. Крім того, даний формалізм дозволяє поєднати різні дедуктивні системи: числення Кангера, системи пошуку спростування, базовані на принципі резолюцій Робінсона, а також зворотний метод Маслова в його різних інтерпретаціях. Він дає можливість порівнювати зазначені дедуктивні системи [16] і переносити результати, отримані для однієї системи, на іншу.
1.1. Мовні засоби
Мовні засоби відіграють у всьому проекті АО в певному розумінні двоїсту роль. По-перше, нам потрібна придатна мова спілкування, що дозволяє виражати математичні факти і міркування в звичному для математиків виді, а не подавати їх, як це часто необхідно, із самого початку (розв'язку задачі) у рамках деякого точного логічного формалізму - відповідне перетворення мусить виконуватися «автоматично». По-друге, і це, можливо, ще важливіше, роль мови полягає в тому, щоб забезпечити відповідне середовище для розв'язуваної задачі (довідної теореми), яке надалі повинне передаватися процедурі доведення. Середовище може містити необхідні визначення, допоміжні твердження (леми), корисні схеми доведення та ін., а також алгоритми, що дозволяють використовувати всі ці засоби. Середовище, з одного боку, повинне задовольняти деяким умовам замкненості - усе, що використовується, мусить бути описане, а, з іншого боку, вона не повинна бути занадто велика за обсягом. І, нарешті, формування середовища має відбуватися динамічно -залежно від поведінки процедури доведення і поточного стану простору пошуку.
Наші досвід і спостереження показують, що методи, «базовані на мові», виявляються досить ефективними для досягнення згаданої вище мети. Ми сподіваємося, що мова РогТИеи дозволить зробити ще один крок у цьому напрямку.
Власне кажучи, РогТИеи-текст можна розглядати як сукупність фраз, наділену деякою структурою, що забезпечує певні «правила навігації» у тексті. Тому видається доцільним розрізняти в мові дві в певному розумінні ортогональні складові. Перша — це мова РогТИеи-фраз, друга ж визначає композицію всього тексту: групування фраз, іменування розділів, область дії змінних і т.п.
1.2. Синтаксис і семантика РогТИеЬ-тексту
1.2.1. Синтаксис
З погляду синтаксису РогТИеи-текст являє собою сукупність розділів. Кожен розділ, у свою чергу, може містити розділи більш низького рівня і/чи фрази. Границі розділів відзначаються роздільниками, що визначає відношення часткового порядку в певному розумінні відношення підпорядкованості на множині розділів даного тексту. Синтаксис роздільників може бути обраний у достатньому ступені довільно, але ми бажаємо діяти згідно з звичайною практикою нумерації, що прийнята в математичних текстах (наприклад, стиль иі\ІСБ для иаТеХ).
Деякі розділи: теореми, доведення, визначення - відіграють у мові особливу роль. Вони
відрізняються спеціальним синтаксисом роздільників, що також відповідає звичайній математичній практиці.
Розділ, що містить тільки фрази, будемо називати простим. Кожна фраза або стверджує, або допускає дещо. Відмінність між твердженнями і припущеннями виражається за допомогою простих синтаксичних засобів.
1.2.2. Семантика
Семантика РогТИеи-тексту визначається тією задачею, яку формулює користувач. Візьмемо деякі приклади таких задач: «перевірити коректність даного тексту», «перевірити коректність речення з даного тексту», «знайти контрприклад до твердження з даного тексту», «знайти в тексті інформацію, релевантну ...» і т.п.
Розглянемо, наприклад, другу з перелічених задач. Назвемо речення даного тексту коректним, якщо воно може бути формально виведене зі своїх «попередників». Такий опис вимагає придатного визначення того, що таке «логічний попередник», який можна задати за допомогою перегляду тексту - при цьому роздільники відіграють роль «дорожніх знаків» - і шляхом заміни деяких розділів їх «головними твердженнями». Таким чином, цілий розділ «теорема» можна замінити формулюванням виведення теореми.
1.3. Синтаксис і семантика РогТИеЬ-фрази
Мова РогТИеи-фраз містить як власну підмножину мову першого порядку. Крім того, він має істотні особливості: використовується так зване словесне написання, тобто конструкції мови записуються у вигляді слів (природної мови); у мові є так звані поняття, що є аналогами іменників.
Словесне написання дозволяє будувати РогТИеи-фрази подібно до фраз природної мови — використовуючи підмети, присудки, доповнення і визначення. РогТИеи також забезпечує скорочену символіку, прийняту в математичній логіці.
Логічні зв'язки, а також деякі поняття і предикати є неозначуваними (базовими) синтаксичними одиницями мови ForTheL. Інші синтаксичні одиниці повинні вводитися за допомогою визначень.
Предикатні і функціональні символи в ForTI^^ визначаються у словесній формі; можливі і відповідні символьні позначення. Предикати виражаються за допомогою дієслів і дієприкметників, функції - за допомогою іменників. Таким чином, твердження P(A) > n може бути записане у вигляді power of A is greater than n.
Використання словесної форми в рамках символьної не допускається. Більш того, кажучи про словесну форму, будемо далі використовувати термін «шаблон» замість термінів «функціональний символ» чи «предикатний символ».
Корисною особливістю шаблонів предикатів є те, що вони дозволяють розміщати більш одного терма на першому аргументному місці. Така конструкція перетвориться в кон'юнкцію відповідних літералів. a, b divide n таким чином перетвориться в (n | a A n | b). Надалі мова буде забезпечувати коректну обробку виразів вигляду a, b are equal для симетричних транзитивних бінарних предикатів.
Мова ForTheL регулює вживання артиклів, множини іменників, дієприкметників теперішнього часу. Передбачається поступове поповнення мови загальновживаними виразами.
1.3.1. Поняття в мові ForTheL
Словесне написання обумовлене тим, що ForTheL наближений до природної мови і може розглядатися як «косметичний» засіб. Однак на ньому базується інша ключова особливість мови - поняття. Використання понять, по-перше, відповідає стилю викладу людини, а, по-друге, може допомогти в пошуку виведення при обробці ForTheL-тексту.
Поняття можна розглядати як аналог терма мови першого порядку, але його значенням є не окремий об'єкт, а (параметризована) сукупність об'єктів. Прикладом поняття є relation on X, де змінна X описана як множина (інше поняття мови ForTheL). Сукупність (чи клас) об'єктів не повинна ототожнюватися з множиною, що містить ці об'єкти. З погляду семантики мови ForTheL, множина є окремим об'єктом, так само, як і його елементи, тоді як клас, специфікований поняттям, не є елементом тієї ж предметної області.
Кожному шаблону поняття з n позиціями відповідає характеристичний (n +1)-місний предикат.
Відповідне відношення виражає той факт, що деякий об'єкт належить класу, специфікованому цим поняттям. Предикатний символ може бути описаний безпосередньо в тексті визначення нового шаблона поняття як
символ, що його позначає. Для шаблона поняття function from Ж1 to P2 таким предикатним символом може слугувати Ж'.Ж1 ®Р2 (за допомогою Р ми позначаємо аргументні місця).
1.3.2. Звуження і розширення понять
Можна зробити поняття більш визначеним (тобто звузити відповідний клас) за допомогою спеціальних модифікаторів - атрибутів і пост-умов. Одні атрибути додають обмеження на деякий елемент класу, наприклад, empty set чи number dividing N. Інші додають обмеження на значення деякої унарної функції, визначеної на даному класі, наприклад, set of power K, set of finite power. Неважко помітити, що атрибути є похідними шаблонів предикатів. Граматика мови ForTheL допускає спільне використання декількох атрибутів. Пост-умова - це звичайне речення мови ForTheL, що приєднується до шаблона поняття за допомогою зв'язки such that.
Можливе також розширення поняття шляхом збільшення числа аргументів. Таким чином, якщо визначений шаблон поняття relation on п, то неповне поняття relation буде задавати клас всіх відношень на всіх множинах даної предметної області, а не на деякій окремій множині.
1.3.3. Змінні та сорти
У ForTheL'і нова змінна описується або за допомогою припущення, у якому змінна прирівнюється до деякого терма, або за допомогою припущення про її належність до класу, що задається деяким поняттям. Обидва твердження можуть бути виражені як явно за допомогою предикатів is equal to і is a (причому тільки в словесній формі), так і неявно шляхом іменування функцій та понять. Наприклад, твердження set_A contains x неявно описує A як змінну, значенням якої є множина. Символ підкреслення позначає іменування.
Термін «сорт» вживається тут у трохи відмінному від загальноприйнятого розуміння та позначає шаблон поняття. Визначаючи нове поняття через інші поняття, ми задаємо ієрархію сортів. Сорт шаблона чи предиката шаблона поняття є послідовність сортів його аргументних місць; сорт шаблона функції є послідовність сортів його аргументних місць разом із сортом значення функції.
У правильно побудованому ForTheL-тексті кожній описаній змінній відповідає її сорт: шаблон поняття, що специфікує клас, якому належить змінна. Таким чином, з'являється можливість додаткового контролю коректності.
У деяких випадках ієрархія сортів може вказати вірний напрямок пошуку виведення. Частковий порядок на множині сортів може бути використаний програмою пошуку доведень для вибору, в першу чергу, тих засновків, що містять поняття, пов'язані з метою.
1.3.4. Терми
Терми в мові ForTheL або об'єкти мови, що можуть знаходитися на аргументних місцях шаблонів предикатів, функцій та понять, можуть мати один з виглядів:
- терм мови першого порядку;
- іменоване поняття, в якого аргументні місця зайняті термами. Іменоване поняття визначає неявно нову змінну, і терм замінюється цією змінною;
- поняття, аргументні місця якого зайняті термами, випереджене лексемою class of; значенням терма буде множина, що складається з елементів класу, специфікованого даним поняттям;
- поняття, аргументні місця якого зайняті термами, випереджене лексемою some чи every; такий терм замінюється новою змінною відповідного сорту і наділяється логічним контекстом, вираженим квантором існування або загальності, що обмежує цю змінну; контекст надалі обробляється в залежності від способу вживання терма. Наприклад, твердження all divisors of some number are simple буде перетворене в $n(number (n) a "d(divisor(d, n) з simple(d))).
1.3.5. Використання кванторів
Мова ForTheL дозволяє задавати квантори, що обмежують поняття: for every simple number_P true that P is odd. Дане твердження перетвориться як формула з квантором загальності по змінній P, сортом якої є клас простих чисел. Поняття може бути розіменоване: there exists an even simple number. У такому випадку з'являється нова змінна.
Для унарних понять у мові ForTheL можуть бути введені синоніми. Твердження there exists a divisor of N можна записати так: N has a divisor.
1.3.6. Визначення нових шаблонів
У мові ForTheL шаблони понять class і set, а також шаблони предикатів is equal to, belongs to і is a є неозначуваними. Як зазначено вище, всі інші шаблони і символи визначаються безпосередньо в ForTheL-тексті. Однак при формалізації конкретної теорії можна зручніше розширити перелік неозначуваних шаблонів, ніж зводити їх до теоретико-множинного рівня. Зауважимо, що шаблони характеристичних предикатів понять дозволяють виключити предикат is a під час трансляції.
Визначення нових шаблонів — це ForTheL-фрази спеціального вигляду. Зауважимо, що шаблон предиката визначається шляхом вказівки умови істинності предиката, шаблон функції - шляхом прирівнювання її до деякого терма чи вказівкою критерію рівності (можливо, з доведенням функціональності), шаблон поняття
- або шляхом звуження деякого поняття, або шляхом вказівки характеристичного відношення. Мова ForTheL допускає також і рекурсивні визначення.
На закінчення зауважимо, що подробиці синтаксису понять і особливості використання мови ForTheL наведені в додатках A і Б.
2. Дедуктивні методи
Однією з особливостей дедукції в стилі АО є те, що пошук доведення виконується в середовищі цілісного ForTheL1-тексту, що є результатом перетворення початкового ForTheL-тексту. Оскільки ForTheL1-текст є структурованим, тобто містить визначення, допоміжні твердження і теорему, яку треба довести, секвенційний підхід, запропонований у [7] для пошуку виведення формул першого порядку, отримує в даній роботі подальший розвиток. Тут пропонується числення, що містить спеціальні правила виведення для роботи з визначеннями і допоміжними твердженнями. Як і раніше, дедуктивний процес у стилі АО має такі складові: зведення (редукція) довідної «мети» до сукупності допоміжних «підцілей»; ефективна обробка кванторів без попередньої сколемізації з метою пошуку доведення в сигнатурі початкової теорії; розв'язок «рівнянь», породжених на стадії редукції мети.
Зауважимо, що перша робота [9] про пошук доведення в стилі АО з'явилася в 1966 р. У ній описувалася евристична процедура пошуку доведення в теорії груп, що допускала використання на формальному рівні методів пошуку доведень, які зустрічаються в математичних публікаціях. Згодом ця формальна техніка була поширена на деякий фрагмент теорії множин. Своє завершення вона отримала у вигляді числення ПДЦ (Пошуку Допоміжних Цілей) [10], що призначалося для перевірки істинності формул класичної логіки першого порядку. Подальший розвиток ПДЦ викликав появу першого представника сімейства секвенційних числень у стилі АО [4]. Щоб визначити місце цих числень серед інших, ми даємо нижче короткий опис наявної в даний час теоретичної бази побудови процедур пошуку доведень теорем.
2.1. Основні підходи до пошуку виведення в класичній логіці першого порядку
Кінець 1950-х і початок 1960-х рр. ознаменовані появою електронних обчислювальних машин такої швидкодії, обсягу пам'яті й оснащеності, що стала можливою автоматизація складних інтелектуальних процесів. Відгуком
на появу обчислювальної техніки такого сорту стала публікація серії робіт, що стосується реалізації числень генценівського типу [19], а також методів пошуку виведення, базованих на результатах Сколема [20] і Ербрана [21]. Подробиці можна знайти в роботах [22 - 25].
Варто зауважити, що в цих перших роботах була дана відповідь на принципове питання про можливість використання обчислювальних машин для побудови математичних міркувань, але недолік ефективних машинно-орієнтованих засобів оптимізації перебору при побудові міркувань перешкоджав отриманню доведень навіть досить простих тверджень класичної логіки першого порядку. Дослідження з поліпшення ефективності запропонованих методів пошуку доведень привели до появи числення Кангера [26] (генценівський підхід) і методу резолюцій Робінсона [27] (сколемівсько-ербранівський підхід). На сьогоднішній день другий підхід дав найбільш ефективні машинно-орієнтовані процедури пошуку виведення для класичної логіки першого порядку, включаючи метод резолюцій Робінсона. (Заслуговує на увагу зворотний метод Маслова [28], оскільки він може бути сформульований у термінах резолюції для класичної логіки першого порядку.) Таким чином, дослідження з автоматизації доведення теорем були зосереджені переважно на вдосконаленні можливостей сколемівсько-ербранівського підходу. Зокрема, були запропоновані алгоритми уніфікації, що враховують особливості тієї чи іншої теорії першого порядку з рівністю (А-уніфікація, АС-уніфікація та ін.).
Досліджувалися способи додавання спеціальних правил обернення з рівністю (наприклад, правила парамодуляції) до резолюційних методів. Постійні зусилля в напрямку розвитку сколемівсько-ербранівського підходу привели до появи методу семантичних таблиць, методу графів зв'язків, цілеорієнтованих методів пошуку та ін.
Більш низька ефективність генценівського підходу (у порівнянні зі сколемівсько-ербранівським підходом) може пояснюватися тим, що навіть числення кангерівського типу (і числення ПДЦ [18], зокрема), що відмовляються від обов'язкового виконання попередньої сколемізації, приводять до надлишкового перебору, викликаному можливістю різних порядків застосування логічних (в основному, кванторних) правил і необхідністю подвоєння головних формул при застосуванні деяких з цих правил. У той же час машинно-орієнтовані методи генценівсько-кангерівського типу є відображенням способів доведень, «природніших» для людини.
Крім того, вони дозволяють створювати досить гнучкий інструментарій для підтримки діалогу між користувачем і ЕОМ при інтерактивному пошуку виведення , а також сприяють розумінню процесу машинного доведення людиною. Таким чином, підвищення ефективності пошуку виведення в численні ПДЦ поряд зі збереженням коректності (і, якщо можливо, повноти) дедуктивної обробки «природних» математичних текстів і застосуванням математичних фактів, відомих АО, стає важливою задачею пошуку доведення в рамках АО.
У результаті проведених досліджень було розроблене числення а-секвенцій [13]. Це коректне і повне числення першого порядку, в якому використовується оригінальне поняття припустимої підстановки [29], введене з метою оптимізації додаткових зусиль, зв'язаних з можливістю різних порядків застосування кванторних правил (без попередньої сколемізації). (Пізніше було показано [29], що поняття припустимої підстановки може бути досить просто «вбудовано» у стандартні генценівські числення.)
Помітимо, що поряд з численнями генценівсько-кангерівського типу в рамках АО досліджувалися також числення сколемівсько-ербранівського типу [30].
2.2. Пошук виведення в середовищі математичних РогТИеИ-текстів
У даному розділі подане розширення а-секвенційного формалізму з [15] на РогТИеИ-тексти, що забезпечує застосування визначень і допоміжних тверджень у РогТИеИ-середовищі. Щоб зробити виклад достатньо
незалежним від роботи [15], тут вводяться всі необхідні визначення. Формалізм а-секвенцій використовувався в [15] як для формальної побудови числення дБ, так і для неформального опису числення тБ. Останнє можна розглядати як числення дБ, збагачене правилами застосування визначень і допоміжних тверджень. Для числення, визначеного нижче, збережене позначення «тБ». Також зауважимо, що числення тБ при його алгоритмічному проробленні з метою дає цілий спектр різних реалізацій процедур пошуку виведення в дедуктивних системах [34 - 36].
Нагадаємо, що відповідно до сучасного бачення АО обробка цілісного математичного тексту поділяється на три етапи:
- запис початкового математичного тексту у вигляді РогТИеІ_-тексту;
- переклад РогТИеІ_-тексту в РогТИеИ-текст;
- пошук доведення в численні тБ у середовищі РогТИеИ-тексту.
У додатку В наведений приклад з області нестандартного аналізу, що демонструє повний цикл обробки математичного тексту в стилі АО.
2.2.1. Попередні зведення
Основним об'єктом у численні тБ є а-секвенція. А-секвенцію можна розглядати як спеціальне узагальнення звичайного поняття секвенції. Ми розглядаємо секвенції, сукцедент яких складається лише з одного об'єкта (названого метою).
У даній роботі ми вважаємо, що класичне числення предикатів першого порядку подане у вигляді секвенційного числення О, описаного в [31].
Ми використовуємо поняття підстановки, визначене в [27]. Підстановочна компонента - це вираження виду t / x , де x - змінна, а t - терм підстановки.
Нехай L - літера, позначимо ~ L її заперечення. Використовуємо вираз L(t1,..., tn) для
позначення того, що t1,...,tn є список усіх термів (можливо, з повтореннями), що займають аргументні місця в
літері L , в тому порядку, в якому вони зустрічаються в ній. Позначимо F |у результат заміни у формулі F змінної x на змінну у .
Крім звичайних змінних, будемо використовувати дві зліченних множини спеціальних змінних: невідомі і фіксовані змінні («фіктивні» і «параметри» у термінології [26]).
Впорядкована трійка < w,F, E > називається ансамблем, якщо w є послідовність (слово, що
складається з невідомих і фіксованих змінних); F - формула першого порядку; E - множина пар термів t1, і2
(рівностей виду t1 = t2).
Назвемо а-секвенцією вираз вигляду [Р], [й ], [В], ,..., < wn,Pn,En >^< w,F,E > , де
< w1,P,E1 >,..., < wn,Pn,En > , < w,F,E >- ансамблі; [В] - список літер, можливо, порожній, [й ] і [Р] -
списки РогТИеІ_-речень, що відповідають визначенням і допоміжним твердженням.
Ансамблі в антецеденті а-секвенції називаються засновками, а ансамбль у сукцеденті - метою даної а-секвенції. Сукупність засновків розглядається як множина; таким чином, порядок засновків неістотний.
Нехай W - множина послідовностей невідомих і фіксованих змінних, 5 - підстановка. Покладемо
A(W, 5) = {< гі, w >: г - змінна 5 ; t - терм 5 ; w є Ж , а г розташована в w ліворуч від деякої
фіксованої змінної з і . Тоді 5 називається допустимою для Ж, якщо всі змінні 5 є невідомими змінними, у А(Ж, 5) не існує (різних) елементів
< г1, ^ < 2п , ^, Щ > та^ що і2/г1 є 5 ^ / 2п_1 є 5 , і1/2п є 5 (П > 0) ...
Розщеплення деякого РогТИеІ_-речення Р за головною логічною зв'язкою і можлива взаємодія його з засновком Р приводить до породження нових а-секвенцій. Множини Е1,...,Еп,Е визначають терми, що
повинні бути підставлені замість невідомих змінних, щоб перетворити кожну рівність і1 = і2 з Е1,...,Еп,Е у
тотожність і = і в результаті застосування до Е1,...,Еп,Е підстановки, обраної визначеним способом.
Множини Щ1,...,щп,Щ служать для перевірки допустимості підстановки, отриманої при пошуку доведення.
Помітимо, що в будь-якій а-секвенції деякі (чи усі) послідовності Щ1,...,Щп,Щ і деякі (чи усі) множини
Е1,...,Еп,Е можуть бути порожніми.
Початкова а-секвенція будується так. Нехай деякий цілісний РогТИеИ-текст Txt містить сукупність [й ] визначень і сукупність [Р] допоміжних тверджень, а Т - теорема, яку можна подати в термінах числення
О як секвенцію вигляду Р,...,Р„ ^ F. Тоді будемо вважати а-секвенцію [Р], [й ], [],
<, Р1, >,..., <, Рп, >^<, F, > початковою (відносно Т і Тх^.
При пошуку виведення в численні тБ будується дерево виведення. На початку пошуку воно складається з початкової а-секвенції. В процесі пошуку вузли дерева виведення породжуються відповідно до правил, наведених нижче. Дерево виведення нарощується «зверху вниз». У формулюваннях правил,
наведених нижче, МБ позначає множину засновків, [й ] ([й 1], [й 2] ) є список визначень (можливо, порожній), [Р] ([Р1], [Р2] ) є список допоміжних тверджень (можливо, порожній). Іноді ми будемо опускати списки [Р], [й ] у тому випадку, коли вони не використовуються.
Введемо поняття позитивного (негативного) входження літери І_ у формулу Р (позначимо відповідно F_£+ \ чи F\т\) з точністю до рівностей:
- нехай літера F(~ F) може бути отримана зі L(і1,..., іп) шляхом заміни термів і1,..., іп деякими термами і1,..., іп. Будемо говорити, що L має позитивне (негативне) входження в літеру F з точністю до рівностей і1 = і1,..., іп = іп;
- якщо F_£+ \ (F\ь \ ) з точністю до рівностей і1 = і1,...,іп = іп і F1 є формула, то І_ має позитивне (негативне) входження (з точністю до рівностей і1 = і1,..., іп = іп ) у формули F А F ; F Л F ; F V F1; F1 V F; F1 з F ; "xF ; ЗxF ;
- якщо F\_£+ \ (F_£ \ ) з точністю до рівностей і1 = і1,...,іп = іп і F1 є формула, то L має негативне (позитивне) входження (з точністю до рівностей і1 = і1,..., іп = іп) у формули F з F і 0F ;
- інших випадків позитивних (негативних) входжень L у F немає.
2.2.2. Правила розщеплення мети (РМ)
Правила РМ використовуються для елімінації головної логічної зв'язки з РогТИеИ-реченням, що знаходиться в меті оброблюваної а-секвенції. Застосування кожного з правил веде до породження нової а-секвенції з єдиною метою (і, можливо, новими засновками). Елімінація РогТИеИ-аналогів пропозиційних зв'язок виконується так само, як і в класичній логіці першого порядку, і може бути виражена в термінах похідних правил стандартного
числення генценівського типу [31], при цьому Щ1,...,Щп,Щ,Е1,...,Еп не змінюються. Істотна відмінність від
традиційних засобів пошуку виведення генценівського типу спостерігається при обробці кванторів. Ця відмінність відбиває спеціальні способи обробки кванторів, що вивчалися в [13], при яких змінні елімінованих кванторів заміщаються (залежно від вигляду і позиції елімінованого квантора) невідомими чи фіксованими
змінними. При цьому w (але не Щ1,...,Щп,Е1,...,Еп,Е) змінюється і породжуються нові засновки.
Нижче ми використовуємо Е для позначення результату однократного пронесення знаку «0» у формулі Е відповідно до тотожностей: —і (Е1 V Е2) = —Е1 А—Е2 ; —(Е1 А Е2) = —Е1 V—F2 ;
—(Е1 з Е2) ° Е1 а —Е ; ——Е = Е; —"хЕ (х) ° Зх—Е (х) ; —ЗхЕ (х) ° "х—Е (х).
Пропозиційні правила:
(^з1 )-правило
[В],М w, Е з Е, Е >
(^3 2 )-правило
[В],М ^< w, Е з Е, Е >
[ В], М, < w, Е, Е:
: w, Е, Е >
[В],М, < w, —Е, Е
: w, 0Е, Е >
(^ А )-правило
[В],М
w, Е а Е, Е >
[В],М
w, Е, Е >
[В],М
w, Е, Е >
[В],М
w, Е V Е, Е >
[В],М, < w, 0Е, Е:
: w, Е, Е >
(^ V2 )-правило
[В],М ^< w, Е V Е, Е >
[В],М, < w, —Е,Е >^< w,Е,Е > ’
де Е є результат однократного пронесення «0» у Е . Кванторні правила:
(^ 0 )-правило
[В],М ^< w, 0Е, Е > [В],М ^< w, Е , Е >
(^ V )-правило
[В],М ^< w, УхЕ, Е > [В],М ^< w, х, Е |х, Е >
равило
[В],М ^< w, ЗхЕ, Е >
[В],М, < w, Ух0Е, Е >^< wх/, Е |х, Е >
де х є нова фіксована змінна.
де х є нова невідома змінна.
2.2.3. Правила допоміжної мети (ДМ)
Правила ДМ відбивають той факт, що числення тБ орієнтоване на пошук виведення шляхом перетворення речень цілісних математичних РогТИеИ-текстів. Правила ДМ можна інтерпретувати в термінах числень генценівського типу як елімінація головних логічних зв'язок з РогТИеИ-реченнями, що входять до засновків. (Ці
речення породжуються детермінованим чином, починаючи з такого засновку < wi,Рі,Еі > , що Рі містить
позитивне входження (з точністю до рівностей) РогТИеИ-пропозиції Р з метою а-секвенції, що є вхідною для правила ДМ. У випадку елімінації головних логічних зв'язувань у засновках залишаються в силі зауваження,
зроблені для правил РМ, за винятком зауважень, що стосуються w1,..., wn, w,Е1,..., Еп,Е.) У результаті застосування правил ДМ утвориться тБ (т > 0) а-секвенцій з новими цілями
< w1,Е1,Е1 >,...,< wm,Ет,Ет > і, можливо, деякими новими (щодо а-секвенції, що є вхідною для правила
ДМ) засновками.
Пропозиційні правила:
(31^ )-правило
(32 ^ )-правило
[В, ~ Ь],М ^< w, Е, Е' >
(V1 ^ )-правило
[В, ~ Ь],М ^< w, 0Е, Е' >
(V2 ^ )-правило
(А1 ^ )-правило
(А2 ^ )-правило
(0 ^ )-правило
де Е' - результат однократного пронесення «0» у Е .
Термінальні правила:
(^#1 )-правило
[B],< w,L(t1,..., tn),E' >,M ^< w',L(t1,..., tn),E >
M ^< w, #,E* > деE" = E' UE U{t1 = t1,..., tn = tn} ; L(t1,..., tn) , L(t1,..., tn) - літери.
(^#2 )-правило
[B1, L(tl,..., tn ), B2L M ^< W L(t1,..., tn ), E >
[B1,L(t1,...,tn),B2],M ^< w',#,E > деE' = EU{ti = t1,...,tn = tn}; Д^..^tn), tn) - літери.
Кванторні правила:
(V ^ )-правило
[B],< w, Vx(F|_L+ J), E' >,M ^< wL, E >
[ B], < wx, F |_L+ J E' >, < w, VxF, E' >, M ^< w', L, E >
/
де x є нова невідома змінна.
(З ^ )-правило
[B], < w, 3x(F|_L+ J), E' >, M ^< w', L, E >
[B], < wx, F |x [l+ J, E' >,M ^< w', L, E >
де X є нова фіксована змінна.
2.2.4. Правило застосування визначення і правило застосування допоміжного твердження
Структурування ForTheL1-текстів, тобто виділення в них так званих змістовних розділів (визначень, тверджень та ін.), дає можливість включити в числення mS правило застосування визначення (ПВ) і правило застосування допоміжного твердження (ДТ). Ці правила можна розглядати як окремі випадки правила ОЦ. Вони є аналогами природних прийомів роботи з визначеннями і допоміжними твердженнями при доведенні теорем.
Правило ПВ формулюється з урахуванням структури розділу «визначення» ForTheL-тексту. Відповідно до синтаксису мови ForTheL розділ «визначення» складається з двох частин: дескрипції і дефініції. Дескрипція є сукупність припущень, що задовольняє умові замкненості: для кожної змінної, що зустрічається в деякому
припущенні дескрипції, у тій же дескрипції знайдеться припущення, що описує цю змінну. Дефініція є ForTheL-
речення вигляду A(x1,...,Xn) IFF F(x1,...,Xn), де x1,...,xn - змінні, причому xi (i = 1,...,n) має
входження в дескрипцію. Формула A(x1,..., xn), як правило, є атомом, а F(x1,..., xn) є формула, що не містить атома A (ми обмежуємося випадком нерекурсивних визначень).
Розділ «визначення» з дескрипцією, що складається з припущень F1,..., Fk, і дефініцією виду
д^.., xn) IFF F О^..^ xn) можна розглядати як формулу
"х1...хп(Е, А... А Ек 3 (А(х1,..., хп) = Р(х13..., хп))). Оскільки застосування визначення в математичній практиці виконується звичайно так, ніби використовувалася одна з формул
"х1...хп(Е А ... А Ек 3 (А(х13..., хп) 3 Р(х13..., хп))) або вигляду "х1...хп (Е, А ... А Ек 3
(Р(х1,..., хп) 3 А(х1,..., хп))), ми вважаємо, що розділ «визначення» складається з формул зазначеного вище вигляду.
Допоміжне твердження являє собою розділ РогТИвІ_-тексту, що складається з припущень і висновку.
Висновок можна розглядати як формулу вигляду Е(х1з..., хп), де х1з..., хп - змінні, що входять до
припущення твердження. Сукупність припущень задовольняє зазначеній вище умові замкненості або може бути перетворена таким чином, щоб ця умова виконувалася (тут ми не розглядаємо відповідні перетворення, докладніше про це, наприклад, у [30], [32]).
У наведеному нижче формулюванні правила ПВ Е_ЬЬ _ позначає А(х1,..., хп) ° Р(х1,..., хп).
ПВ-правило
[Р]з[Р 1з"х1...хп(Е а...Ек 3 Е_Ь+ J)з Р 2],[В]зМ Ь,Е >
А1 ^< ^ ^ЬзЕ > А1 ^< х1...хпз Е, а ... аЕкз >
Тут А1 позначає
[Р]з[Р ! з "хх...хп (Е А ... А Ек 3 (А(хіз...з хп ) 3 Р (*із...з хп )))з Р 2 ]і[
В]з < х1...хпз A(xlз...з хп ) 3 Р(xlз...з хп )з >з М .
А1 позначає [Р]з[Р 1з"х1...хп(Е а ... а Ек 3 (А(х1з...зхп) 3 Р(х1з...зхп)))з Р 2]з[Вз~ Ь]зМ ,
[Р]з[Р 1з "х1...хп (Е А ... А Ек 3 (А(х1з...з хп ) 3 Р (х1з...з хп )))з Р 2 ], якщоЬ має позитивне входження в Р(х^..^ хп) ;
А 1 позначає [Р]з[Р 1з "х1...хп (Е А ... А Ек 3 ( Р (xlз...з хп ) 3 A(xlз...з хп )))з Р 2 ] ,
[В]з < х1...хп з Р (xlз...з хп ) 3 A(xlз...з хп )з >з М ,
а А1 позначає [Р]з[Р 1з"х1...хп (Е1 а ... а Ек 3 (Р(х^..^ хп) 3 А(х1з...з хп)))з Р 2], [Вз~ Ь]М ,
якщо Ь має позитивне входження в. А(х1з...з хп) .
ДТ-правило
[Різ Ух,.^ ( Еі А ... А Ек 3 Е _Ь+ J)з Р2]з[Р ]з[ В]з М ^< ^з Ьз Е >
А 2 ^< 'зЬзЕ > А 2 ^< х1 ...хпзЕ1 а ... а Екз >
Тут А 2 позначає [Р,з "х....х„ (Е а ... А Е, 3 Е_С _)з РД[Р ]з[В]з < х,...х„ з Е_Ь _[>з М, а А 2 позначає [Р,з "х....х, ( Е, а ... а Ек 3 Е _Ь+ _)з Р!]з[Р ]з[ Вз~ Ь]з М.
2.2.5. Правило додавання засновку (ДЗ)
Дане правило впливає на все дерево пошуку цілком. Після кожного застосування (" ^ )-правила (($ ^ )-правила) до антецедентів всіх а-секвенцій поточного дерева, що містять засновки з формулою, яка включає
2.2.6. Аксіоми
Аксіомами є а-секвенції вигляду [Р]з[Р ]з[В]зМ ^< Wз#зЕ >, де # позначає порожню формулу.
2.2.7. Дерево виведення
Твердження Т, що потрібно довести, подається як змістовний розділ «теорема» РогТИвИ-тексту. У цьому розділі умови (припущення) і висновок теореми відокремлені один від одного. Початкова (відносно Т) а-секвенція будується таким чином, що припущення попадають в антецедент, а висновок - у сукцедент. (Інша частина Txt РогТИвИ-тексту являє собою множину визначень і допоміжних тверджень.)
Застосовуючи правила виведення «зверху вниз» до початкової а-секвенції, а потім до її «нащадків» та ін., ми отримуємо у підсумку дерево виведення (щодо теореми Т, яку потрібно довести, і РогТИвИ-тексту Тх^ що складає її «оточення»). Дерево виведення Тг називається деревом доведення для вхідної а-секвенції тоді і тільки тоді, коли
а) кожний лист дерева Тг є аксіомою;
б) існує уніфікатор в усіх рівностей з Тг;
в) в допустиме (у розумінні даної роботи) для множини всіх послідовностей фіксованих і невідомих змінних, що знаходяться в листах дерева Тг.
На будь-якому етапі пошуку виведення може бути виконана перевірка можливості перетворення поточного дерева виведення в дерево доведення. Якщо побудова дерева доведення здійснюється в інтерактивному режимі, то таку перевірку може ініціювати користувач. Для виконання перевірки можуть бути використані засоби побудови найбільш загального уніфікатора.
2.3. Коректність і повнота числення mS
Вище зазначалося, що кожне РогТИвИ-речення можна розглядати як аналог деякої формули класичної логіки першого порядку. Це дозволяє будувати формули, що відповідають таким одиницям РогТИвИ-тексту, як довідна теорема, визначення, допоміжне твердження, а також працювати з цілісним РогТИвИ-текстом як з множиною формул першого порядку. Таким чином, такі вирази, як «несуперечність РогТИвИ-тексту», «дана теорема є логічним наслідком даного РогТИвИ-тексту», «загальнозначність» (довідної теореми) розуміються однозначно і не вимагають спеціального визначення семантики мови РогТИвИ. З огляду на сказане, сформулюємо основні результати про числення тБ.
Твердження 1. РогТИвИ-теорема Т є логічний наслідок несуперечливого РогТИвИ-тексту Txt (не утримуючого Т) тоді і тільки тоді, коли в тБ може бути побудоване дерево доведення з початковою секвенцією відносно Т і
виділені входження
додається новий засновок
їх!
Твердження 2. ForTheLI-теорема T загальнозначна тоді і тільки тоді, коли в численні mS може бути побудоване дерево виведення з початковою секвенцією відносно T.
Відзначимо також, що досить багатий набір правил числення mS дозволяє будувати різноманітні стратегії пошуку доведення, що моделюють звичайні математичні доведення, а при пошуку доведення в інтерактивному режимі користувач має можливість впливати на його процес. Якщо стратегія (незалежно від того, передбачає вона участь чи людини ні) забезпечує вичерпний пошук, то твердження 1 і 2 гарантують її коректність і повноту.
3. Приклади
Приклад А. Синтаксис понять
Тут подано фрагмент граматики мови ForTheL, що описує синтаксис понять. term: [ ALL | SOME | CLASS OF ] concept
| function // power of S
| symbolic_term // P(S)
concept: left_attr free_concept right_attr
[ SUCH THAT statement ] free_concept: C_TOK [ _ var ]
| C_TOK [ _ var ] C_TOK term
| C_TOK [ _ var ] C_TOK term C_TOK term
left_attr: left_constr
right_attr: right_constr
| OF F_TOK term // of power N
| OF left_constr F_TOK // of nonzero power
| OF F_TOK right_constr // of power less than N
left_constr: [ NOT ] P_TOK // empty ...
right_constr: [ NOT ] EQUAL TO term | [ NOT ] BELONGING TO term
| [ NOT ] P_TOK term // ... dividing N
| [ NOT ] P_TOK P_TOK term // ... less than N
Приклад Б. Приклад ForTheL-тексту
У правильно побудованому ForTheL-тексті, наведеному нижче, введені деякі визначення з теорії
множин.
Definition 1. Element of A is a set belonging to set _ A.
Definition 2. A is empty IFF wrong that exists an element of set _ A.
There exists unique empty set.
Definition 3. Empty_set (0) is equal to any empty set.
Definition 4. Let A, B be sets.
A is a subset of B (A \sub B) IFF all elements of A belong to B.
Lemma 1. Each set has a subset.
Proof. 0 is a subset of all sets. QED.
Definition 5.
Powerset of A (PS[A]) is equal to the class of subsets of set _ A.
Definition 6 "Tarski". Let A be a set.
A is finite IFF for every not empty subset _ K of PS[A] there exists subset _ S of A belonging to K such that S is not a subset of any element of K not equal to S
Приклад В. Дедукція в стилі АО
Тут наведений приклад обробки математичного тексту відповідно до схеми АО. Подане доведення (але не пошук доведення) теореми з [33]: «Кожна замкнена підмножина компактної множини компактна». Якщо діяти відповідно до схеми, необхідно «занурити» дану теорему в деякий математичний текст. Тут наводиться частина тексту, що містить ті припущення і розділи, які використовуються у виведенні, поданому нижче. Таким чином, визначення деяких понять (наприклад, нескінченно близької точки, функції ST) у текст не включені: ці визначення не використовувалися як засновки ПВ-правила. Для простоти викладу ми використовуємо подання секвенцій у стилі Генцена, а не у вигляді а-секвенцій, «переносячи» обробку рівностей і послідовностей змінних у коментарі.
Теорема, яку треба довести, розглядається як частина наступного цілісного математичного ForTheL-
тексту.
Section 1. "Sets and Relations"
Lemma 1:1. Every subset of any set is a set.
Lemma 1:2. Let U be a subset of set _ V.
Then all elements of U are the elements of V.
Lemma 1:3. For any set _ Y ST[Y] is a set.
Lemma 1:4. For any subset _ U of set _ V ST[U] is a subset of ST[V].
Lemma 1:5. Every subset of every subset of any set _ U is a subset of U.
Section 2. "Topological Spaces"
Lemma 2:1. Any topological_space is a set.
Definition 2:1.
Let Y be a set. Any point of Y is an element of Y. Definition 2:2. Let M be a subset of topological_space _
Y. M is
closed IFF for any point _ Q of Y if there exists point of ST[M] infinitesimally_close to Q then Q is a point of
M.
Definition 2:3. Let M be a subset of topological_space _ Y.
M is compact IFF every point of ST[M] is infinitesimally_close to some point of M.
Theorem 2:1. Let K be a compact subset of topological_space _ X. Then any closed subset of K is
compact.
В результаті синтаксичних перетворень даного ForTheL-тексту отримуємо наступний ForTheL1-текст. Section 1.
Lemma 1:1.
Let V be a set. Let W be a subset of V. W is a set.
Lemma 1:2. Let V be a set. Let U be a subset of V.
If t is an element of U then t is an element of V.
Lemma 1:3. Let Y be a set. ST[Y] is a set.
Lemma 1:4. Let V be a set. If U is a subset of V then ST[U] is a subset of ST[V].
Lemma 1:5. For all U, V, W if U is a subset of V and V is a subset of W then U is a subset of W.
Section 2.
Lemma 2:1. If Y is a topological_space then Y is a set.
Definition 2:1. Let Y be a set.
If P is a point of Y then P is an element of Y.
If P is an element of Y then P is a point of Y.
Definition 2:2.
Let Y be a topological_space. Let M be a subset of Y.
If M is closed then for any Q (if Q is a point of Y then (if there exists P such that (P is a point of ST[M] and P is infinitesimally_close to Q) then Q is a point of M)).
If for any Q (if Q is a point of Y then
(if there exists P such that (P is a point of ST[M] and
P is infinitesimally_close to Q) then Q is a point of M)) then M is closed.
Definition 2:3.
Let Y be a topological_space. Let M be a subset of Y.
If M is compact then for any P (if P is a point of ST[M] then there exists Q such that (Q is a point of M and P is infinitesimally_close to Q)).
If for any P (if P is a point of ST[M] then there exists Q such that (Q is a point of M and P is infinitesimally_close to Q)) then M is compact.
Theorem 2:1.
Let X be a topological_space. Let K be a subset of X.
Let K be compact. Let F be a subset of K. Let F be closed.
F is compact.
Розглянемо доведення. Теоремі, що доводиться, відповідає наступна початкова секвенція.
[D ],[P],[] , < X is a T_S A K is a subset of X A F is a subset of K A K is compact A F is
closed, > ^<, F is compact, >.
Далі ми використовуємо скорочення T_S і » відповідно для «topological_space» і «infinitesimally_close». Списки [D ] і [P] являють собою середовище доведення, перший включає всі визначення, а другий - всі леми з наведеного вище ForTheL1-тексту. Надалі для стислості викладу ми будемо опускати списки [D ] і [P] , вказуючи однак ті визначення і допоміжні твердження, до яких застосовуються правила ПВ і ДТ.
Помітимо, що коли застосовується правило ПВ (ДТ), створюється копія відповідного визначення (леми), при цьому виконується перейменування змінних. Нові змінні, що зустрічаються далі в тексті, мають верхні індекси, що позначають номер відповідного визначення (леми).
Позначимо П сукупність засновків « X is a T_S, K is a subset of X, F is a subset of K , K is
compact, F is closed» з антецедента початкової секвенції (надкреслені змінні - це фіксовані змінні). До
визначення 2:3 застосовне правило ПВ. У результаті породжуються дві секвенції:
1. [ ~ F is compact], П ^ Zj2 is a T_S A Z2 is a subset of X .
2. П, "Z32(Z32 is a point of ST(Z2) 3 3Z4(Z4 is a point of Z^ A Z32 » Z^)) з Z^ is compact
^ F is compact.
З огляду на двоїстий характер ForTheL1-речень, будемо використовувати стандартні логічні зв'язки для скорочення запису. По тій же причині ми не дублюємо формули при застосуванні кванторних правил. Отже, застосовуючи правило РМ до секвенції 1, отримуємо нові секвенції:
1.1. [~ F is compact], П ^ Z2 is a T_S.
1.2. [~ F is compact], П ^ Z^ is a subset of X.
Секвенція 1.1 довідна, відповідна підстановка {X / Z2}. Застосовуючи правило ДМ до 2, маємо
2.1. П, Z2 is compact ^ F is compact.
2.2. [~ F is compact], П ^ VZ32(Z32 is a point of ST(Z2) 3 3Z4(Z4 is a point of
Z22 AZ32 » Z42)).
Секвеція 2.1 довідна, відповідна підстановка {F /Z^} . Застосовуючи далі правила РМ до 2.2, отримуємо
2.2.1. [ ~ F is compact], П, Z32 is a point of ST(F), VZ4—i(Z4 is a point of F A Z32 » Z4) ^ Z4 is a point of F .
2.2.2. [~ F is compact], П,Z32 is a point of ST(F), VZ4—i(Z4 is a point of
f A Z32» Z 4) ^ Z32» Z 4.
Розглянемо секвенцію 2.2.2. Позначимо сукупність її засновків П1. Правило ПВ застосовне до визначення 2:3. Застосовуючи до 2.2.2 правила числення m (спочатку ПВ, а потім ДМ), отримуємо секвенції:
2.2.2.1. [ ~ F is compact, ~ Z32 » Z42], П1 ^ Z52 is a T_S.
2.2.2.2. [ ~ F is compact, ~ Z32 » Z4 ], П1 ^ Z, is a subset of X .
2.2.2.3. [ ~ F is compact, ~ Z32 » Z4 ], П1 ^ Z7 is a point of ST(K) .
2.2.2.4. [ ~ F is compact], П1, Z82 is a point of K, Z7 » Z82 ^ Z32 » Z\.
Секвенції 2.2.2.1, 2.2.2.2, 2.2.2.4 довідні, відповідна (загальна) підстановка є
{X/ Z52, K / Z2, Z32 / Z7, Z82 / Z42} . Помітимо, що з'явилися два нових засновки: Z82 is a point of K і
Z32 » Z82. Приймаючи до уваги ці засновки (тобто застосовуючи правило ДЗ) і отриману підстановку, можемо
подати секвенцію 2.2.1 у наступному вигляді: [~ F is compact], П1, Z82 is a point of K, Z32 » Z82 ^ Z82 is a
point of F .
Тепер правило ПВ застосуємо до визначення 2:2. Послідовне застосування правил ПВ, ДТ і РМ дає
2.2.1.1. [~ F is compact, ~ Z82 is a point of F ], П1, Z82 is a point of K, Z32 » Z82 ^ Z^ is a T_S.
2.2.1.2. [ ~ F is compact, ~ Z82 is a point of F ], П1, Z82 is a point of K, Z32 » Z82 ^ Z2 is a subset
of X.
2.2.1.3. [~ F is compact, ~ Z82 is a point of F ], П1, Z82 is a point of K, Z32 » Z82 ^ Z3 is a point
of X.
__^ ^ 2 r 2 , ■ 2 ' ж 1 ' ж 1 ' ж 2
2.2.1.4. [~ F is compact], П1, Z8 is a point of K, Z3 » Z8 , Z3 is a point of Z2 ^ Z8 is a point of
F.
2.2.1.5. [ ~ F is compact, ~ Z82 is a point of F ], П1, Z82 is a point of K, Z32 » Z82 ^ Z4 » Z82.
2.2.1.6. [~ F is compact, ~ Z82 is a point of F ], П1, Z82 is a point of K, Z32 » Z82 ^ Z4 is a point
of ST (F ).
Секвенції 2.2.1.1, 2.2.1.4, 2.2.1.5, 2.2.1.6 довідні, відповідна підстановка
{X / z1, z82/ z3, f / z 1, z32/ z 4}.
Розглянемо секвенцію 1.2. Вона може бути подана так:
[ ~ F is compact], П ^ F is a subset of X . Застосовуючи до леми 1:5 (транзитивність включення) правило ДТ, а потім правила РМ, маємо
1.2.1. [ ~ F is compact, ~ F is a subset of X ], П ^ Z1 is a subset of Z2.
1.2.2. [ ~ F is compact, ~ F is a subset of X ], П ^ Z2 is a subset of Z^.
1.2.3. [ ~ F is compact], П, Z1t is a subset of Z^ ^ F is a subset of X.
Секвенція 1.2 довідна ({F / Z\,K /Z2, X/ Z^}). Секвенція 2.2.1.2 може бути доведена аналогічно.
Далі розглянемо 2.2.2.3. Застосовуючи побудовану підстановку, маємо [~ F is compact; ~ Z32 » Z82 ], П1 ^ Z32 is a point of ST(K). Помітимо, що П1 містить засновок Z32 is a point of
ST(F) . Позначимо антецедент даної секвенції [B1 ], П1. До визначення 2:1 застосовне правило ПВ. У результаті маємо
2.2.2.3.1. [B1,~ Z32 is a point of ST(K) ], П1 ^ Z13 is a set.
2.2.2.3.2. [B1,~ Z32 is a point of ST(K) ], П1 ^ Z23 is an element of Z13.
2.2.2.3.3. [B1 ], П1, Z23 is a point of Z13 ^ Z32 is a point of ST(K) .
Секвенція 2.2.2.3.3 доказова ({Z32 /Z2, ST(K)/ Z13} ). Тепер 2.2.2.3.1 може бути подана як
[ B1,~ Z32 is a point of ST(K) ], П1 ^ ST(K) is a set.
Секвенція 2.2.2.3.2 тепер має вигляд [B1,~ Z32 is a point of ST(K) ], П1 ^ Z32 is an element of
ST (K).
Розглянемо першу із зазначених секвенцій. Позначимо її антецедент [B2 ], П2. Правило ДТ застосовне до леми 1:3.
2.2.2.3.1.1. [B2,~ ST(K) is a set], П2 ^ Z[3 is a set.
2.2.2.3.1.2. [B2 ], П2, ST(Z13) is a set ^ ST(K) is a set.
Секвенція 2.2.2.3.1.2 доказова ({K / Z113} ). Правило ВУ застосовне до 2.2.2.3.1.1 і леми 1:1. Маємо
2.2.2.3.1.1.1. [B2,~ ST(K) is a set, ~ K is a set], П2 ^ Z111 is a set.
2.2.2.3.1.1.2. [B2,~ ST(K) is a set, ~ K is a set], П2 ^ Z113 is a subset of Z111.
2.2.2.3.1.1.3. [B2,~ ST(K) is a set], П2,Z21 is a set ^ K is a set.
Секвенція 2.2.2.3.1.1.2 довідна ({K / Z21, X / Z111}).
Застосовуючи підстановку до 2.2.2.3.1.1.1, маємо [B2,~ ST(K) is a set, ~ K is a set], П2 ^ X is a set.
У результаті застосування правила ДТ до леми 2:1 отримуємо
2.2.2.3.1.1.11. [B2,~ ST(K) is a set, ~ K is a set, ~ X is a set], П2 ^ Z10 is a T_S.
2.2.2.3.1.1.12. [B2,~ ST(K) is a set, ~ K is a set], П2,Z10 is a set ^ Z111 is a set.
Наведені вище секвенції довідні ({X/Z10}). Позначимо антецедент 2.2.2.3.2 через [B3 ], П3. Застосовуючи правило ДТ до леми 1:2, маємо
2.2.2.3.2.1. [B3,~ Z32 is an element of ST(K) ], П3 ^ Z112 is a subset of Z22.
2.2.2.3.2.2. [B3,~ Z32 is an element of ST(K) ], П3 ^ Z32 is an element of Z112.
2.2.2.3.2.3. [B3 ], П3,Z32 is an element of Z22 ^ Z32 is an element of ST(K) .
Секвенція 2.2.2.3.2.3 довідна ({ST(K)/Z1^,Z32 /Z^2} ). Застосування ДТ до 2.2.2.3.2.1 і леми 1:4 дає секвенції
2.2.2.3.2.1.1. [B3,~ Z32 is an element of ST(K),Z12 is a subset of ST(K) ], П3 ^ Z14 is a subset of Z24 .
2.2.2.3.2.1.2. [B3,~ Z32 is an element of ST(K) ], П3, ST(Z14) is a subset of ST(Z24) ^ Z12 is a subset of ST (K),
які доказові ({F /Z14,K /Z24, ST(F)/ Z12}).
Щоб довести 2.2.2.3.2.2, застосуємо правило ПВ до визначення 2:1.
2.2.2.3.2.2.1. [B3,~ Z32 is an element of ST(K),~ Z32 is an element of ST(F)], П3 ^ Z| is a set.
2.2.2.3.2.2.2. [B3,~ Z32 is an element of ST(K), ~ Z32 is an element of ST(F) ], П3 ^ Z4 is a point of Z33 .
2.2.2.3.2.2.3. [B3,~ Z32 is an element of ST(K) ], П3,Z4 is an element of Z33 ^ Z32 is an element of
ST (F).
Секвенції 2.2.2.3.2.2.2 і 2.2.2.3.2.2.3 довідні ({ST(F)/Z33,Z32 /Z4} ).
В результаті застосування ДТ до 2.2.2.3.2.2.1 і леми 1:3 маємо
2.2.2.3.2.2.1.1. [B3,~ Z32 is an element of ST(K),~ Z32 is an element of ST(F),~ ST(F) is a set], П3 ^ Z^3 is a set.
2.2.2.3.2.2.1.2. [B3,~ Z32 is an element of ST(K),~ Z32 is an element of ST(F)], П3,ST(Z23) is a set =SD is a set.
Секвенція 2.2.2.3.2.2.1.2 довідна ((Е /^3} ).
Щоб довести 2.2.2.3.2.2.1.1, треба застосувати правило ДТ до леми 1:1. Секвенція 2.2.1.3 доводиться шляхом застосування правила ПО (до визначення 2:1), ДТ (до леми 1:2), а потім ПВ (до визначення 2:1).
Зрозуміло, щоб висновок у численні т, наведений вище, став таким, якими бувають доведення в звичайних математичних публікаціях, його варто відредагувати. При цьому доцільно «сховати» кроки виведення, пов'язані, наприклад, з переходом від поняття «точка» до поняття «елемент», а також ті, що мають відношення до обробки теоретико-множинних понять.
Висновки
Описані вище мовні і дедуктивні особливості Алгоритму Очевидності дозволяють сполучати засіб пошуку доведень АО та засіб символьних обчислень інших, зовнішніх систем. Така перевага АО виявляється завдяки особливому способу обробки математичних текстів, що враховує як виразні засоби мови РогТИеІ_, так і особливості пошуку виведення в логічному численні.
Оскільки основні логічні і теоретико-множинні відносини є базовими в мові РогТИеІ_, ця мова придатна для подання будь-якого роду знань (не тільки математичних), формалізованих у рамках класичної логіки. РогТИеІ_-текст може досить легко скласти як людина, так і машинна програма, та передати його потім для обробки програмі доведення теорем чи будь-якій іншій програмі або безпосередньо, або через мережу.
Мова може бути використана як засіб написання і перевірки математичних статей та формальних специфікацій, для виконання перевірки моделей і т.д. Пропонується застосовувати його як універсальний інтерфейс у базах декларативних математичних знань і як інструмент інтеграції комп'ютерних математичних служб.
Що стосується дедуктивних засобів АО, то числення тБ, як і його прототип дБ, можна розглядати як базу для подальшого розвитку АО в напрямі підвищення ефективності і створення інтерактивного інструментарію для пошуку доведень теорем і автоматизації міркувань.
На даний час розроблені граматики для російської та англійської версій мови РогТИеІ_, а також реалізована програма, що перетворює РогТИеІ_-тексти в РогТИеИ-тексти. Реалізоване ядро оригінального прувера, базованого на описаному вище а-секвенційному формалізмі, використовує РогТИеІ_ як мову подання вхідних текстів і отриманих доведень.
У найближчому майбутньому передбачається завершити реалізацію першої версії системи автоматизації дедукції, яка проводить такий ланцюжок трансформацій:
РогТИеІ_-текст, у якому виділена теорема, яка доводиться=======>
(використовуючи синтаксичний РогТИеІ_-аналізатор)
=================> Замкнутий РогТИеИ-текст =================>
(використовуючи прувер з розширеними можливостями)
====> Машинне РогТИеИ-доведення виділеної теореми ====>
(використовуючи редактор РогТИеИ-доведення)
========> Доведення теореми в звичному для людини вигляді
Поточний стан робіт у цьому напрямку, а також деякі особливості системи САД можна знайти в роботах [34 - 42].
СПИСОК ЛІТЕРАТУРИ
1. Ьійр://\м«\«.иид.<іІ8І.ипІде.гї/отг8/
2. Ьійр://\м«\«.орепта1Ьі.огд/<іе8Ідп.1х1
3. Ьійр://тІ2аг.и\«Ь.е<іи.рІ/
4. http://www.theorema.org/
5. Глушков В.М. Некоторые проблемы теории автоматов и искусственного интеллекта // Кибернетика. - 1970. - № 2. - С. 3
- 13.
6. Аналитик (алгоритмический язык для описания вычислительных процессов с использованием аналитических преобразований) // Глушков В.М., Боднарчук В.Г., Гринченко Т.А., Дородницына А.А., Клименко В.П., Летичевский А.А., Погребинский С.Б., Стогний А.А., Фишман Ю.С. // Кибернетика. - 1971. - № 3. - С. 102 - 134.
7. Аналитик-79 / Глушков В.М., Гринченко Т.А., Дородницына А.А., Драх А.М., Клименко В.П., Погребинский С.Б., Савчак О.Н., Фишман Ю.Ф., Царюк Н.П.: Препр. / АН УССР. Ин-т кибернетики. - К.: 1983. - № 12. - 73 с.
8. Аналитик-93 / Морозов А.А., Клименко В.П., Фишман Ю.С., Бублик Б.А., Горовой В.Д., Калина Е.А. // Кибернетика и системный анализ. - 1995. - № 5. - С. 127 - 157.
9. Аналитик-2000 / Морозов А.А., Клименко В.П., Фишман Ю.С., Ляхов А.Л., Кондрашов С.В., Швалюк Т.Н. // Математические
машины и системы. - 2001. - № 1, 2. - С. 66 - 99.
10. О языке для описания формальных теорий / Глушков В.М., Костырко В.Ф., Летичевский А.Л., Ануфриев Ф.В., Асельдеров З.М. // Теоретическая кибернетика. - 1970. - Вып. 3. - С. 4 - 31.
11. О формальном языке для записи математических текстов / В.М. Глушков, К.П. Вершинин, Ю.В. Капитонова и др. //
Автоматизация поиска доказательства теорем в математике. - Киев: ИК АН УССР, 1974. - С. 3 - 36.
12. A brief historical sketch on Kiev school of automated theorem proving / Degtyarev A., Kapitonova Yu., Letichevsky A., Lyaletski
A., Morokhovets M. // Proc. Of the 2nd International THEOREMA Workshop. - Austria, Linz: RISC. - 1998. - P. 151 - 156.
13. Дегтярев А.И., Лялецкий А.В. Логический вывод в системе автоматизации доказательств // Maтематические основы
систем искусственного интеллекта. - Киев: ИК АН УССР, 1981. - С. 3 - 11.
14. Vershinin K., Paskevich A. ForTheL - the language of formal theories // IJ Information Theories and Applications.
15. Degtyarev A., Lyaletski A., Morokhovets M. Evidence Algorithm and Sequent Logical Inference Search // Lect. Notes Artif. Intell.
- 1999. - P. 44 - 61.
16. Лялецкий А.В. Секвенциальный формализм и дедуктивные системы для классической логики первого порядка // Proc. of Intern. Conf. «Logic and Applications». - Новосибирск. - 2000.
17. Об одном алгоритме поиска доказательств теорем в теории групп / Aнуфриев Ф.В., Федюрко В.В., Летичевский А.Л., Асельдеров З.М., Дидух И.И. // Кибернетика. - 1966. - № 1. - С. 23 - 29.
18. Ануфриев Ф.В. Aлгоритм поиска доказательств теорем в логических исчислениях // Teoрия автоматов. - К.: ИК АН УССР.
- 1969. - С. 3 - 26.
19. Gentzen G. Untersuchungen uber das Logische Schliessen // Math. Z. - 1934. - P. 176 - 210.
20. Skolem T. Logisch-kombinatorische Untersuchungen uber die Erfullbarkeit oder Beweisbarkeit mathematischer Satze // Skriftner utgit ar Videnskapsselskaper i Kristiania. - 1920. - P. 4 - 36.
21. Herbrand J. Recherches sur la Theorie de la Demonstration // Travaux de la Societe de Sciences et de Lettres de Varsovie, Classe III, Sciences Mathematiques et Physiques. - 1930. - P. 3 - 36.
22. Davis M., Putnam H. A computing procedure for quantification theory // Journ. of the ACM. - 1960. - P. 201 - 215.
23. Gilmore P. A proof method for quantification theory; its justification and realization // I.B.M.J. Res. Devl. - 1960. - P. 28 - 35.
24. Prawitz D. An improved proof procedure // Theoria. - 1960. - P. 102 - 139.
25. Wang H. Towards mechanical mathematics // I.B.M.J. Res. Devl. - 1960. - P. 2 - 22.
26. Kanger S. Simplified proof method for elementary logic // Comp. Program. and Form. Sys.: Stud. in Logic. - Amsterdam: North-Holl., Publ. Co. - 1963. - P. 87 - 93.
27. Robinson J. A machine-oriented logic based on resolution principle // Journ. of the ACM. - 1965. - P. 23 - 41.
28. Маслов С.Ю. Обратный метод установления выводимости в классическом исчислении предикатов // Докл. Академии
Наук СССР. - 1964. - С. 3 - 36.
29. Lyaletski A. Gentzen calculi and admissible substitutions // Actes preliminares du Simposium Franco-Sovietique "Informatika-91".
- Grenoble, France, 1991. - P. 99 - 111.
30. Атаян В.В., Мороховец MX Сочетание формальных процедур поиска логического вывода и естественных приемов поиска доказательств теорем в системе автоматизации доказательств // Кибернетика и системный анализ. - 1996. - № 3. -C. 151 - 182.
31. Gallier J. Logic for computer science: foundations of Automatic Theorem Proving // New York: Harper and Row, Inc. - 1986.
32. Атаян В.В., Вершинин К.П. К формализации некоторых приемов поиска вывода // Автоматизация обработки математических текстов.- Киев: ИК АН УССР, 1980. - С. 36 - 52.
33. Дэвис М. Прикладной нестандартный анализ. - М.: Mир, 1986.
34. Lyaletski A. About one specificity of the inverse method // Abs. On the Web-site of the Logic Colloquium 2001, Kurt Godel
Society. - Vienna, Austria. - 2001. - August.- P. 1.
35. Lyaletski A. Quantifier Handing Issues in Computer-oriented intutionistic calcucation // Advances in soft computing, Proc. of the Int. conference IIS'2001. - Poland: Physica-Verlag, a Springer-Verlag Co. -2001. - P. 15.
36. Lyaletski A., Paskevych A. Goal-driven inference search in classical prepositional logic // Proc. of the International Workshop ”STRATEGIES-2001 ”. - Siena, Italy. - 2001. - P. 65 - 74.
37. Verchinine К., Degtyarev А., Lyaletski А. and Paskevich А. SAD, a System for Automated Deduction: a Current State // Proc. of Intern. Workshop Automath'2002. - Edinburgh, Great Britain. - 2002. - P. 10.
38. System of Automated Deduction (SAD): Linguistic and Deductive Peculiarities / Lyaletski А., Verchinine К., Degtyarev А. and Paskevich А. // “Advances in Soft Computing”, Proc. of the Int. Conference IIS'2002. - Poland: Physica-Verlag, A Springer-Verlag Co. - 2002.
39. Особенности обработки математических текстов в системе автоматизированной дедукции (САД) / Асельдеров З.М.,
Вершинин К.П., Дегтярев А.И., Лялецкий А.В., Паскевич А.Ю. // Международный научно-теоретический журнал
«Искусственный интеллект» (Труды III Международной научно-практической конференции "Искусственный интеллект -2002"), - Кацивели, Украина, 2002.
40. Особенности обработки математических текстов в системе автоматизированной дедукции (САД) / Асельдеров З.М., Вершинин К.П., Дегтярев А.И., Лялецкий А.В., Паскевич А.Ю. // Сборник тезисов докладов III Международной научнопрактической конференции "Искусственный интеллект'2002". — Кацивели, Украина: НИИ МВС ТРТУ. - Таганрог, Россия. -2002.
41. Алгоритм Очевидности и обработка формализованных математических текстов / Вершинин К.П., Дегтярев А.И., Лялецкий А.В., Мороховец М.К., Паскевич А.Ю. // Международный научно-теоретический журнал «Проблемы управления и информатики». - 2002. - № 6.
42. Linguistic Tools and Deductive Technique of the System for Automated Deduction / Aselderov Z., Verchinin K., Degtyarev A., Lyaletski A., Paskevich A. and Pavlov A. // Proc. of the 3rd International Workshop on the Implementation of Logics. - Tbilisi, Georgia. - 2002.