X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fwww%2Fmatita%2Fmatita.shtml;h=b06da9bd0b362bbd98e0c9e3fc10c6bc3547856e;hb=b8e426e4d942b7776fe8411f01df6974b2d35fc5;hp=4ea191d03ffd1293bc2a4b3ef54843c4847b3c80;hpb=da2bbeab1171232a340a92dbc3fcb51a58f42bb4;p=helm.git diff --git a/helm/www/matita/matita.shtml b/helm/www/matita/matita.shtml index 4ea191d03..b06da9bd0 100644 --- a/helm/www/matita/matita.shtml +++ b/helm/www/matita/matita.shtml @@ -10,7 +10,7 @@
- +
Matita @@ -25,8 +25,46 @@ University of Bologna.

+

+

+

+ + + Matita screenshot: authoring interface + + + +

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. +

+ +

+ Matita is based on a Dependent Type System known as the Calculus of Inductive Constructions.

+ +

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.

+ +

At the same time, proofs are an integrated part of the formalism, allowing, via the + Curry Howard + isomorphism, 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 proof-carrying-code, + where chunks of software + come equipped with proofs of (some of) their properties.

+ +

Matita is currently adopted in the European Union "Certified Complexity" Project + CerCo 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. +

+