Кіріспе
Автоматтандырылған ойлау және математикалық логиканың саласы. Автоматтандырылған теореманы дәлелдеу (сондай-ақ ATP немесе автоматтандырылған дедукция деп аталады) – компьютерлік бағдарламалар арқылы математикалық теоремаларды дәлелдеумен айналысатын автоматтандырылған ойлау және математикалық логиканың бір саласы. Математикалық дәлелдерді автоматтандыру компьютерлік ғылымның дамуына маңызды түрткі болды.
Automated theorem proving (also known as ATP or automated deduction) is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs. Automated reasoning over mathematical proof was a major impetus for the development of computer science.
Логикалық негіздер
Формальды логиканың тамыры Аристотельге дейін жетеді, бірақ 19 ғасырдың соңы мен 20 ғасырдың басында заманауи логика мен формальды математика дамыды. Фрегенің «Begriffsschrift» (1879) еңбегі толық пропозициялық есептеуді және, по сути, қазіргі заманғы предикаттық логиканы енгізді. Оның 1884 жылы жарияланған «Арифметика негіздері» математиканың (бір бөлігін) формальды логика тілінде бейнеледі. Бұл тәсілді Рассел мен Уайтхед өздерінің ықпалды «Principia Mathematica» еңбегінде 1910–1913 жылдары алғаш рет жариялады, ал 1927 жылы қайта қарастырылған екінші басылымында жалғастырды. Рассел мен Уайтхед формальды логиканың аксиомалары мен логикалық қорытындылар ережелерін қолданып, барлық математикалық шындықты тудыруға болатынын ойлады, бұл процесті автоматтандыруға мүмкіндік береді. 1920 жылы Торальф Сколем Леопольд Лёвенхаймнің бұрынғы нәтижесін жеңілдетіп, Лёвенхайм-Сколем теоремасына және 1930 жылы Гербранд әлемі мен Гербранд интерпретациясы түсінігіне әкелді. Бұл, бірінші реттік формулалардың қанағаттандырылуын немесе қанағаттандырылмауын (соның ішінде теореманың дұрыстығын) ықтимал шексіз көп пропозициялық қанағаттандыру мәселелеріне келтіруге мүмкіндік берді. 1929 жылы Мойзес Пресбургер натурал сандардың қосылу және теңдік операцияларымен бірінші реттік теориясының (қазір оның құрметіне Пресбургер арифметикасы деп аталады) шешілетінін көрсетті және берілген тілдегі сөйлемнің дұрыс немесе бұрыс екенін анықтайтын алгоритм ұсынды. Бірақ осы оң нәтижеден кейін көп ұзамай Курт Гёдель «Principia Mathematica және байланысты жүйелердің формальды шешілмейтін ұсыныстары туралы» (1931) еңбегін жариялады, онда кез келген жеткілікті күшті аксиоматикалық жүйеде жүйеде дәлелдеуге болмайтын дұрыс мәлімдемелер бар екенін көрсетті. Бұл тақырып 1930 жылдары Алонзо Черч пен Алан Тьюринг тарапынан одан әрі дамытылды, олар бір жағынан есептеудің екі тәуелсіз, бірақ эквивалентті анықтамасын берді, ал екінші жағынан шешілмейтін мәселелердің нақты мысалдарын келтірді.
Алғашқы іске асыру
Екінші дүниежүзілік соғыстан кейін көп ұзамай алғашқы көп мақсатты компьютерлер қолжетімді болды. 1954 жылы Мартин Дэвис Нью-Джерси штатының Принстон қаласындағы Жоғары оқу институтында JOHNNIAC вакуумдық түтік компьютер үшін Пресбургер алгоритмін бағдарламалады. Дэвис айтуынша, "Оның ең үлкен жетістігі екі жұп санның қосындысы жұп сан екенін дәлелдеу болды". 1956 жылы Ален Ньюэлл, Герберт А. Саймон және Дж. С. Шоу жасаған Principia Mathematica-ның мәндік логикасы үшін дедукция жүйесі – Логикалық теоретик, одан да маңызды болды. Сондай-ақ JOHNNIAC-та жұмыс істейтін Логикалық теоретик, кішкентай мәндік аксиомалар жинағы мен үш дедукция ережесі арқылы дәлелдер құрды: modus ponens, (мәндік) айнымалыны алмастыру және формулаларды олардың анықтамасымен алмастыру. Жүйе эвристикалық басшылықты пайдаланды және Principia-ның алғашқы 52 теоремасының 38-ін дәлелдеуге мүкіндік берді.
Мәселе шешілу мүмкіндігі
Негізгі логикаға байланысты, формуланың дұрыстығын анықтау мәселесі тривиалдыдан бастап мүмкін емес деңгейге дейін өзгеруі мүмкін. Пропозициялық логиканың кең таралған жағдайы үшін бұл мәселе шешіледі, бірақ co NP-толық, сондықтан жалпы дәлелдеу тапсырмалары үшін тек экспоненциалды уақытты қажет ететін алгоритмдердің бар екеніне сенімділік зор. Бірінші реттік предикаттық есептеу үшін Гёдельдің толықтық теоремасы теоремалардың (дәлелденетін мәлімдемелердің) семантикалық тұрғыдан дұрыс қалыптасқан формулалармен толық сәйкес екенін көрсетеді, сондықтан дұрыс формулаларды есептеу арқылы тізімдеуге болады: шексіз ресурстар болған жағдайда, кез келген дұрыс формула ерте не кеш дәлелденуі мүмкін. Дегенмен, жарамсыз формулаларды (яғни, берілген теориямен шығарылмайтын формулаларды) әрқашан анықтауға болмайды. Жоғарыда айтылғандар Пеано арифметикасы сияқты бірінші реттік теорияларға қатысты. Бірақ, бірінші реттік теориямен сипатталатын нақты модель үшін, кейбір мәлімдемелер дұрыс болуы мүмкін, бірақ модельді сипаттау үшін қолданылатын теорияда шешілмейтін болуы мүмкін. Мысалы, Гёдельдің толық еместік теоремасы бойынша, табиғи сандар үшін аксиомалары дұрыс болатын кез келген консистентті теория, тіпті аксиомалар тізімі шексіз тізімдеуге рұқсат етілсе де, табиғи сандар үшін барлық бірінші реттік мәлімдемелерді дәлелдей алмайды. Осыдан, теореманы автоматты түрде дәлелдейтін құрал іздеу кезінде, егер тексеріліп жатқан мәлімдеме қолданылып жатқан теорияда шешілмейтін болса (тіпті ол қызығушылық тудыратын модельде дұрыс болса да), тоқтамайды. Бұл теориялық шектеуге қарамастан, практикада теореманы дәлелдейтін құралдар көптеген қиын мәселелерді шеше алады, тіпті бірінші реттік теориямен толық сипатталмаған модельдерде де (мысалы, бүтін сандар).
Қатысушы мәселелер
Күрделігі аздау, бірақ байланысты мәселе – дәлелді тексеру, онда теореманың қолданыстағы дәлелінің дұрыстығы расталады. Мұндай жағдайда, әдетте, әрбір жеке дәлелдеу қадамын бастапқы рекурсивті функция немесе бағдарлама арқылы тексеру қажет, сондықтан бұл мәселе әрқашан шешіледі. Автоматтандырылған теорема дәлелдеушілер жасаған дәлелдер көбінесе өте үлкен болғандықтан, дәлелді қысқарту мәселесі маңызды болып табылады, және дәлелдеушінің нәтижесін кішірейтуге, соның салдарынан оны түсінуге және тексеруге оңайлатуға бағытталған түрлі техникалар жасалған. Дәлелдеуге көмектесетін жүйелерге пайдаланушының жүйеге кеңес беруі қажет. Автоматтандыру деңгейіне қарай, дәлелдеушіні тек дәлелді тексеруге дейін азайтуға болады, онда пайдаланушы дәлелді ресми түрде ұсынады, немесе маңызды дәлелдеу тапсырмаларын автоматты түрде орындауға болады. Интерактивті дәлелдеушілер түрлі тапсырмалар үшін қолданылады, бірақ тіпті толық автоматты жүйелер де көптеген қызықты және қиын теоремаларды дәлелдеді, соның ішінде адам математиктері ұзақ уақыт бойы шеше алмаған Роббинс болжамын да. Дегенмен, бұл жетістіктер сирек кездеседі, ал қиын мәселелерді шешу үшін көбінесе білікті пайдаланушы қажет. Теореманы дәлелдеу мен басқа әдістердің арасында кейде айырма жасалады, егер процесс дәстүрлі дәлелдеуден, яғни аксиомалардан басталып, қорытынды шығару ережелерін қолдана отырып, жаңа қорытынды қадамдар жасаудан тұрса, онда ол теореманы дәлелдеу деп есептеледі. Басқа әдістерге модельдік тексеру кіреді, ол ең қарапайым жағдайда көптеген мүмкін күйлерді тікелей санауды қамтиды (бірақ модельдік тексеруді іске асыру үшін көптеген ептіліктер қажет, және ол қарапайым күшпен шешілмейді). Модельдік тексеруді қорытынды шығару ережесі ретінде пайдаланатын гибридтік теореманы дәлелдеу жүйелері де бар. Сондай-ақ, белгілі бір теореманы дәлелдеу үшін жазылған бағдарламалар бар, және егер бағдарлама белгілі бір нәтижемен аяқталса, онда теорема дұрыс деген (көбінесе бейресми) дәлелдеме бар. Мұның жақсы мысалы – төрт түс теоремасын машинамен дәлелдеу, ол бағдарламаның есептеуінің өте үлкен көлеміне байланысты адамдарға тексеруге мүмкін болмағандықтан, алғашқы математикалық дәлелдеме ретінде көп дау тудырды (мұндай дәлелдемелер зерттеуге келмейтін дәлелдемелер деп аталады). Бағдарламалық көмекпен дәлелдеудің тағы бір мысалы – "Төртті қосыңыз" ойынында бірінші ойыншының әрқашан жеңе алатынын көрсететін дәлелдеме.
Қолданбалар
Автоматтандырылған теоремаларды дәлелдеудің коммерциялық қолданылуы көбінесе интегралды схемаларды жобалау және тексеру саласында шоғырланған. Pentium FDIV қатесінен кейін, қазіргі заманғы микропроцессорлардың күрделі қалқыма нүктелі бөлімдері ерекше мұқияттықпен жобаланды. AMD, Intel және басқа компаниялар процессорларындағы бөлу және басқа операциялардың дұрыс орындалуын тексеру үшін автоматтандырылған теоремаларды дәлелдеуді пайдаланады. Теорема дәлелдеушілердің басқа да қолданылуларының қатарында бағдарламалық синтез, яғни формалды талаптарға сай бағдарламаларды құру бар. Автоматтандырылған теорема дәлелдегіштер, соның ішінде Isabelle/HOL, дәлелдеуге көмектесетін құралдармен интеграцияланған.
Бірінші реттік теореманы дәлелдеу
1960 жылдардың аяғында автоматты шегерімдегі зерттеулерді қаржылайтын ұйымдар практикалық қолданысқа қажеттілікті күшейтті. Алғашқы табысты салалардың бірі – бағдарламаны тексеру, онда бірінші реттік теореманы дәлелдейтін құралдар Pascal, Ada сияқты тілдерде компьютерлік бағдарламалардың дұрыстығын тексеру мәселесіне қолданылды. Алғашқы бағдарламаны тексеру жүйелерінің ішінде Дэвид Лакхэм Стэнфорд университетінде жасаған Стэнфорд Паскаль верификаторы ерекше көзге түсті. Ол Стэнфордта Джон Алан Робинсонның шешім қағидасын қолдана отырып жасалған Стэнфорд шешім дәлелдеушісіне (Stanford Resolution Prover) негізделген. Бұл, Америка математикалық қоғамының хабарламаларында жарияланған математикалық есептерді, ресми жарияланбастан бұрын шеше алу мүмкіндігін көрсеткен алғашқы автоматты шегерім жүйесі болды. Бірінші реттік теореманы дәлелдеу – автоматты теореманы дәлелдеудің ең жетілген салаларының бірі. Логиканың мүмкіндіктері кез келген мәселені, көбінесе түсінікті және интуитивті жолмен сипаттауға жетеді. Дегенмен, ол әлі де жартылай шешіледі, сондықтан толық автоматтандырылған жүйелерді құруға мүмкіндік беретін дұрыс және толық есептеулер жасалды. Жоғары реттік логика сияқты кең мүмкіндіктерге ие логикалар, бірінші реттік логикаға қарағанда мәселелердің ауқымын кеңірек көрсетуге мүмкіндік береді, бірақ осы логикалар үшін теореманы дәлелдеу нашар дамыған.
ТМК-мен қарым-қатынасы
Бірінші реттік автоматтандырылған теорема дәлелдеушілер мен SMT шешушілердің арасында маңызды үлестік бар. Әдетте, автоматтандырылған теорема дәлелдеушілер кванторлары бар толық бірінші реттік логиканы қолдауға баса назар береді, ал SMT шешушілер әртүрлі теорияларды (интерпретацияланған предикат символдары) қолдауға көбірек бейім. АТП көптеген кванторлары бар мәселелерде жақсы жұмыс істейді, ал SMT шешушілер кванторлары жоқ үлкен мәселелерде табысқа жетеді. Бұл шекара соншалықты тұманды, кейбір АТП SMT COMP-қа, ал кейбір SMT шешушілер CASC-ке қатысады.
Салыстырмалы көрсеткіштер, байқаулар және көздер
Қолданылған жүйелердің сапасы стандарттық өлшемдік мысалдардың үлкен кітапханасының – Теоремаларды дәлелдеушілер үшін Мыңдаған Проблемалар (TPTP) Проблемалық Кітапханасының болуынан пайда тапты, сондай-ақ CADE ATP жүйелер бәйгесі (CASC) – көптеген маңызды бірінші реттік проблемалар кластары үшін бірінші реттік жүйелердің жыл сайынғы бәйгесінен де пайда тапты. Төменде кейбір маңызды жүйелер тізімделген (олардың барлығы кем дегенде бір CASC бәйгесінің бөлімінде жеңіске жеткен). E – толық бірінші реттік логикаға арналған жоғары өнімділік көрсеткіші бар дәлелдеуші, бірақ ол таза теңдеулік есептеулерге негізделген, алғаш рет Вольфганг Бибельдің басшылығымен Мюнхен Техникалық Университетінің автоматты ойлау тобында, ал қазір Штутгарттағы Баден-Вюртемберг Ынтымақтастық Мемлекеттік Университетінде әзірленген. Аргон Ұлттық Зертханасында әзірленген Otter жүйесі бірінші реттік ажырату және параметрлеуге негізделген. Кейін Otter-дің орнын Prover9 және Mace4 жұптамасы алды. SETHEO – мақсатқа бағытталған модельді жою есептеуіне негізделген жоғары өнімділік көрсеткіші бар жүйе, бастапқыда Вольфганг Бибельдің басшылығымен команда әзірлеген. E және SETHEO (басқа жүйелермен бірге) E SETHEO жиынтық теорема дәлелдеушісінде біріктірілген. Vampire жүйесі алғаш рет Манчестер Университетінде Андрей Воронков және Кристоф Ходерлер әзірлеген және іске асырған. Қазір оны дамып келе жатқан халықаралық команда жетілдіріп жатыр. 2001 жылдан бері ол CADE ATP жүйелер бәйгесінде FOF дивизионында (басқа дивизиондардың арасында) үнемі жеңіске жетіп келеді. Waldmeister – Арним Бух және Томас Хилленбранд әзірлеген бірлік теңдеулік бірінші реттік логикаға арналған мамандандырылған жүйе. Ол CASC UEQ дивизионында он төрт жыл қатарынан (1997–2010) жеңіске жетті. SPASS – теңдікпен бірінші реттік логикалық теорема дәлелдеушісі. Оны Max Planck Компьютерлік Ғылым Институтының Логиканы Автоматтандыру зерттеу тобы әзірледі. Теорема Дәлелдеушілер Мұражайы – теорема дәлелдеуші жүйелерінің бастапқы кодтарын болашақтағы талдау үшін сақтауға бағытталған бастама, өйткені олар маңызды мәдени және ғылыми артефакттар болып табылады. Онда жоғарыда аталған көптеген жүйелердің бастапқы кодтары бар.
Бағдарламалық жүйелер
+ Салыстыру Атауы Лицензия түрі Веб-қызмет Кітапхана Дербес Соңғы жаңарту ACL2 3 тармақ BSD ✔ 2019 05 Prover9/Otter Public Domain ✔ 2009 Jape GPLv2 ✔ ✔ 2015 05 15 PVS GPLv2 ✔ 2013 01 14 EQP ✔ 2009 05 PhoX ✔ 2017 09 28 E GPL ✔ 2017 07 04 SNARK Mozilla Public License 1.1 ✔ 2012 Vampire Vampire License ✔ ✔ 2017 12 14 Теореманы дәлелдеу жүйесі (TPS) TPS тарату шарты ✔ 2012 02 04 SPASS FreeBSD лицензиясы ✔ ✔ ✔ 2005 11 IsaPlanner GPL ✔ ✔ 2007 KeY GPL ✔ ✔ ✔ 2017 10 11 Z3 Теореманы дәлелдеу MIT License ✔ ✔ ✔ 2019