Jeremy Avigad

dblp:60/1535 · DBLP profile ↗
← Back
51ranked-venue papers
31as first author
16since 2021 · last 2026
—ORCID · conflict

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

Theory of computation · 39 · 24 first-author · 11 since 2021Artificial intelligence and machine learning · 11 · 7 first-author · 5 since 2021Software engineering, systems software and programming languages · 9 · 3 first-author · 7 since 2021
YearPublicationVenuePosition
2026 An End-To-End Verification of Keller's Conjecture
abstract
In 1930, Keller conjectured that every gap-free tiling of ℝⁿ by n-dimensional unit cubes must contain cubes that fully share an (n - 1)-dimensional face. Keller’s conjecture holds for n ≤ 7 and fails for n ≥ 8. The final case, n = 7, was settled in 2020 using a mix of traditional and automated reasoning. The result was obtained by reducing the conjecture to a set of clique-existence problems, encoding those problems into propositional logic, breaking symmetries, and solving them with a SAT solver. In this paper, we present an end-to-end verification in Lean 4 of Keller’s conjecture for all dimensions. First, we simplify a prior reduction of Keller’s conjecture to the clique-existence problems. We then verify an improved SAT encoding of those problems, as well as some symmetry reasoning on the encoding. Throughout our work, we sought to maximize the synergy between interactive and automated techniques while minimizing human proof burden. In particular, the symmetry reasoning was split between Lean and a mechanically-checkable proof system, since neither was suitable on their own for verifying all of the symmetry reasoning. We discuss how and why we chose to split the reasoning across these systems based on their relative strengths and weaknesses.
James Gallicchio, Cayden R. Codel, Jeremy Avigad, Marijn Heule
ITP3
2026 LeanArchitect: Automating Blueprint Generation for Humans and AI
abstract
Large-scale formalization projects in Lean rely on blueprints: structured dependency graphs linking informal mathematical exposition to formal declarations. While blueprints are central to human collaboration, existing tooling treats the informal (LaTeX) and formal (Lean) components as largely decoupled artifacts, leading to maintenance overhead and limiting integration with AI automation. We present LeanArchitect, a Lean package for extracting, managing, and exporting blueprint data directly from Lean code. LeanArchitect introduces a declarative annotation mechanism that associates formal declarations with blueprint metadata, automatically infers dependency information, and generates LaTeX blueprint content synchronized with the Lean development. This design eliminates duplication between formal and informal representations and eases fine-grained progress tracking for both human contributors and AI-based theorem provers. We demonstrate the practicality of LeanArchitect through the automated conversion of several large existing blueprint-driven projects, and through a human-AI collaboration case study formalizing a multivariate Taylor theorem. Our results show that LeanArchitect improves maintainability, exposes latent inconsistencies in existing blueprints, and provides an effective interface for integrating AI tools into real-world formalization workflows.
Thomas Zhu, Pietro Monticone, Sean Welleck, Jeremy Avigad
ITP4
2026 Hint-Based SMT Proof Reconstruction
Joshua Clune, Haniel Barbosa, Jeremy Avigad
TACAS (1)3
2025 Lean-Auto: An Interface Between Lean 4 and Automated Theorem Provers
abstract
Abstract Proof automation is crucial to large-scale formal mathematics and software/hardware verification projects in ITPs. Sophisticated tools called hammers have been developed to provide general-purpose proof automation in ITPs such as Coq and Isabelle, leveraging the power of ATPs. An important component of a hammer is the translation algorithm from the ITP’s logical system to the ATP’s logical system. In this paper, we propose a novel translation algorithm for ITPs based on dependent type theory. The algorithm is implemented in Lean 4 under the name Lean-auto. When combined with ATPs, Lean-auto provides general-purpose, ATP-based proof automation in Lean 4 for the first time. Soundness of the main translation procedure is guaranteed, and experimental results suggest that our algorithm is sufficiently complete to automate the proof of many problems that arise in practical uses of Lean 4. We also find that Lean-auto solves more problems than existing tools on Lean 4’s math library Mathlib4.
Yicheng Qian, Joshua Clune, Clark W. Barrett, Jeremy Avigad
CAV (3)4
2025 ImProver: Agent-Based Automated Proof Optimization
abstract
Large language models (LLMs) have been used to generate formal proofs of mathematical theorems in proofs assistants such as Lean. However, we often want to optimize a formal proof with respect to various criteria, depending on its downstream use. For example, we may want a proof to adhere to a certain style, be declaratively structured, or concise. Having suitably optimized proofs is also important for learning tasks, especially since human-written proofs may not optimal for that purpose. To this end, we study a new problem of automated proof optimization: rewriting a proof so that it is correct and optimizes for an arbitrary criterion, such as length or declarativity. As a first method for automated proof optimization, we present ImProver, a large-language-model agent that rewrites proofs to optimize arbitrary user-defined metrics in Lean. We find that naively applying LLMs to proof optimization falls short, and we incorporate various improvements into ImProver, such as the use of symbolic Lean context in a novel Chain-of-States technique, as well as error-correction and retrieval. We test ImProver on rewriting real-world undergraduate, competition, and research-level mathematics theorems, finding that ImProver is capable of rewriting proofs so that they are substantially shorter and more declarative in structure.
Riyaz Ahuja, Jeremy Avigad, Prasad Tetali, Sean Welleck
ICLR2
2025 Canonical for Automated Theorem Proving in Lean
abstract
Artefacts for this paper
Chase Norman, Jeremy Avigad
ITP2
2025 Certified Knowledge Compilation with Application to Formally Verified Model Counting
abstract
Computing many useful properties of Boolean formulas, such as their weighted or unweighted model count, is intractable on general representations. It can become tractable when formulas are expressed in a special form, such as the decision decomposable negation normal form (decision-DNNF). Knowledge compilation is the process of converting a formula into such a form. Unfortunately existing knowledge compilers provide no guarantee that their output correctly represents the original formula, and therefore they cannot validate a model count, or any other computed value. We present Partitioned-Operation Graphs (POGs), a form that can encode all of the representations used by existing knowledge compilers. We have designed CPOG, a framework that can express proofs of equivalence between a POG and a Boolean formula in conjunctive normal form (CNF). We have developed a program that generates POG representations from decision-DNNF graphs produced by the state-of-the-art knowledge compiler D4, as well as checkable CPOG proofs certifying that the output POGs are equivalent to the input CNF formulas. Our toolchain for generating and verifying POGs scales to all but the largest graphs produced by D4 for formulas from a recent model counting competition. Additionally, we have developed a formally verified CPOG checker and model counter for POGs in the Lean 4 proof assistant. In doing so, we proved the soundness of our proof framework. These programs comprise the first formally verified toolchain for weighted and unweighted model counting.
Randal E. Bryant, Wojciech Nawrocki, Jeremy Avigad, Marijn Heule
J. Artif. Intell. Res.3
2025 A Proof-Producing Compiler for Blockchain Applications
abstract
Abstract CairoZero is a programming language for running decentralized applications (dApps) at scale. Programs written in the CairoZero language are compiled to machine code for the Cairo CPU architecture and cryptographic protocols are used to verify the results of execution efficiently on blockchain. We explain how we have extended the CairoZero compiler with tooling that enables users to prove, in the Lean 3 proof assistant, that compiled code satisfies high-level functional specifications. We demonstrate the success of our approach by verifying primitives for computation with the secp256k1 and secp256r1 curves over a large finite field as well as the validation of cryptographic signatures using the former. We also verify a mechanism for simulating a read-write dictionary data structure in a read-only setting. Finally, we reflect on our methodology and discuss some of the benefits of our approach.
Jeremy Avigad, Lior Goldberg, David Levit, Yoav Seginer, Alon Titelman
J. Autom. Reason.1
2024 Verified Substitution Redundancy Checking
Cayden R. Codel, Jeremy Avigad, Marijn Heule
FMCAD2
2024 Automated Reasoning for Mathematics
abstract
Abstract Throughout the history of automated reasoning, mathematics has been viewed as a prototypical domain of application. It is therefore surprising that the technology has had almost no impact on mathematics to date and plays almost no role in the subject today. This article presents an optimistic view that the situation is about to change. It describes some recent developments in the Lean programming language and proof assistant that support this optimism, and it reflects on the role that automated reasoning can and should play in mathematics in the years to come.
Jeremy Avigad
IJCAR (1)1
2024 Duper: A Proof-Producing Superposition Theorem Prover for Dependent Type Theory
Joshua Clune, Yicheng Qian, Alexander Bentkamp, Jeremy Avigad
ITP4
2023 Verified Encodings for SAT Solvers
Cayden R. Codel, Jeremy Avigad, Marijn Heule
FMCAD2
2023 A Proof-Producing Compiler for Blockchain Applications
Jeremy Avigad, Lior Goldberg, David Levit, Yoav Seginer, Alon Titelman
ITP1
2023 Certified Knowledge Compilation with Application to Verified Model Counting
Randal E. Bryant, Wojciech Nawrocki, Jeremy Avigad, Marijn Heule
SAT3
2023 Verified reductions for optimization
abstract
Abstract Numerical and symbolic methods for optimization are used extensively in engineering, industry, and finance. Various methods are used to reduce problems of interest to ones that are amenable to solution by these methods. We develop a framework for designing and applying such reductions, using the Lean programming language and interactive proof assistant. Formal verification makes the process more reliable, and the availability of an interactive framework and ambient mathematical library provides a robust environment for constructing the reductions and reasoning about them.
Alexander Bentkamp, Ramon Fernández Mir, Jeremy Avigad
TACAS (2)3
2022 A verified algebraic representation of cairo program execution
abstract
Cryptographic interactive proof systems provide an efficient and scalable means of verifying the results of computation on blockchain. A prover constructs a proof, off-chain, that the execution of a program on a given input terminates with a certain result. The prover then publishes a certificate that can be verified efficiently and reliably modulo commonly accepted cryptographic assumptions. The method relies on an algebraic encoding of execution traces of programs. Here we report on a verification of the correctness of such an encoding of the Cairo model of computation with respect to the STARK interactive proof system, using the Lean 3 proof assistant.
Jeremy Avigad, Lior Goldberg, David Levit, Yoav Seginer, Alon Titelman
CPP1
2020 Preface: Selected Extended Papers from Interactive Theorem Proving 2018
Jeremy Avigad, Assia Mahboubi
J. Autom. Reason.1
2019 Data Types as Quotients of Polynomial Functors
abstract
A broad class of data types, including arbitrary nestings of inductive types, coinductive types, and quotients, can be represented as quotients of polynomial functors. This provides perspicuous ways of constructing them and reasoning about them in an interactive theorem prover.
Jeremy Avigad, Mario Carneiro, Simon Hudon
ITP1
2019 Algorithmic barriers to representing conditional independence
abstract
We define a represention of conditional independence in terms of products of probability kernels, and ask when such representations are computable. We pursue this question in the context of exchangeable sequences and arrays of random variables, which arise in statistical contexts. Exchangeable sequences are conditionally i.i.d. by de Finetti's theorem. Known results about the computability of de Finetti's theorem imply that these conditional independences are computable. The conditional independences underlying exchangeable arrays are characterized by the Aldous-Hoover theorem. In the special case of adjacency matrices of undirected graphs, i.e., symmetric binary arrays, this representation theorem expresses the conditional independences in terms of graphons. We prove that there exist exchangeable random graphs that can be computably sampled but whose corresponding graphons are not computable as functions or even as L1equivalence classes. We also give results on the approximability of graphons in certain special cases.
Nathanael L. Ackerman, Jeremy Avigad, Cameron E. Freer, Daniel M. Roy 0001, Jason M. Rute
LICS2
2018 Erratum to: Interactive Theorem Proving
Jeremy Avigad, Assia Mahboubi
ITP1
2018 Introduction to Milestones in Interactive Theorem Proving
Jeremy Avigad, Jasmin Blanchette, Gerwin Klein, Lawrence C. Paulson, Andrei Popescu 0001, Gregor Snelting
J. Autom. Reason.1
2017 A Formally Verified Proof of the Central Limit Theorem
Jeremy Avigad, Johannes Hölzl, Luke Serafin
J. Autom. Reason.1
2017 A metaprogramming framework for formal verification
abstract
We describe the metaprogramming framework currently used in Lean, an interactive theorem prover based on dependent type theory. This framework extends Lean's object language with an API to some of Lean's internal structures and procedures, and provides ways of reflecting object-level expressions into the metalanguage. We provide evidence to show that our implementation is performant, and that it provides a convenient and flexible way of writing not only small-scale interactive tactics, but also more substantial kinds of automation.
Gabriel Ebner, Sebastian Ullrich 0002, Jared Roesch, Jeremy Avigad, Leonardo de Moura 0001
Proc. ACM Program. Lang.4
2016 A Heuristic Prover for Real Inequalities
Jeremy Avigad, Robert Y. Lewis, Cody Roux
J. Autom. Reason.1
2015 The Lean Theorem Prover (System Description)
Leonardo de Moura 0001, Soonho Kong, Jeremy Avigad, Floris van Doorn, Jakob von Raumer
CADE3
2015 Homotopy limits in type theory
abstract
Working in homotopy type theory, we provide a systematic study of homotopy limits of diagrams over graphs, formalized in the Coq proof assistant. We discuss some of the challenges posed by this approach to the formalizing homotopy-theoretic material. We also compare our constructions with the more classical approach to homotopy limits via fibration categories.
Jeremy Avigad, Krzysztof Kapulkin, Peter LeFanu Lumsdaine
Math. Struct. Comput. Sci.1
2014 A Heuristic Prover for Real Inequalities
Jeremy Avigad, Robert Y. Lewis, Cody Roux
ITP1
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
ITP3
2013 Uniform distribution and algorithmic randomness
abstract
Abstract A seminal theorem due to Weyl [14] states that if (an) is any sequence of distinct integers, then, for almost everyx∈ ℝ, the sequence (anx) is uniformly distributed modulo one. In particular, for almost everyxin the unit interval, the sequence (anx) is uniformly distributed modulo one for everycomputablesequence (an) of distinct integers. Call such anx UD random. Here it is shown that every Schnorr random real is UD random, but there are Kurtz random reals that are not UD random. On the other hand, Weyl's theorem still holds relative to a particular effectively closed null set, so there are UD random reals that are not Kurtz random.
Jeremy Avigad
J. Symb. Log.1
2012 Delta-Decidability over the Reals
abstract
Given any collection F of computable functions over the reals, we show that there exists an algorithm that, given any sentence A containing only bounded quantifiers and functions in F, and any positive rational number delta, decides either “A is true”, or “a delta-strengthening of A is false”. Moreover, if F can be computed in complexity class C, then under mild assumptions, this “delta-decision problem” for bounded Sigma k-sentences resides in Sigma k(C). The results stand in sharp contrast to the well-known undecidability of the general first-order theories with these functions, and serve as a theoretical basis for the use of numerical methods in decision procedures for formulas over the reals.
Sicun Gao, Jeremy Avigad, Edmund M. Clarke
LICS2
2012 Algorithmic randomness, reverse mathematics, and the dominated convergence theorem
Jeremy Avigad, Edward T. Dean, Jason M. Rute
Ann. Pure Appl. Log.1
2011 Building a push-button RESOLVE verifier: Progress and challenges
abstract
Abstract A central objective of the verifying compiler grand challenge is to develop a push-button verifier that generates proofs of correctness in a syntax-driven fashion similar to the way an ordinary compiler generates machine code. The software developer’s role is then to provide suitable specifications and annotated code, but otherwise to have no direct involvement in the verification step. However, the general mathematical developments and results upon which software correctness is based may be established through a separate formal proof process in which proofs might be mechanically checked, but not necessarily automatically generated. While many ideas that could conceivably form the basis for software verification have been known “in principle” for decades, and several tools to support an aspect of verification have been devised, practical fully automated verification of full software behavior remains a grand challenge. This paper explains how RESOLVE takes a step towards addressing this challenge by integrating foundational and practical elements of software engineering, programming languages, and mathematical logic into a coherent framework. Current versions of the RESOLVE verifier generate verification conditions (VCs) for the correctness of component-based software in a modular fashion—one component at a time. The VCs are currently verified using automated capabilities of the Isabelle proof assistant, the SMT solver Z3, a minimalist rewrite prover, and some specialized decision procedures. Initial experiments with the tools and further analytic considerations show both the progress that has been made and the challenges that remain.
Murali Sitaraman, Bruce M. Adcock, Jeremy Avigad, Derek Bronish, Paolo Bucci, David Frazier, Harvey M. Friedman, Heather K. Harton, Wayne D. Heym, Jason Kirschenbaum, Joan Krone, Hampton Smith, Bruce W. Weide
Formal Aspects Comput.3
2011 Zen and the art of formalisation
abstract
N. G. de Bruijn, now professor emeritus of the Eindhoven University of Technology, was a pioneer in the field of interactive theorem proving. From 1967 to the end of the 1970's, his work on the Automath system introduced the architecture that is common to most of today's proof assistants, and much of the basic technology. But de Bruijn was a mathematician first and foremost, as evidenced by the many mathematical notions and results that bear his name, among them de Bruijn sequences, de Bruijn graphs, the de Bruijn–Newman constant, and the de Bruijn–Erdös theorem. The quotation above is thus interesting not because it is a reflection on his expertise in formal verification, but, rather, of his convictions as a working mathematician.
Andrea Asperti, Jeremy Avigad
Math. Struct. Comput. Sci.2
2010 Handbook of Practical Logic and Automated Reasoning, John Harrison, Cambridge University Press, 2009. Hardcover, ISBN-13: 978-0-521-89957-4, 681 pp. + xix, $135.00
Jeremy Avigad
Theory Pract. Log. Program.1
2009 The metamathematics of ergodic theory
Jeremy Avigad
Ann. Pure Appl. Log.1
2009 Functional interpretation and inductive definitions
abstract
Abstract Extending Gödel's Dialectica interpretation, we provide a functional interpretation of classical theories of positive arithmetic inductive definitions, reducing them to theories of finite-type functionals defined using transfinite recursion on well-founded trees.
Jeremy Avigad, Henry Towsner
J. Symb. Log.1
2007 A Decision Procedure for Linear "Big O" Equations
Jeremy Avigad, Kevin Donnelly
J. Autom. Reason.1
2007 Quantifier elimination for the reals with a predicate for the powers of two
Jeremy Avigad, Yimu Yin
Theor. Comput. Sci.1
2007 A formally verified proof of the prime number theorem
abstract
The prime number theorem, established by Hadamard and de la Vallée Poussin independently in 1896, asserts that the density of primes in the positive integers is asymptotic to 1/ln x . Whereas their proofs made serious use of the methods of complex analysis, elementary proofs were provided by Selberg and Erdös in 1948. We describe a formally verified version of Selberg's proof, obtained using the Isabelle proof assistant.
Jeremy Avigad, Kevin Donnelly, David Gray, Paul Raff
ACM Trans. Comput. Log.1
2006 Fundamental notions of analysis in subsystems of second-order arithmetic
Jeremy Avigad, Ksenija Simic
Ann. Pure Appl. Log.1
2006 Combining decision procedures for the reals
abstract
We address the general problem of determining the validity of boolean combinations of equalities and inequalities between real-valued expressions. In particular, we consider methods of establishing such assertions using only restricted forms of distributivity. At the same time, we explore ways in which "local" decision or heuristic procedures for fragments of the theory of the reals can be amalgamated into global ones. Let Tadd[Q] be the first-order theory of the real numbers in the language of ordered groups, with negation, a constant 1, and function symbols for multiplication by rational constants. Let Tmult[Q] be the analogous theory for the multiplicative structure, and let T[Q] be the union of the two. We show that although T[Q] is undecidable, the universal fragment of T[Q] is decidable. We also show that terms of T[Q]can fruitfully be put in a normal form. We prove analogous results for theories in which Q is replaced, more generally, by suitable subfields F of the reals. Finally, we consider practical methods of establishing quantifier-free validities that approximate our (impractical) decidability results.
Jeremy Avigad, Harvey M. Friedman
Log. Methods Comput. Sci.1
2005 Preface
Arnold Beckmann, Jeremy Avigad, Georg Moser
Ann. Pure Appl. Log.2
2003 Erratum to "Saturated models of universal theories": [Ann. Pure Appl. Logic 118 (2002) 219-234]
Jeremy Avigad
Ann. Pure Appl. Log.1
2003 Eliminating definitions and Skolem functions in first-order logic
abstract
From proofs in any classical first-order theory that proves the existence of at least two elements, one can eliminate definitions in polynomial time. From proofs in any classical first-order theory strong enough to code finite functions, including sequential theories, one can also eliminate Skolem functions in polynomial time.
Jeremy Avigad
ACM Trans. Comput. Log.1
2002 Saturated models of universal theories
Jeremy Avigad
Ann. Pure Appl. Log.1
2001 Eliminating Definitions and Skolem Functions in First-Order Logic
abstract
In any classical first-order theory that proves the existence of at least two elements, one can eliminate definitions with a polynomial bound on the increase in proof length. The author considers how in any classical first-order theory strong enough to code finite functions, including sequential theories, one can also eliminate Skolem functions with a polynomial bound on the increase in proof length.
Jeremy Avigad
LICS1
2000 Interpreting Classical Theories in Constructive Ones
abstract
Abstract A number of classical theories are interpreted in analogous theories that are based on intuitionistic logic. The classical theories considered include subsystems of first- and second-order arithmetic, bounded arithmetic, and admissible set theory.
Jeremy Avigad
J. Symb. Log.1
1999 The Model-Theoretic Ordinal Analysis of Theories of Predicative Strength
abstract
Abstract We use model-theoretic methods described in [3] to obtain ordinal analyses of a number of theories of first- and second-order arithmetic, whose proof-theoretic ordinals are less than or equal to Γ0.
Jeremy Avigad, Richard Sommer
J. Symb. Log.1
1998 Predicative Functionals and an Interpretation of ID<omega
Jeremy Avigad
Ann. Pure Appl. Log.1
1996 Formalizing Forcing Arguments in Subsystems of Second-Order Arithmetic
Jeremy Avigad
Ann. Pure Appl. Log.1
1996 On the Relationship Between ATR0 and ID<omega
abstract
Abstract We show that the theory ATR0 is equivalent to a second-order generalization of the theory . As a result, ATR0 is conservative over for arithmetic sentences, though proofs in ATR0 can be much shorter than their counterparts.
Jeremy Avigad
J. Symb. Log.1