FLOC 2018: FEDERATED LOGIC CONFERENCE 2018
Implementing a Proof Assistant using Focusing and Logic Programming

Author: Tomer Libal

Paper Information

Title:Implementing a Proof Assistant using Focusing and Logic Programming
Authors:Tomer Libal
Proceedings:UITP Full Papers
Editors: Mateja Jamnik and Christoph Lüth
Keywords:Proof assistant, higher-order logic programming, lambda-prolog, focused sequent calculus, simple proof assistant, generic proof assistant
Abstract:

ABSTRACT. Interfacing with theorem provers is normally done by specifying a strategy. Such a strategy can be local, such as using tactics in interactive theorem provers, or global when using automatic ones. Focused proof calculi have a clear separation between the phases in the proof search which can be done fully automatically and those phases which require decision making. The inference rules of these proof calculi can be defined using logical formulas, such as implications. Logic programming languages allow for proof search over a database of such logical formulas and also support interaction with the user via input/output calls. In this paper we describe a possible process of writing an interactive proof assistant over a focused sequent calculus using the higher-order programming language lambda-prolog. We show that one can gain a high level of trust in the correctness of the prover, up to the correctness of an extremely small kernel. This process might allow one to obtain a fully functional proof assistant using a small amount of code and by using a clear process for arbitrary focused calculi.

Pages:12
Talk:Jul 13 10:00 (Session 83M: UITP 1: Invited talk)
Paper: