Proofs as stateful programs: A first-order logic with abstract Hoare triples, and an interpretation into an imperative language

01/04/2023
by   Thomas Powell, et al.
0

We introduce an extension of first-order logic that comes equipped with additional predicates for reasoning about an abstract state. Sequents in the logic comprise a main formula together with pre- and postconditions in the style of Hoare logic, and the axioms and rules of the logic ensure that the assertions about the state compose in the correct way. The main result of the paper is a realizability interpretation of our logic that extracts programs into a mixed functional/imperative language. All programs expressible in this language act on the state in a sequential manner, and we make this intuition precise by interpreting them in a semantic metatheory using the state monad. Our basic framework is very general, and our intention is that it can be instantiated and extended in a variety of different ways. We outline in detail one such extension: A monadic version of Heyting arithmetic with a wellfounded while rule, and conclude by outlining several other directions for future work.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/28/2022

Abstract interpretation, Hoare logic, and incorrectness logic for quantum programs

Abstract interpretation, Hoare logic, and incorrectness (or reverse Hoar...
research
02/01/2020

Intuitionistic Fixed Point Logic

We study the system IFP of intuitionistic fixed point logic, an extensio...
research
04/25/2021

On Measure Quantifiers in First-Order Arithmetic (Long Version)

We study the logic obtained by endowing the language of first-order arit...
research
07/31/2019

Evaluation of the Implementation of an Abstract Interpretation Algorithm using Tabled CLP

CiaoPP is an analyzer and optimizer for logic programs, part of the Ciao...
research
04/25/2018

Stratified Negation in Limit Datalog Programs

There has recently been an increasing interest in declarative data analy...
research
12/13/2022

Data Layout from a Type-Theoretic Perspective

The specifics of data layout can be important for the efficiency of func...
research
01/10/2020

A computational interpretation of Zorn's lemma

We give a computational interpretation to an abstract instance of Zorn's...

Please sign up or login with your details

Forgot password? Click here to reset