Tags:beta reduction, Biform theories, Church's type theory, evaluation operator, HOL Light, Metareasoning, Proof assistants, proof system, Quotation and evaluation, Reasoning about syntax, Reflection, Symbolic computation, syntactic value and syntax based mathematical algorithm

Abstract:

We are interested in algorithms that manipulate mathematical expressions in mathematically meaningful ways. Expressions are syntactic, but most logics do not allow one to discuss syntax. CTT_qe is a version of Church's type theory that includes quotation and evaluation operators, akin to quote and eval in the Lisp programming language. Since the HOL logic is also a version of Church's type theory, we decided to add quotation and evaluation to HOL Light to demonstrate the implementability of CTT_qe and the benefits of having quotation and evaluation in a proof assistant. The resulting system is called HOL Light QE. Here we document the design of HOL Light QE and the challenges that needed to be overcome. The resulting implementation is freely available.