2018Technical University of Denmark, DTU Orbit (Technical University of Denmark, DTU)Open access

A Verified Simple Prover for First-Order Logic.

Jørgen Villadsen, Anders Schlichtkrull, Asta Halkjær From

Open full text 1 citations

Abstract

We present a simple prover for first-order logic with certified soundness and completeness in Isabelle/HOL, taking formalizations by Tom Ridge and others as the starting point, but with the aim of using the approach for teaching logic and verification to computer science students at the bachelor level.The prover is simple in the following sense: It is purely functional and can be executed with rewriting rules or as code generation to a number of functional programming languages.The prover uses no higher-order functions, that is, no function takes a function as argument or returns a function as its result.This is advantageous when students perform rewriting steps by hand.The prover uses the logic of first-order logic on negation normal form with a term language consisting of only variables.This subset of the full syntax of first-order logic allows for a simple proof system without resorting to the much weaker propositional logic.

Open-access reader

About this research paper

What this paper is about

We present a simple prover for first-order logic with certified soundness and completeness in Isabelle/HOL, taking formalizations by Tom Ridge and others as the starting point, but with the aim of using the approach for teaching logic and verification to computer science students at the bachelor level.The prover is simple in the following sense: It is purely functional and can be executed with rewriting rules or as code generation to a number of functional programming languages.The prover uses no higher-order functions, that is, no function takes a function as argument or returns a function as its result.This is advantageous when students perform rewriting steps by hand.The prover uses the logic of first-order logic on negation normal form with a term language consisting of only variables.This subset of the full syntax of first-order logic allows for a simple proof system without resorting to the much weaker propositional logic.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

We present a simple prover for first-order logic with certified soundness and completeness in Isabelle/HOL, taking formalizations by Tom Ridge and others as the starting point, but with the aim of using the approach for teaching logic and verification to computer science students at the bachelor level.The prover is simple in the following sense: It is purely functional and can be executed with rewriting rules or as code generation to a number of functional programming languages.The prover uses no higher-order functions, that is, no function takes a function as argument or returns a function as its result.This is advantageous when students perform rewriting steps by hand.The prover uses the logic of first-order logic on negation normal form with a term language consisting of only variables.This subset of the full syntax of first-order logic allows for a simple proof system without resorting to the much weaker propositional logic.

Key concepts: Gas meter prover, Simple (philosophy), Computer science, Programming language, First-order logic, Algorithm, Calculus (dental), Mathematics

Related papers

Back to paper searchBrowse research topicsOriginal source
A Verified Simple Prover for First-Order Logic. — Research Paper | ScholarLens