Procedural Reconstruction

A Feature of the Formal Proof Management System "Matita"



The procedural reconstruction is a feature of the proof assistant Matita for translating the system's logical representation of formalized mathematical knowledge (mainly of formalized proofs) into the system's high-level specification language.

This feature has its justification in the actual fact that proof assistants allow to edit some knowledge only starting from its high-level representation, so the adaptation and maintenance of this knowledge can not be performed at the logical level.

The knowledge to which this translation applies, can come from any source that contributes to HELM (that is the digital library of Matita). For instance it can come from another digital library or from another proof assistant. Therefore this transformation may help the cross-platform maintenance of the certified specifications (as in the case of the formal system λδ).

This transformation is focused on proofs. In general terms a proof has two main aspects:
  • the declarative aspect is concerned with the contents of the proof, that is what is proved step by step;
  • the procedural aspect is concerned with the structure of the proof, that is  how the proof is carried out step by step.
Evidently a procedural representation of a proof is less readable for the human user, but appears easier to maintain.
In fact adapting or maintaining a proof usually means changing some aspects of its contents while trying to preserve its structure.

Since a proof may need some transformation before being translated, for the user convenience we preprocess the proof with an optimizing procedure. An optimized proof does not contain detours or unused information and is normalized according to the direct proof paradigm to possibly enhance its readability and ease its maintenance.

News new

  • February 2009. The first journal paper on the procedural reconstruction is accepted for publication.
  • November 2008. This Web site is online.
  • July 2008. The certified specification of the formal system λδ (coming from Coq 7.3.1) is fully reconstructed (762 proofs).
  • December 2006. The implementation of procedural reconstruction begins.

Documentation new

  1. F. Guidi: Procedural Representation of CIC proof Terms (2009-02). Accepted for JAR special issue on PLMMS.

  2. F. Guidi: Procedural Representation of CIC Proof Terms (2007-06). In local proc. of PLMMS 2007. RISC-LINZ Report Series 07-10 (3120), University of Linz, pp. 36-52.

  3. F. Guidi: Procedural Representation of CIC Proof Terms (2009-03). Communication at the University of Bologna (slides).

  4. F. Guidi: Procedural Representation of CIC Proof Terms (2007-06). Communication at PLMMS 2007 (slides).

Implementation new

The procedural reconstruction is activated by invoking the Matita high-level command inline.
The parameters of the inline command affecting the procedural reconstruction procedure, are the following:
  • Procedural. This parameter is mandatory to activate the procedural reconstruction procedure.
  • level=n. This optional parameter selects the procedural reconstruction level (i.e. the set of  tactics exploited by the reconstruction procedure). If omitted, the level defaults to the highest value. The currently implemended levels are:
  • nodefaults. This parameter inhibits the use of the tactics (i.e. rewrite) depending on the Matita high-level command default.
  • depth=n. Undocumended yet.

Valid HTML 4.01 Transitionaluse any browser herepng used here

Last update 2009-05-12 by Ferruccio Guidi