Enrico Tassi Homepage
Date: 2009-11-27
Personal Information
I was born in Modena, June 10 1980.
I defended my Ph.D. at the university of Bologna in 2008, where
I worked mainly on the design and implementation of the
Matita interactive theorem prover.
I'm currently a post-doc working for the Mathematical Components
project in Orsay, Paris.
Here my detailed curriculm vitae.
Contacs:
- Mail: name.lastname@inria.fr
- Phone: +33 1 69 35 69 83
- Fax: + 33 1 69 35 69 69
- Office address: Building I, Parc Orsay Université, 28, rue Jean Rostand, 91893 Orsay Cedex
Papers
A new type for tactics
with Andrea Asperti, Wilmer Ricciotti and Claudio Sacerdoti Coen.
To appear in the proceedings of ACM SIGSAM PLMMS 2009,
ISBN 978-1-60558-735-6.
Published as technical report UBLCS-2009-14.
Download
Slides
See abstract
The type of tactics in all (procedural) proof assistants is (a variant of)
the one introduced in LCF. We discuss why this is inconvenient and we propose
a new type for tactics that 1) allows the implementation of more clever
tactics; 2) improves the implementation of declarative languages on top
of procedural ones; 3) allows for better proof structuring; 4) improves
proof automation; 5) allows tactics to rearrange and delay the goals to be
proved (e.g. in case of side conditions or PVS subtyping judgements).
Hints in Unification
with Andrea Asperti, Wilmer Ricciotti and Claudio Sacerdoti Coen.
Published in the proceedings of TPHOLs 2009, LNCS, Volume 5674/2009,
Pages 84-98, DOI 10.1007/978-3-642-03359-9, ISBN 978-3-642-03358-2
Download
Slides
See abstract
Several mechanisms such as Canonical Structures,
Type Classes, or
Pullbacks
have been recently introduced with the aim to improve the power and
flexibility of
the type inference algorithm for interactive theorem provers. We claim that
all these mechanisms are particular instances of a simpler and more general
technique, just consisting in providing suitable hints to the unification
procedure underlying type inference. This allows a simple, modular and
not intrusive implementation of all the above mentioned techniques, opening
at the same time innovative and unexpected perspectives on its possible
applications.
Natural deduction environment for Matita
with Claudio Sacerdoti Coen.
Published in the proceedings of MKM2009, Volume 5625, Pages 486-491,
ISBN 978-3-642-02613-3, DOI 10.1007/978-3-642-02614-0_40
Download
Slides
See abstract
Matita is a proof assistant characterised by a rich, user extensible, output
facility based on a widget for the rendering of MathML Presentation, and by the
automatic handling of overloading by means of a flexible disambiguation
mechanism.
We show how to use these features to obtain a simple learning
environment for natural deduction, without modifying the source code
or Matita.
A compact kernel for the calculus of inductive constructions
with Andrea Asperti, Wilmer Ricciotti and Claudio Sacerdoti Coen.
Published in the Journal Sadhana,
Volume 34, Pages 71-144, Year 2009. ISSN: 0256-2499
Download
Slides
See abstract
The paper describes the new kernel for the Calculus of Inductive
Constructions (CIC) implemented inside the Matita Interactive Theorem Prover.
The design of the new kernel has been completely revisited since
the first release, resulting in a remarkably compact implementation
of about 2300 lines of OCaml code. The work is meant for people
interested in implementation aspects of Interactive Provers, and
is not self contained. In particular, it requires good
acquaintance with Type Theory and functional programming languages.
A constructive and formal proof of Lebesgue’s Dominated Convergence Theorem in the interactive theorem prover Matita
with Claudio Sacerdoti Coen.
Published by the Journal of Formalized Reasoning
, Issue 1, Volume 1, Pages 51-89, Year 2008. ISSN: 1972-5787.
Download
See abstract
We present a formalisation of a constructive proof of Lebesgue’s Dominated Convergence Theorem given by the Sacerdoti Coen and Zoli in [CSCZ]. The proof is done in the abstract setting of ordered uniformities, also introduced by the two authors as a simplification of Weber’s lattice uniformities given in [Web91, Web93]. The proof is fully constructive, in the sense that it is done in Bishop’s style and, under certain assumptions, it is also fully predicative. The formalisation is done in the Calculus of (Co)Inductive Constructions using the interactive theorem prover Matita [ASTZ07]. It exploits some peculiar features of Matita and an advanced technique to represent algebraic hierarchies previously introduced by the authors in [ST07]. Moreover, we introduce a new technique to cope with duality to halve the formalisation effort.
An interactive driver for goal directed proof
strategies
with Andrea Asperti.
Published in the Proceedings of
UITP 2008:
8th International Workshop On
User Interfaces for Theorem Provers, 22 August 2008, Montréal, Québec, Canada. ENTCS, Volume 226, 3 January 2009, Pages 89-105, ISSN 1571-0661,
DOI 10.1016/j.entcs.2008.12.099
Download
Slides
See abstract
Interactive Theorem Provers (ITPs) are tools meant to assist the user
during the formal development of mathematics. Automatic proof
searching procedures are a desirable aid, and most ITPs supply the
user with an extensive set of facilities to improve automation.
However, the black-box nature of most automatic procedure conflicts
with the interactive nature of these tools: a newcomer running an automatic
procedure learns nothing by its execution (especially in case of failure),
and a trained user has no opportunities to interactively guide
the procedure towards the solution, e.g. pruning wrong or not
promising branches of the search tree.
In this paper we discuss the implementation of the resolution based
automatic procedure of the Matita ITP, explicitly
conceived to be interactively driven by the user through a suitable,
simple graphical interface.
Working with Mathematical Structures in Type Theory
with Sacerdoti Coen.
Published in the Proceedings of
TYPES 2007: Conference of the Types
Project, 2-5 May 2007 Cividale del Friuli (Udine), Italy.
LNCS, ISSN 0302-9743 (Print) 1611-3349 (Online),
DOI 10.1007/978-3-540-68103-8, ISBN 978-3-540-68084-0,
Pages 157-172, Volume 4941, Year 2008.
Download
Slides
See abstract
We address the problem of representing mathematical structures in a proof
assistant which: 1) is based on a type theory with dependent types, telescopes
and a computational version of Leibniz equality; 2) implements coercive
subtyping, accepting multiple coherent paths between type families;
3) implements a restricted form of higher order unification and type
reconstruction. We show how to exploit the previous quite common features
to reduce the syntactic gap between pen and paper and formalised
algebra. However, to reach our goal we need to propose unification and type
reconstruction heuristics that are slightly different from the ones usually
implemented.
A modular formalisation of finite group theory
with Georges Gonthier, Assia Mahboubi , Laurence Rideau and Laurent Thery.
Published in the Proceedings of
TPHOL 2007: The 20th International
Conference on Theorem Proving in Higher Order Logics. LNCS, Volume 4732, ISBN: 978-3-540-74590-7, DOI: 10.1007/978-3-540-74591-4, Pages: 86-101, 2007.
Download
See abstract
In this paper, we present a formalisation of elementary group theory done in
Coq. This work is the first milestone of a long-term effort to
formalise Feit-Thompson theorem. As our further developments will heavily
rely on this initial base, a special care has been taken to articulate it in
the most compositional way.
Higher order proof reconstruction from paramodulation-based refutations: the unit equality case
with Andrea Asperti.
Published in the Proceedings of MKM 2007: The 6th International Conference on Mathematical Knowledge Management. LNAI, Volume 4573, ISBN: 978-3-540-73083-5, 2007.
Download
Slides
See abstract
In this paper we address the problem of reconstructing a higher order,
checkable proof object starting from a proof trace left by a first order
automatic proof searching procedure, in a restricted equational framework.
The automatic procedure is based on superposition rules for the unit
equality case. Proof transformation techniques aimed to improve the
readability of the final proof are discussed.
Crafting a Proof Assistant
with Andrea Asperti, Claudio Sacerdoti Coen, Stefano Zacchiroli.
Published in the Proceedings of
Types 2006: Conference of the Types Project.
Nottingham, UK -- April 18-21, 2006. LNCS Volume 4502, Springer Berlin / Heidelberg, ISBN 978-3-540-74463-4, pp. 18-32, 2007.
Download
Slides
See abstract
Proof assistants are complex applications whose development has never been
properly systematized or documented. This work is a contribution in this
direction, based on our experience with the development of Matita: a new
interactive theorem prover based---as Coq---on the Calculus of Inductive
Constructions (CIC). In particular, we analyze its architecture focusing on
the dependencies of its components, how they implement the main
functionalities, and their degree of reusability.
The work is a first attempt to provide a ground for a more direct comparison
between different systems and to highlight the common functionalities, not only
in view of reusability but also to encourage a more systematic comparison of
different softwares and architectural solutions.
User Interaction with the Matita Proof Assistant
with Andrea Asperti, Claudio Sacerdoti Coen, Stefano Zacchiroli.
Published in the
Journal of Automated Reasoning,
Special Issue
on User Interfaces for Theorem Proving,
Springer Netherlands, ISSN 0168-7433, Volume 39, Issue 2, August 2007,
Pages: 109-139.
Download
See abstract
Matita is a new, document-centric, tactic-based interactive theorem prover
under development at the University of Bologna. This paper focuses on some of
the distinctive features of the user interaction with Matita, mostly
characterized by the organization of the library as a searchable knowledge
base, the emphasis on a high-quality (MathML-based) notational rendering, and
the complex interplay between syntax, presentation, and semantics (e.g. for
disambiguation of formulae input by the user, and direct manipulation of
terms).
Tinycals: Step by Step Tacticals
with Claudio Sacerdoti Coen, Stefano Zacchiroli.
In Proceedings of UITP 2006:
User Interfaces for Theorem Provers.
Seattle, WA -- August 21, 2006. ENTCS, Volume 174, Issue 2 (May 2007),
Pages 125 - 142, ISSN:1571-0661
Download
Slides
See abstract
Most of the state-of-the-art proof assistants are based on procedural proof
languages, scripts, and rely on LCF tacticals as the primary tool for
tactics composition. In this paper we discuss how these ingredients do not
interact well with user interfaces based on the same interaction paradigm of
Proof General (the de facto standard in this field), identifying in the
coarse-grainedness of tactical evaluation the key problem. We propose
Tinycals as an alternative to a subset of LCF tacticals, showing that the
user does not experience the same problem if tacticals are evaluated in a
more fine-grained manner. We present the formal operational semantics of
tinycals as well as their implementation in the Matita proof assistant.
Modified Realizability and Inductive Types
with Andrea Asperti, June 2006. Technical report UBLCS-2006-18.
Download
See abstract
In 1959, Kreisel introduced a notion of modified realizability that,
among other things, provides an alternative technique to Godel functional
(dialectica) interpretation for establishing the connection between Peano
Arithmetic and System T. In this paper we give a modern presentation of
modified realizability, and generalize it to arbitrary inductive types in a
first order setting and their extension with strong elimination rules.
A content based mathematical search engine: Whelp
with Andrea Asperti, Ferruccio Guidi, Claudio Sacerdoti Coen, and Stefano
Zacchiroli.
Published In Proceedings of TYPES 2004
conference: Types for Proofs and Programs.
Paris, France -- December 15-18, 2004. LNCS 3839, Springer Berlin /
Heidelberg, ISBN 3-540-31428-8,
pp. 17-32, 2006.
Download
See abstract
The prototype of a content based search engine
for mathematical knowledge supporting a small set of queries requiring
matching and/or typing operations is described.
The prototype --- called Whelp --- exploits a metadata approach
for indexing the information that looks far more flexible than traditional
indexing techniques for structured expressions like substitution,
discrimination, or context trees. The prototype has been instantiated to the
standard library of the Coq proof assistant extended with many
user contributions.
User Level Networking-Personal IP: assigning each
user his/her own IP addresses in multiuser operating systems
with Alessandro Pira and Renzo Davoli.
Published in the proceedings of ICN04,
IEEE International Conference on Networking,
February 29 - March 4 2004,
Guadeloupe, French Caribbean.
Download
See abstract
When a user logs into a machine using User Level Networking-Personal IP
he/she can be assigned a personal IP address, a set of personal IP addresses,
or no address at all. In a multiuser multitasking operating system where
several users are operating at the same time, each user has his/her own
personalized access to the network. In this way the system and network
administrator can assign access rights, traffic shaping and routing on a
user-by-user basis. In cases of user abuses on the network there is direct
mapping between the IP address and his/her user id; it is sufficient to read
a single log file.
Dissertations
Interactive Theorem Provers: issues faced as a user and tackled as a developer
Technical report UBLCS-2008-03
Download
See abstract
Interactive theorem provers (ITP for short) are tools whose final aim is to
certify proofs written by human beings. To reach that objective they have to
fill the gap between the high level language used by humans for communicating
and reasoning about mathematics and the lower level language that a machine
is able to understand and process. The user perceives this gap in terms
of missing features or inefficiencies. The developer tries to accommodate
the user requests without increasing the already high complexity of these
applications. We believe that satisfactory solutions can only come from a
strong synergy between users and developers. We devoted most part of our PHD
designing and developing the Matita interactive theorem prover. The software
was born in the computer science department of the University of Bologna as
the result of composing together all the technologies developed by the HELM
team (to which we belong) for the MoWGLI project. The MoWGLI project aimed at
giving accessibility through the web to the libraries of formalised
mathematics of various interactive theorem provers, taking Coq as the main
test case. The motivations for giving life to a new ITP are:
- study
the architecture of these tools, with the aim of understanding the source of
their complexity.
- exploit such a knowledge to experiment new
solutions that, for backward compatibility reasons, would be hard (if not
impossible) to test on a widely used system like Coq.
Matita is
based on the Curry-Howard isomorphism, adopting the Calculus of Inductive
Constructions (CIC) as its logical foundation. Proof objects are thus, at
some extent, compatible with the ones produced with the Coq ITP, that is
itself able to import and process the ones generated using Matita. Although
the systems have a lot in common, they share no code at all, and even most of
the algorithmic solutions are different. The thesis is composed of two parts
where we respectively describe our experience as a user and a developer of
interactive provers. In particular, the first part is based on two different
formalisation experiences:
- our internship in the Mathematical
Components team (INRIA), that is formalising the finite group theory required
to attack the Feit Thompson Theorem. To tackle this result, giving an
effective classification of finite groups of odd order, the team adopts the
SSR Coq extension, developed by Georges Gonthier for the proof of the four
colours theorem.
- our collaboration at the D.A.M.A. Project, whose
goal is the formalisation of abstract measure theory in Matita leading to
a constructive proof of Lebesgue's Dominated Convergence Theorem.
The most notable issues we faced, analysed in this part of the thesis, are
the following: the difficulties arising when using black box automation
in large formalisations; the impossibility for a user (especially a newcomer)
to master the context of a library of already formalised results; the
uncomfortable big step execution of proof commands historically adopted in
ITPs; the difficult encoding of mathematical structures with a notion of
inheritance in a type theory without subtyping like CIC. In the second part
of the manuscript many of these issues will be analysed with the looking
glasses of an ITP developer, describing the solutions we adopted in the
implementation of Matita to solve these problems: integrated searching
facilities to assist the user in handling large libraries of formalised
results; a small step execution semantic for proof commands; a flexible
implementation of coercive subtyping allowing multiple inheritance with
shared substructures; automatic tactics, integrated with the searching
facilities, that generates proof commands (and not only proof objects,
usually kept hidden to the user) one of which specifically designed to be
user driven.
Teaching
- Master "Scienze e Tecnologie del Software Libero" (2008-2009)
- Laboratorio di sistemi operativi LSO
- Laboratorio di sistemi operativi (Scienze di internet) (2008-2009)
- Linguaggi e strutture (Esercitazioni) (2008-2009)
- Master "Tecnologie web per l'impresa" (2006?)
- Laboratorio di sistemi operativi (2005-2007)
- Pagina ufficiale del corso
- Per la stesura del codice relativo al progetto è bene conoscere
cosa mi piace e cosa mi fa schifo quando leggo del
codice C.
Interests
My research interests are type theory and in particular proof assistants.
I'm a Free Software supporter and a Debian developer.
I like writing software, listening to angry girls singing, playing
soccer in 5, eating good food, drinking strong beer and red whine.
Here is a nice shot featuring the #osd class having
dinner with Richard Stallman.
Undergraduate
My undergraduate page is still there.
Debian
Since January 2006 I'm a Debian developer. You can have a look at the full
list of packages I maintain. I like to think of Debian as
the best O.S. for developers (and not only for users), so I'm involved in
pushing the awesome Lua language into Debian, with
special effort in making developers life easier.
This is my public GPG key 0x0123F2F2.
Software
Some software I worked on follows, most recent first.
- Sync Mail Dir a Maildir synchronization tool set
- Matita the proof assistant.
- FreePOPs, an extensible POP3 server that superseded
LiberoPOPs.
- G3CP is an online theorem prover based on Gentzen's sequent calculi.
- User Level Networking is a Linux kernel patch providing a fine grained
access control to network devices.
- Icebreaker, an addictive click&run game, similar
to the old Jezzball.
- Biblioteca, to register all your books (Italian only).
- Fantacalcio, prepare your team and send it by mail (dead,
Italian only).
- SaveMyModem An anti-spam/mail-shaper/delete-on-server software (dead).
- ebiff An extensible mail notification agent (dead).
This site
This site has been written using markdown,
plus an hack to extend CSS with Lua statements.