DeepAI AI Chat
Log In Sign Up

Extracting total Amb programs from proofs

by   Ulrich Berger, et al.

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.


page 1

page 2

page 3

page 4


Intuitionistic Fixed Point Logic

We study the system IFP of intuitionistic fixed point logic, an extensio...

Computing with Infinite Objects: the Gray Code Case

Infinite Gray code has been introduced by Tsuiki <cit.> as a redundancy-...

Revisiting concurrent separation logic

We present a new soundness proof of Concurrent Separation Logic (CSL) ba...

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...

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

We add to intuitionistic logic infinitely many classical disjunctive tau...

Make flows small again: revisiting the flow framework

We present a new flow framework for separation logic reasoning about pro...

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

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