Enrico Tassi

dblp:35/4153 · DBLP profile ↗
← Back
19ranked-venue papers
1as first author
4since 2021 · last 2026
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 14 · 1 first-author · 3 since 2021Software engineering, systems software and programming languages · 5 · 3 since 2021Artificial intelligence and machine learning · 4
YearPublicationVenuePosition
2026 Determinacy Checking for Elpi: an Higher-Order Logic Programming Language with Cut
Davide Fissore, Enrico Tassi
PADL2
2025 Inductive Predicates via Least Fixpoints in Higher-Order Separation Logic
Robbert Krebbers, Luko van der Maas, Enrico Tassi
ITP3
2024 Higher-Order unification for free!: Reusing the meta-language unification for the object language
abstract
Specifying and implementing a proof system from scratch requires significant effort. Logical Frameworks and Higher Order Logic Programming Languages provide dedicated, high-level meta languages to facilitate this task in two ways: 1) variable binding and substitution are for free when meta language binders represent object logic ones; 2) proof construction, and proof search, are greatly simplified by leveraging the unification procedure provided by the meta language. Notable examples of meta languages are Elf [21], Twelf [23], λ Prolog [16], Beluga [24], Abella [8] and Isabelle [31] which have been used to implement or specify many formal systems such as First Order Logic [5], Set Theory [20], Higher Order Logic [19], and the Calculus of Constructions [4].
Davide Fissore, Enrico Tassi
PPDP2
2023 Practical and Sound Equality Tests, Automatically: Deriving eqType Instances for Jasmin's Data Types with Coq-Elpi
abstract
In this paper we describe the design and implementation of feqb, a tool that synthesizes sound equality tests for inductive data types in the dependent type theory of the Coq system. Our procedure scales to large inductive data types, as in hundreds of constructors, since the terms and proofs it synthesizes are linear in the size of the inductive type. Moreover it supports some forms of dependently typed arguments and sigma types pairing data with proofs of decidable properties. Finally feqb handles deeply nested containers without requiring any human intervention.
Benjamin Grégoire, Jean-Christophe Léchenet, Enrico Tassi
CPP3
2020 Hierarchy Builder: Algebraic hierarchies Made Easy in Coq with Elpi (System Description)
abstract
International audience
Cyril Cohen, Kazuhiko Sakaguchi, Enrico Tassi
FSCD3
2019 Deriving Proved Equality Tests in Coq-Elpi: Stronger Induction Principles for Containers in Coq
abstract
We describe a procedure to derive equality tests and their correctness proofs from inductive type declarations in Coq. Programs and proofs are derived compositionally, reusing code and proofs derived previously. The key steps are two. First, we design appropriate induction principles for data types defined using parametric containers. Second, we develop a technique to work around the modularity limitations imposed by the purely syntactic termination check Coq performs on recursive proofs. The unary parametricity translation of inductive data types turns out to be the key to both steps. Last but not least, we provide an implementation of the procedure for the Coq proof assistant based on the Elpi [Dunchev et al., 2015] extension language.
Enrico Tassi
ITP1
2019 Implementing type theory in higher order constraint logic programming
abstract
In this paper, we are interested in high-level programming languages to implement the core components of an interactive theorem prover for a dependently typed language: the kernel – responsible for type-checking closed terms – and the elaborator – that manipulates open terms, that is terms containing unresolved unification variables. In this paper, we confirm that λProlog, the language developed by Miller and Nadathur since the 80s, is extremely suitable for implementing the kernel. Indeed, we easily obtain a type checker for the Calculus of Inductive Constructions (CIC). Even more, we do so in an incremental way by escalating a checker for a pure type system to the full CIC. We then turn our attention to the elaborator with the objective to obtain a simple implementation thanks to the features of the programming language. In particular, we want to use λProlog’s unification variables to model the object language ones. In this way, scope checking, carrying of assignments and occur checking are handled by the programming language. We observe that the eager generative semantics inherited from Prolog clashes with this plan. We propose an extension to λProlog that allows to control the generative semantics, suspend goals over flexible terms turning them into constraints, and finally manipulate these constraints at the meta-meta level via constraint handling rules. We implement the proposed language extension in the Embedded Lambda Prolog Interpreter system and we discuss how it can be used to extend the kernel into an elaborator for CIC.
Ferruccio Guidi, Claudio Sacerdoti Coen, Enrico Tassi
Math. Struct. Comput. Sci.3
2018 Coqoon - An IDE for interactive proof development in Coq
Alexander John Faithfull, Jesper Bengtson, Enrico Tassi, Carst Tankink
Int. J. Softw. Tools Technol. Transf.3
2016 Coqoon - An IDE for Interactive Proof Development in Coq
abstract
International audience
Alexander John Faithfull, Jesper Bengtson, Enrico Tassi, Carst Tankink
TACAS3
2015 Asynchronous Processing of Coq Documents: From the Kernel up to the User Interface
Bruno Barras, Carst Tankink, Enrico Tassi
ITP3
2015 ELPI: Fast, Embeddable, λProlog Interpreter
Tsvetan Dunchev, Ferruccio Guidi, Claudio Sacerdoti Coen, Enrico Tassi
LPAR4
2014 A Computer-Algebra-Based Formal Proof of the Irrationality of ζ(3)
Frédéric Chyzak, Assia Mahboubi, Thomas Sibut-Pinote, Enrico Tassi
ITP4
2013 A Machine-Checked Proof of the Odd Order Theorem
Georges Gonthier, Andrea Asperti, Jeremy Avigad, Yves Bertot, Cyril Cohen, François Garillot, Stéphane Le Roux 0001, Assia Mahboubi, Russell O'Connor, Sidi Ould Biha, Ioana Pasca, Laurence Rideau, Alexey Solovyev, Enrico Tassi, Laurent Théry
ITP14
2013 Canonical Structures for the Working Coq User
Assia Mahboubi, Enrico Tassi
ITP2
2012 A Language of Patterns for Subterm Selection
Georges Gonthier, Enrico Tassi
ITP2
2012 Formal Metatheory of Programming Languages in the Matita Interactive Theorem Prover
Andrea Asperti, Wilmer Ricciotti, Claudio Sacerdoti Coen, Enrico Tassi
J. Autom. Reason.4
2011 The Matita Interactive Theorem Prover
Andrea Asperti, Wilmer Ricciotti, Claudio Sacerdoti Coen, Enrico Tassi
CADE4
2011 Formalising Overlap Algebras in Matita
abstract
We describe some formal topological results, formalised in Matita 1/2, presented in predicative intuitionistic logic and in terms of Overlap Algebras. Overlap Algebras are new algebraic structures designed to ease reasoning about subsets in an algebraic way within intuitionistic logic. We find that they also ease the formalisation of formal topological results in an interactive theorem prover. Our main result is the existence of a functor between two categories of ‘generalised topological spaces’, one with points (Basic Pairs) and the other point-free (Basic Topologies). This formalisation is part of a wider scientific collaboration with the inventor of the theory, Giovanni Sambin. His goal is to verify in what sense his theory is ‘implementable’, and to discover what problems may arise in the process. We check that all intermediate constructions respect the stringent size requirements imposed by predicative logic. The formalisation is quite unusual, since it has to make explicit size information that is often hidden. We found that the version of Matita used for the formalisation was largely inappropriate. The formalisation drove several major improvements of Matita that will be integrated in the next major release (Matita 1.0). We show some motivating examples, taken directly from the formalisation, for these improvements. We also describe a possibly sub-optimal solution in Matita 1/2, which is exploitable in other similar systems. We briefly discuss a better solution available in Matita 1.0.
Claudio Sacerdoti Coen, Enrico Tassi
Math. Struct. Comput. Sci.2
2007 User Interaction with the Matita Proof Assistant
Andrea Asperti, Claudio Sacerdoti Coen, Enrico Tassi, Stefano Zacchiroli
J. Autom. Reason.3