X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fwww%2Fmatita%2Fmatita.shtml;h=5da934cdc8aa6661c76a4af35997b6fd49401713;hb=bc389dd4724959688aafc1ede450794f47b8d0b5;hp=33a658479329d10443f9b17d9aa528966ef74b08;hpb=f08e376eb0b370f92900182d3a5867a5b8c0cf7b;p=helm.git diff --git a/helm/www/matita/matita.shtml b/helm/www/matita/matita.shtml index 33a658479..5da934cdc 100644 --- a/helm/www/matita/matita.shtml +++ b/helm/www/matita/matita.shtml @@ -1,7 +1,8 @@ - - + + + Matita - Home Page @@ -11,7 +12,10 @@
- Big Matita label + Matita + + italian flag +

@@ -21,73 +25,41 @@ University of Bologna.

+

+

- -

- - - Matita screenshot: authoring interface - - - Matita is based on the - Calculus of (Co)Inductive Constructions, and is compatible, at some - extent, with Coq. - It is a reasonably small and simple application, whose - architectural and software complexity is meant to be mastered by - students, providing a tool particularly suited for testing innovative - ideas and solutions. - Matita adopts a tactic based editing mode; (XML-encoded) proof objects - are produced for storage and exchange. +

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 screenshot: hyperlinks - - - Matita screenshot: direct manipulation - - - The graphical interface has been inspired by CtCoq and - Proof General. - It supports high quality bidimensional rendering of - proofs and formulae transformed on-the-fly to - MathML markup

-

- - - Matita screenshot: library browsing - - - Matita screenshot: Whelp query - - - - - The knowledge base can be - browsed as an hypertext - (locally or on the World Wide Web) and - searched by means of - content-based queries;

+

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

-

- - - Matita screenshot: tinycals - - - The tactical language, part of the proof language, has - step-by-step semantics, enabling inspection and replaying of deeply - structured proof scripts.

+

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, implementation and verification: 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. +

+ +