EDBT 2026 Demo / reviewers in the wild / expert
Alberto Momigliano
dblp:88/6655
· DBLP profile ↗
27ranked-venue papers
6as first author
4since 2021 · last 2025
0000-0003-0942-4777ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 20 · 6 first-author · 2 since 2021Software engineering, systems software and programming languages · 13 · 2 first-author · 3 since 2021Artificial intelligence and machine learning · 4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Split Decisions: Explicit Contexts for Substructural LanguagesabstractA central challenge in mechanizing the meta-theory of substructural languages is modeling contexts. Although various ad hoc approaches to this problem exist, we lack a set of good practices and a simple infrastructure that can be leveraged for mechanizing a wide range of substructural systems. In this work, we describe Contexts as Resource Vectors (CARVe), a general syntactic infrastructure for managing substructural contexts, where elements are annotated with tags from a resource algebra denoting their availability. Assumptions persist as contexts are manipulated since we model resource consumption by changing their tags. We may thus define relations between substructural contexts via simultaneous substitutions without the need to split them. Moreover, we establish a series of algebraic properties about context operations that are typically required to carry out proofs in practice. CARVe is implemented in the proof assistant Beluga. To illustrate best practices for using our infrastructure, we give a detailed reformulation of the linear sequent calculus and bidirectional linear λ-calculus in terms of CARVe’s context operations and prove their equivalence using the aforementioned algebraic properties. In addition, we apply CARVe to mechanize a diverse set of systems, from the affine λ-calculus to the session-typed process calculus CP, giving us confidence that CARVe is sufficiently general to mechanize a broad range of substructural systems. Daniel Zackon, Chuta Sano, Alberto Momigliano, Brigitte Pientka |
CPP | 3 |
| 2024 | The Concurrent Calculi Formalisation Benchmark
Marco Carbone, David Castro-Perez, Francisco Ferreira 0001, Lorenzo Gheri, Frederik Krogsdal Jacobsen, Alberto Momigliano, Luca Padovani, Alceste Scalas, Dawit Legesse Tirore, Martin Vassor, Nobuko Yoshida, Daniel Zackon |
COORDINATION | 6 |
| 2024 | Property-Based Testing by Elaborating Proof OutlinesabstractAbstract Property-based testing (PBT) is a technique for validating code against an executable specification by automatically generating test-data. We present a proof-theoretical reconstruction of this style of testing for relational specifications and employ the Foundational Proof Certificate framework to describe test generators. We do this by encoding certain kinds of “proof outlines” as proof certificates that can describe various common generation strategies in the PBT literature, ranging from random to exhaustive, including their combination. We also address the shrinking of counterexamples as a first step toward their explanation. Once generation is accomplished, the testing phase is a standard logic programing search. After illustrating our techniques on simple, first-order (algebraic) data structures, we lift it to data structures containing bindings by using the $\lambda$ -tree syntax approach to encode bindings. The $\lambda$ Prolog programing language can perform both generating and checking of tests using this approach to syntax. We then further extend PBT to specifications in a fragment of linear logic. Dale Miller 0001, Alberto Momigliano |
Theory Pract. Log. Program. | 2 |
| 2021 | Towards Substructural Property-Based Testing
Marco Mantovani 0002, Alberto Momigliano |
LOPSTR | 2 |
| 2019 | Property-Based Testing via Proof ReconstructionabstractProperty-based testing (PBT) is a technique for validating code against an executable specification by automatically generating test-data. We present a proof-theoretical reconstruction of this style of testing for relational specifications and employ the Foundational Proof Certificate framework to describe test generators. We do this by presenting certain kinds of "proof outlines" that can be used to describe various common generation strategies in the PBT literature, ranging from random to exhaustive, including their combination. We also address the shrinking of counterexamples as a first step towards their explanation. Once generation is accomplished, the testing phase boils down to a standard logic programming search. After illustrating our techniques on simple, first-order (algebraic) data structures, we lift it to data structures containing bindings using λ-tree syntax. The λProlog programming language is capable of performing both the generation and checking of tests. We validate this approach by tackling benchmarks in the metatheory of programming languages coming from related tools such as PLT-Redex. Roberto Blanco, Dale Miller 0001, Alberto Momigliano |
PPDP | 3 |
| 2019 | POPLMark reloaded: Mechanizing proofs by logical relationsabstractAbstract We propose a new collection of benchmark problems in mechanizing the metatheory of programming languages, in order to compare and push the state of the art of proof assistants. In particular, we focus on proofs using logical relations (LRs) and propose establishing strong normalization of a simply typed calculus with a proof by Kripke-style LRs as a benchmark. We give a modern view of this well-understood problem by formulating our LR on well-typed terms. Using this case study, we share some of the lessons learned tackling this problem in different dependently typed proof environments. In particular, we consider the mechanization in Beluga, a proof environment that supports higher-order abstract syntax encodings and contrast it to the development and strategies used in general-purpose proof assistants such as Coq and Agda. The goal of this paper is to engage the community in discussions on what support in proof environments is needed to truly bring mechanized metatheory to the masses and engage said community in the crafting of future benchmarks. Andreas Abel 0001, Guillaume Allais, Aliya Hameer, Brigitte Pientka, Alberto Momigliano, Steven Schäfer, Kathrin Stark |
J. Funct. Program. | 5 |
| 2019 | A case study in programming coinductive proofs: Howe's methodabstractBisimulation proofs play a central role in programming languages in establishing rich properties such as contextual equivalence. They are also challenging to mechanize, since they require a combination of inductive and coinductive reasoning on open terms. In this paper, we describe mechanizing the property that similarity in the call-by-name lambda calculus is a pre-congruence using Howe’s method in theBelugaformal reasoning system. The development relies on three key ingredients: (1) we give a higher order abstract syntax (HOAS) encoding of lambda terms together with their operational semantics as intrinsically typed terms, thereby avoiding not only the need to deal with binders, renaming and substitutions, but keeping all typing invariants implicit; (2) we take advantage ofBeluga’s support for representing open terms using built-in contexts and simultaneous substitutions: this allows us to directly state central definitions such as open simulation without resorting to the usual inductive closure operation and to encode very elegantly notoriously painful proofs such as the substitutivity of the Howe relation; (3) we exploit the possibility of reasoning by coinduction inBeluga’s reasoning logic. The end result is succinct and elegant, thanks to the high-level abstractions and primitivesBelugaprovides. We believe that this mechanization is a significant example that illustratesBeluga’s strength at mechanizing challenging (co)inductive proofs using HOAS encodings. Alberto Momigliano, Brigitte Pientka, David Thibodeau 0001 |
Math. Struct. Comput. Sci. | 1 |
| 2018 | From Constructivism to Logic Programming: an Homage to Mario OrnaghiabstractIn this brief note, we outline Mario Ornaghi’s contributions to the field of computational logic to celebrate his 70th birthday. Mauro Ferrari 0002, Camillo Fiorentini, Alberto Momigliano |
Fundam. Informaticae | 3 |
| 2018 | PrefaceabstractLogicaComputazionale, CILC 2016) that was hosted by the Università degli Studi di Milano-Bicocca, Italy, from June 20th to June 22th, 2016.The event was the thirty-first edition of the annual meeting of the Italian Association for Logic Programming (GULP, Gruppo Ricercatori e Utenti di Logic Programming).Since its first edition, the annual conference organized by GULP is the main occasion of meeting and exchanging ideas and experiences among Italian researchers who work in the field of Computational Logic.During the years, this meeting has extended its horizons from the area of Logic Programming to the area of Computational Logic in general, including aspects of Artificial Intelligence and Deductive Databases.The program of CILC 2016 included 21 technical papers accepted for presentation and a few demos.Paper selection was made by peer reviewing.vi iii Description Logic ALC based on the combination of a typicality operator and the well-established non-monotonic mechanism of rational closure, which allows one to deal with prototypical properties and defeasible inheritance.Martin Sticht presents a multi-agent version of dialogical logic that corresponds more to multiconclusion sequent calculi for propositional intuitionistic logic rather than single-conclusion ones, which are related to two-player dialogues.We would like to thank the Department of Computer Camillo Fiorentini, Alberto Momigliano, Alberto Pettorossi |
Fundam. Informaticae | 2 |
| 2018 | Benchmarks for reasoning with syntax trees containing binders and contexts of assumptionsabstractA variety of logical frameworks supports the use of higher order abstract syntax in representing formal systems. Although these systems seem superficially the same, they differ in a variety of ways, for example, how they handle acontextof assumptions and which theorems about a given formal system can be concisely expressed and proved. Our contributions in this paper are two-fold: (1) We develop a common infrastructure and language for describing benchmarks for systems supporting reasoning with binders, and (2) we present several concrete benchmarks, which highlight a variety of different aspects of reasoning within a context of assumptions. Our work provides the background for the qualitative comparison of different systems that we have completed in a separate paper. It also allows us to outline future fundamental research questions regarding the design and implementation of meta-reasoning systems. Amy P. Felty, Alberto Momigliano, Brigitte Pientka |
Math. Struct. Comput. Sci. | 2 |
| 2017 | Validating the Meta-Theory of Programming Languages (Short Paper)
Guglielmo Fachini, Alberto Momigliano |
SEFM | 2 |
| 2017 | αCheck: A mechanized metatheory model checkerabstractAbstract The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual problem of searching for errors in such formalizations has attracted comparatively little attention. In this article, we present αCheck, a bounded model checker for metatheoretic properties of formal systems specified using nominal logic. In contrast to the current state of the art for metatheory verification, our approach is fully automatic, does not require expertise in theorem proving on the part of the user, and produces counterexamples in the case that a flaw is detected. We present two implementations of this technique, one based onnegation-as-failureand one based onnegation elimination, along with experimental results showing that these techniques are fast enough to be used interactively to debug systems as they are developed. James Cheney, Alberto Momigliano |
Theory Pract. Log. Program. | 2 |
| 2015 | A Semantical Analysis of Focusing and Contraction in Intuitionistic LogicabstractFocusing is a proof-theoretic device to structure proof search in the sequent calculus: it provides a normal form to cut-free proofs in which the application of invertible and non-invertible inference rules is structured in two separate and disjoint phases. Although stemming from proof-search cons iderations, focusing has not been thoroughly investigated in actual theorem proving, in particular w.r.t. termination. We present a contraction-free (and hence terminating) focused multi-succedent sequent calculus for propositional intuitionistic logic, which refines the G4ip calculus in the tradition of Vorob’ev, Hudelmeier and Dyckhoff. We prove completeness of the calculus semantically and argue that this offers a viable alternative to other more syntactical means. Alessandro Avellone, Camillo Fiorentini, Alberto Momigliano |
Fundam. Informaticae | 3 |
| 2015 | The Next 700 Challenge Problems for Reasoning with Higher-Order Abstract Syntax Representations - Part 2 - A Survey
Amy P. Felty, Alberto Momigliano, Brigitte Pientka |
J. Autom. Reason. | 2 |
| 2012 | Hybrid - A Definitional Two-Level Approach to Reasoning with Higher-Order Abstract Syntax
Amy P. Felty, Alberto Momigliano |
J. Autom. Reason. | 2 |
| 2009 | Applying ASP to UML Model Validation
Mario Ornaghi, Camillo Fiorentini, Alberto Momigliano, Francesco Pagano |
LPNMR | 3 |
| 2009 | Reasoning with hypothetical judgments and open terms in hybridabstractHybrid is a system developed to specify and reason about logics, programming languages, and other formal systems expressed in higher-order abstract syntax (HOAS). An important goal of Hybrid is to exploit the advantages of HOAS within the well-understood setting of higher-order logic as implemented by systems such as Isabelle and Coq. In this paper, we add new capabilities for reasoning by induction on encodings of object-level inference rules. Elegant and succinct specifications of such inference rules can often be given using hypothetical and parametric judgments, which are represented by embedded implication and universal quantification. Induction over such judgments is well-known to be problematic. In previous work, we showed how to express this kind of judgment using a two-level approach, but reasoning by induction on such judgments was restricted to closed terms. The new capabilities we add include techniques for adding arbitrary "new" variables to contexts and inductively reasoning about open terms. Very little overhead is required, namely a small library of definitions and lemmas, yet the reasoning power of the system and the class of properties that can be proved is significantly increased. We illustrate the approach using PCF, a simple programming language that serves as the core of a variety of functional languages. We encode the typing judgment, and prove by induction on this judgment that well-typed PCF terms have unique types. Amy P. Felty, Alberto Momigliano |
PPDP | 2 |
| 2007 | Snapshot Generation in a Constructive Object-Oriented Modeling Language
Mauro Ferrari 0002, Camillo Fiorentini, Alberto Momigliano, Mario Ornaghi |
LOPSTR | 3 |
| 2007 | Mechanized metatheory model-checkingabstractThe problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual problem of searching for errors in such formalizations has received comparatively little attention. In this paper, we consider the problem of bounded model-checking for metatheoretic properties of formal systems specified using nominal logic. In contrast to the current state of the art for metatheory verification, our approach is fully automatic, does not require expertise in theorem proving on the part of the user, and produces counterexamples in the case that a flaw is detected. We present two implementations of this technique, one based on negation-as-failure and one based on negation elimination, along with experimental results showing that these techniques are fast enough to be used interactively to debug systems as they are developed. James Cheney, Alberto Momigliano |
PPDP | 2 |
| 2007 | A program logic for resources
David Aspinall 0001, Lennart Beringer, Martin Hofmann 0001, Hans-Wolfgang Loidl, Alberto Momigliano |
Theor. Comput. Sci. | 5 |
| 2004 | Constructive Specifications for Compositional Units
Kung-Kiu Lau, Alberto Momigliano, Mario Ornaghi |
LOPSTR | 2 |
| 2004 | Automatic Certification of Heap Consumption
Lennart Beringer, Martin Hofmann 0001, Alberto Momigliano, Olha Shkaravska |
LPAR | 3 |
| 2003 | Multi-level Meta-reasoning with Higher-Order Abstract Syntax
Alberto Momigliano, Simon Ambler |
FoSSaCS | 1 |
| 2003 | Higher-order pattern complement and the strict lambda-calculusabstractWe address the problem of complementing higher-order patterns without repetitions of existential variables. Differently from the first-order case, the complement of a pattern cannot, in general, be described by a pattern, or even by a finite set of patterns. We therefore generalize the simply-typed λ-calculus to include an internal notion of strict function so that we can directly express that a term must depend on a given variable. We show that, in this more expressive calculus, finite sets of patterns without repeated variables are closed under complement and intersection. Our principal application is the transformational approach to negation in higher-order logic programs. Alberto Momigliano, Frank Pfenning |
ACM Trans. Comput. Log. | 1 |
| 2000 | Elimination of Negation in a Logical Framework
Alberto Momigliano |
CSL | 1 |
| 1999 | The Relative Complement Problem for Higher-Order Patterns
Alberto Momigliano, Frank Pfenning |
ICLP | 1 |
| 1997 | Regular Search Spaces and Constructive NegationabstractThe aim of this paper is to show the fruitfulness and fecundity of the authors' proof-theoretic analysis of logic programming (both for definite and normal programs). It is based on a simple logical framework that goes under the name of regular search spaces. The challenge faced here is to give a treatment in proof-theoretic terms of the issue of negation, which has been one of the toughest problems that has plagued logic programming from its very beginning. While negation-as-failure (NF) has been overwhelmingly the more widespread answer, its intrinsic limitations have made it a rather unsatisfactory solution. In the present paper it is first contended that the notion of regularity offers a better understanding of the traditional theory of NF, and second a firm yet very simple and natural basis for a form of constructive negation, in the sense of Chan, Stuckey and Harland. A version of constructive negation is presented, based on the notion of regular splitting, a transformation technique where the failure axiom(s) of a predicate occurring negatively in a program are split into new clauses according to a covering of the underlying signature. Alberto Momigliano, Mario Ornaghi |
J. Log. Comput. | 1 |