Summary: Connecting a Logical Framework to a
First≠Order Logic Prover #
Andreas Abel, Thierry Coquand, and Ulf Norell
Department of Computing Science, Chalmers University of Technology
{abel,coquand,ulfn}@cs.chalmers.se
Abstract. We present one way of combining a logical framework and first≠order
logic. The logical framework is used as an interface to a first≠order theorem
prover. Its main purpose is to keep track of the structure of the proof and to deal
with the high level steps, for instance, induction. The steps that involve purely
propositional or simple first≠order reasoning are left to a first≠order resolution
prover (the system Gandalf in our prototype). The correctness of this interaction
is based on a general meta≠theoretic result. One feature is the simplicity of our
translation between the logical framework and first≠order logic, which uses im≠
plicit typing. Implementation and case studies are described.
Introduction
We work towards human≠readable and machine≠verifiable proof documents for mathe≠
matics and computer science. As argued by de Bruijn [11], dependent type theory offers
an ideal formal system for representing reasoning steps, such as introducing parameters
or hypotheses, naming constants or lemmas, using a lemma or a hypothesis. Type the≠
ory provides explicit notations for these proof steps, with good logical properties. Using