Functional Pearl: the Proof Search Monad

Autor: Jonathan Protzenko
Rok vydání: 2018
Předmět:
Zdroj: IWIL@LPAR
ISSN: 2398-7340
Popis: We present the proof search monad, a set of combinators that allows one to write a proof search engine in a style that resembles the formal rules closely. The user calls functions such as premise, prove or choice; the library then takes care of generating a derivation tree. Proof search engines written in this style enjoy: first, a one-to-one correspondence between the implementation and the derivation rules, which makes manual inspection easier; second, proof witnesses “for free”, which makes a verified, independent validation approach easier too. 1 Theory and practice 1.1 A minimal theory We are concerned with proving the validity of logical formulas; that is, with writing a search procedure that determines whether a given goal is satisfiable. To get started, we consider a system made up of conjunctions of equalities, along with existential quantifiers. Any free variables are assumed to be universally quantified. For instance, one may want to prove the following formula
Databáze: OpenAIRE