<!--#include virtual="xhtml-header.shtml" -->
-<html>
+<!-- $Id$ -->
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <meta name="keywords" content="Matita, prover, assistant" />
<title>Matita - Home Page</title>
<!--#include virtual="xhtml-meta.shtml" -->
</head>
<body>
<!--#include virtual="menubar.shtml" -->
+ <!--#include virtual="news.shtml" -->
<div class="main">
<div class="topimage">
- <img src="images/matita-text-big.png" />
+ <img src="images/matita-text-big.png" alt="Matita" />
+ <a href="matita_it.shtml">
+ <img src="flags/wit.gif" alt="italian flag" />
+ </a>
</div>
- <p> Matita is a new document-centric interactive theorem prover that
- integrates several <a href="http://www.mkm-ig.org">Mathematical Knowledge
- Management</a> tools and techniques. </p>
-
- <p> Matita is <strong>traditional</strong>. Its logical foundation is the
- Calculus of (Co)Inductive Constructions (CIC). It can re-use
- mathematical concepts produced by other proof assistants like
- <a href="http://coq.inria.fr">Coq</a> and encoded in an
- <a href="http://www.w3.org/XML/">XML</a> encoding of CIC. The interaction
- paradigm of Matita is familiar, being inspired by CtCoq and
- <a href="http://proofgeneral.inf.ed.ac.uk/">Proof General</a>. Its
- proof language is procedural in the same spirit of LCF. </p>
-
- <p> Matita is <strong>innovative</strong>: </p>
- <ul class="wide">
+ <p class="spaced">
+ Matita (that means <em>pencil</em> in italian) is an experimental,
+ interactive theorem prover under development at the
+ <a href="http://www.cs.unibo.it">Computer Science Department</a> of the
+ <a href="http://www.unibo.it">University of Bologna</a>.
+ </p>
- <li> the user interface sports high quality bidimensional rendering of
- proofs and formulae transformed on-the-fly to
- <a href="http://www.w3.org/Math/">MathML</a> markup, on which direct
- manipulation of the underlying CIC terms is still possible; </li>
+ <p>
+ </p>
+<!-- <a href="http://www.mkm-ig.org">Mathematical Knowledge Management</a> tools and techniques. </p> -->
+
+ <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>
- <li> the knowledge base is distributed: every authored concepts can be
- published becoming part of the Matita library which can be browsed as
- an hypertext (locally or on the World Wide Web) and searched by means
- of content-based queries; </li>
+ <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>
- <li> the tactical language, part of the proof language, has
- step-by-step semantics, enabling inspection and replaying of deeply
- structured proof scripts. </li>
+ <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>
- </ul>
+ <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, implementation and verification: 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>
+
<!--#include virtual="bottombar.shtml" -->
+
</div>
</body>
</html>
-<!-- $Id$ -->