Existential variables are native in Matita, allowing a simpler management of dependent goals.3
Matita implements a bidirectional type inference algorithm4 exploiting both inferred and expected types.
The power of the type inference system (refiner) is further augmented by a mechanism of hints5 that helps in synthesizing unifiers in particular situations specified by the user.
Matita supports a sophisticated disambiguation strategy6 based on a dialog between the parser and the typechecker.
At the interactive level, the system implements a small step execution of structured tactics7 allowing a much better management of the proof development, and naturally leading to more structured and readable scripts.
Matita has been employed in CerCo (Certified Complexity): a FP7 European Project focused on the development of a formally verified, complexity preserving compiler from a large subset of C to the assembly language of a MCS-51 microprocessor.
The Matita tutorial8 provides a pragmatic introduction to the main functionalities of the Matita interactive theorem prover, offering a guided tour through a set of non-trivial examples in the field of software specification and verification.
Andrea Asperti, Wilmer Ricciotti, Claudio Sacerdoti Coen, Enrico Tassi. "The Matita Interactive Theorem Prover": CADE-23, LNCS 6803, 2011, pp. 64-69. https://link.springer.com/chapter/10.1007%2F978-3-642-22438-6_7 ↩
Asperti, A.; Ricciotti, W.; Sacerdoti Coen, C.; Tassi, E. (2009). "A compact kernel for the calculus of inductive constructions". Sādhanā. 34: 71–144. doi:10.1007/s12046-009-0003-3. https://doi.org/10.1007%2Fs12046-009-0003-3 ↩
Andrea Asperti, Wilmer Ricciotti, C Sacerdoti Coen, Enrico Tassi. "A new type for tactics": Technical Report UBLCS-2009-14. June 2009. http://matita.cs.unibo.it/PAPERS/plmms09.pdf ↩
Andrea Asperti, Wilmer Ricciotti, C Sacerdoti Coen, Enrico Tassi. "A Bi-Directional Refinement Algorithm for the Calculus of (Co)Inductive Constructions" Logical Methods in Computer Science, V.8, n. 1 http://www.lmcs-online.org/ojs/viewarticle.php?id=960 ↩
Andrea Asperti, Wilmer Ricciotti, C Sacerdoti Coen, Enrico Tassi. "Hints in unification": LNCS V.5674, 2009, pp 84-98 https://link.springer.com/chapter/10.1007%2F978-3-642-03359-9_8 ↩
Claudio Sacerdoti Coen, Stefano Zacchiroli "Efficient Ambiguous Parsing of Mathematical Formulae" LNCS V.3119, 2004, pp 347-362 https://link.springer.com/chapter/10.1007%2F978-3-540-27818-4_25 ↩
Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli "Tinycals: Step by Step Tacticals" ENTCS V.174, n.2, 2007, Pages 125–142 http://www.sciencedirect.com/science/article/pii/S1571066107001740 ↩
Andrea Asperti, Wilmer Ricciotti, Claudio Sacerdoti Coen "Matita Tutorial" Journal of Formalized Reasoning, V.7, n. 2, 2014, Pages 91-199 http://jfr.unibo.it/article/view/4651 ↩