Extracting total Amb programs from proofs

04/29/2021
by   Ulrich Berger, et al.
0

We present a logical system CFP (Concurrent Fixed Point Logic) from whose proofs one can extract nondeterministic and concurrent programs that are provably total and correct with respect to the proven formula. CFP is an intuitionistic first-order logic with inductive and coinductive definitions extended by two propositional operators, A || B (restriction, a strengthening of the implication B -> A) and (A) (total concurrency). The target of the extraction is a lambda calculus with constructors and recursion extended by a constructor Amb (for McCarthy's amb) which is interpreted operationally as globally angelic choice. The correctness of extracted programs is proven via an intermediate domain-theoretic denotational semantics. We demonstrate the usefulness of our system by extracting a concurrent program that translates infinite Gray code into the signed digit representation. A noteworthy feature of our system is that the proof rules for restriction and concurrency involve variants of the classical law of excluded middle that would not be interpretable computationally without Amb.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/01/2020

Intuitionistic Fixed Point Logic

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

Computing with Infinite Objects: the Gray Code Case

Infinite Gray code has been introduced by Tsuiki <cit.> as a redundancy-...
research
12/05/2017

Revisiting concurrent separation logic

We present a new soundness proof of Concurrent Separation Logic (CSL) ba...
research
09/13/2018

A Simple Functional Presentation and an Inductive Correctness Proof of the Horn Algorithm

We present a recursive formulation of the Horn algorithm for deciding th...
research
02/03/2018

Disjunctive Axioms and Concurrent λ-Calculi: a Curry-Howard Approach

We add to intuitionistic logic infinitely many classical disjunctive tau...
research
04/10/2023

Make flows small again: revisiting the flow framework

We present a new flow framework for separation logic reasoning about pro...
research
02/17/2021

Small, Fast, Concurrent Proof Checking for the lambda-Pi Calculus Modulo Rewriting

Several proof assistants, such as Isabelle or Coq, can concurrently chec...

Please sign up or login with your details

Forgot password? Click here to reset