When Agda met Vampire

📅 2026-02-21
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the lack of efficient automated reasoning support in dependently typed proof assistants that is compatible with classical automated theorem provers. It proposes a lightweight integration method that automatically translates proofs generated by the classical first-order prover Vampire into type-checkable constructive proof terms in Agda, leveraging equational Horn clauses as a common fragment. The approach concisely and extensibly bridges the gap between constructive dependent type theory and classical automated reasoning while preserving correctness. A prototype implementation successfully synthesized a proof of properties of roots of unity over the complex numbers—an effort otherwise requiring two days of manual work—demonstrating substantial reduction in engineering cost and validating both the effectiveness and generalizability of the method.

Technology Category

Application Category

📝 Abstract
Dependently-typed proof assistants furnish expressive foundations for mechanised mathematics and verified software. However, automation for these systems has been either modest in scope or complex in implementation. We aim to improve the situation by integrating proof assistants with automated theorem provers (ATPs) in a simple way, while preserving the correctness guarantees of the former. A central difficulty arises from the fact that most ATPs operate in classical first-order logic, whereas these proof assistants are grounded in constructive dependent type theory. We identify an expressive fragment of both languages -- essentially equational Horn -- that admits sound, straightforward translations in both directions. The approach produces a prototype system for Agda forwarding proof obligations to the ATP Vampire, then transforming the resulting classical proof into a constructive proof term that Agda can type-check. The prototype automatically derives proofs concerning the properties of a complex field equipped with roots of unity, which took professional Agda developers two full days to complete. The required engineering effort is modest, and we anticipate that the methodology will extend readily to other ATPs and proof assistants.
Problem

Research questions and friction points this paper is trying to address.

dependent types
automated theorem proving
proof assistants
classical logic
constructive logic
Innovation

Methods, ideas, or system contributions that make the work stand out.

dependent types
automated theorem proving
proof translation
constructive logic
equational Horn fragment
🔎 Similar Papers
No similar papers found.
A
Artjoms Šinkarovs
Electronics and Computer Science, University of Southampton, UK
Michael Rawson
Michael Rawson
University of Southampton
automated reasoningmachine learning