General Automation in Coq through Modular Transformations

  title={General Automation in Coq through Modular Transformations},
  author={Valentin Blot and Louise Dubois de Prisque and Chantal Keller and Pierre Vial},
Whereas proof assistants based on Higher-Order Logic benefit from external solvers’ automation, those based on Type Theory resist automation and thus require more expertise. Indeed, the latter use a more expressive logic which is further away from first-order logic, the logic of most automatic theorem provers. In this article, we develop a methodology to transform a subset of Coq goals into first-order statements that can be automatically discharged by automatic provers. The general idea is to… 
1 Citations

Figures and Tables from this paper

Modular pre-processing for automated reasoning in dependent type theory
A modular suite of pre-processing transformations is presented, which incrementally bring certain formulas expressed in the Calculus of Inductive Constructions closer to the first-order logic of Satifiability Modulo Theory solvers.


Hammer for Coq: Automation for Dependent Type Theory
An architecture of a full hammer for dependent type theory together with its implementation for the Coq proof assistant is presented and 40.8% of the theorems can be proved in a push-button mode in about 40 s of real time on a 8-CPU system.
Formalizing and Implementing a Reflexive Tactic for Automated Deduction in Coq. (Formalisation et developpement d'une tactique reflexive pour la demonstration automatique en coq)
An integration into Coq of decision procedures for propositional logic, equality reasoning and linear arithmetic which make up the core of the Alt-Ergo SMT solver are achieved through the reflection technique, which consists in implementing and formally proving these algorithms in Coq in order to execute them directly in the proof assistant.
Fast Reflexive Arithmetic Tactics the Linear Case and Beyond
This paper shows how to design efficient and lightweight reflexive tactics for a hierarchy of quantifier-free fragments of integer arithmetics that can cope with a wide class of linear and non-linear goals.
Certified Programming with Dependent Types - A Pragmatic Introduction to the Coq Proof Assistant
This book provides an introduction to the Coq software for writing and checking mathematical proofs, with a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time.
Deriving Proved Equality Tests in Coq-Elpi: Stronger Induction Principles for Containers in Coq
The unary parametricity translation of inductive data types turns out to be the key to both steps of the procedure to derive equality tests and their correctness proofs from inductive type declarations.
Expressing Polymorphic Types in a Many-Sorted Language
This paper considers a three-stage scheme where the last stage eliminates polymorphic types while adding the necessary "annotations" to preserve soundness, and the first two stages serve to protect certain terms so that they can keep their original unannotated form.
Empirically Successful Automated Reasoning in Higher-Order Logic (ESHOL)
The main theorem of the paper shows that the ability to type proofs if the axioms can be typed works for the rules of inference used by Otter-lambda, if type-safe lambda unification is used, and if demodulation and paramodulation from or into variables are not allowed.
A Generic Tableau Prover and its Integration with Isabelle
A generic tableau prover that has been implemented and integrated with Isabelle (Paulson, 1994), which has numerous extensions that allow it to reason with any supplied set of tableau rules.
Encoding Monomorphic and Polymorphic Types
This work extends the approach to rank-1 po lymorphism and presents alternative schemes that lighten the translation of polymorphic symbols based on the novel notion of “cover”, and finds the new encodings vastly superior to previous schemes.
SMTCoq: A Plug-In for Integrating SMT Solvers into Coq
This paper describes SMTCoq, a plug-in for the integration of external solvers into the Coq proof assistant. Based on a checker for generic first-order proof certificates fully implemented and proved