Matita

Matita
Deweloperzy Zespół Matity
Pierwsze wydanie 1999
Napisane w OCaml
System operacyjny Linuks
Dostępne w język angielski
Typ Dowód twierdzenia
Licencja GPL
Strona internetowa http://matita.cs.unibo.it

Matita jest asystentem eksperymentalnych dowodów w fazie opracowywania na Wydziale Informatyki Uniwersytetu Bolońskiego . Jest to narzędzie wspomagające opracowywanie formalnych dowodów we współpracy człowiek-maszyna, udostępniające środowisko programistyczne, w którym w naturalny sposób współistnieją formalne specyfikacje, wykonywalne algorytmy i automatycznie weryfikowalne certyfikaty poprawności.

Matita opiera się na systemie typów zależnych znanym jako Rachunek Konstrukcji (Ko)Indukcyjnych (pochodna Rachunku Konstrukcji ) i jest do pewnego stopnia kompatybilny z Coq .

Słowo „matita” oznacza po włosku „ołówek” (proste i rozpowszechnione narzędzie do edycji). Jest to stosunkowo mała i prosta aplikacja, której złożoność architektoniczna i programowa ma być opanowana przez studentów, zapewniając narzędzie szczególnie przydatne do testowania innowacyjnych pomysłów i rozwiązań. Matita przyjmuje tryb edycji oparty na taktyce; ( XML ) obiekty próbne są tworzone do przechowywania i wymiany.

Główne cechy

Zmienne egzystencjalne są natywne w Maticie, co pozwala na prostsze zarządzanie zależnymi celami.

Matita implementuje dwukierunkowy algorytm wnioskowania o typach , wykorzystujący zarówno typy wywnioskowane, jak i oczekiwane.

Siłę systemu wnioskowania o typach (refiner) dodatkowo zwiększa mechanizm podpowiedzi, który pomaga w syntezie unifikatorów w określonych przez użytkownika sytuacjach.

Matita obsługuje wyrafinowaną strategię ujednoznaczniania opartą na dialogu pomiędzy parserem a typecheckerem .

Na poziomie interaktywnym system realizuje małe krokowe wykonanie ustrukturyzowanej taktyki, co pozwala na znacznie lepsze zarządzanie rozwojem dowodu i naturalnie prowadzi do bardziej ustrukturyzowanych i czytelnych skryptów.

Aplikacje

Matita został zatrudniony w CerCo (Certified Complexity): Europejskim projekcie 7PR skupionym na opracowaniu formalnie zweryfikowanego, zachowującego złożoność kompilatora od dużego podzbioru języka C do asemblera mikroprocesora MCS -51 .

Dokumentacja

Samouczek Matita zapewnia pragmatyczne wprowadzenie do głównych funkcji interaktywnego programu do dowodzenia twierdzeń Matita, oferując przewodnik po zestawie nietrywialnych przykładów w dziedzinie specyfikacji i weryfikacji oprogramowania .

Zobacz też

Linki zewnętrzne