From: Andrea Asperti <andrea.asperti@unibo.it> Date: Tue, 3 Apr 2012 08:55:02 +0000 (+0000) Subject: New home X-Git-Tag: make_still_working~1826 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=33f5240193f527ef11619d3ae89cdbf2bfcecb07;p=helm.git New home --- diff --git a/helm/www/matita/matita.shtml b/helm/www/matita/matita.shtml index 4ea191d03..68ebc8ad2 100644 --- a/helm/www/matita/matita.shtml +++ b/helm/www/matita/matita.shtml @@ -10,7 +10,7 @@ <!--#include virtual="menubar.shtml" --> <!--#include virtual="news.shtml" --> <div class="main"> - + <div class="topimage"> <img src="images/matita-text-big.png" alt="Matita" /> <a href="matita_it.shtml"> @@ -27,6 +27,42 @@ <!-- <a href="http://www.mkm-ig.org">Mathematical Knowledge Management</a> tools and techniques. </p> --> + <p class="spaced"> + <span class="screenshots"> + <a class="quiet" href="images/screenshot-matita.png"> + <img src="images/MINI_screenshot-matita.png" alt="Matita screenshot: authoring interface" /> + </a> + </span> + + <p>An interactive prover is a software tool aiding the development of + formal proofs by man-machine collaboration. It provides a formal language + where mathematical definitions, executable algorithms and theorems cohexist, + and an interactive environment keeping the current status of the proof, + and updating it according to commands (usually called tactics) issued by the user. + </p> + + <p> + Matita is based on a <a href="http://en.wikipedia.org/wiki/Dependent_type">Dependent Type System</a> known as the Calculus of Inductive Constructions.</p> + + <p>It embeds key computational constructs of functional programming languages: + functions can be defined by (well-founded) recursion, and are live entities that can be + tested and executed.</p> + + <p>At the same time, proofs are an integrated part of the formalism, allowing, via the + <a href="http://en.wikipedia.org/wiki/Curry-Howard_correspondence">Curry Howard + isomorphism</a>, a smooth interplay between + specification and reasoning: proofs are objects of the language, and + can be treated as normal data, naturally leading to a programming style + akin to <a href="http://en.wikipedia.org/wiki/Proof-carrying_code">proof-carrying-code</a>, + where chunks of software + come equipped with proofs of (some of) their properties.</p> + + <p>Matita is currently adopted in the European Union "Certified Complexity" Project + <a href="http://cerco.cs.unibo.it/">CerCo<a> for the formal verification of a + complexity-preserving compiler from a large subset of C to a microcontroller + assembly of the kind traditionally used in embedded systems. + </p> + </div> </body>