DeepAI AI Chat
Log In Sign Up

Formalising a Turing-Complete Choreographic Language in Coq

02/04/2021
by   Luís Cruz-Filipe, et al.
0

Theory of choreographic languages typically includes a number of complex results that are proved by structural induction. The high number of cases and the subtle details in some of them lead to long reviewing processes, and occasionally to errors being found in published proofs. In this work, we take a published proof of Turing completeness of a choreographic language and formalise it in Coq. Our development includes formalising the choreographic language and its basic properties, Kleene's theory of partial recursive functions, the encoding of these functions as choreographies, and proving this encoding correct. With this effort, we show that theorem proving can be a very useful tool in the field of choreographic languages: besides the added degree of confidence that we get from a mechanised proof, the formalisation process led us to a significant simplification of the underlying theory. Our results offer a foundation for the future formal development of choreographic languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

09/05/2022

A Formal Theory of Choreographic Programming

Choreographic programming is a paradigm for writing coordination plans f...
10/19/2018

Formalizing computability theory via partial recursive functions

We present a formalization of the foundations of computability theory in...
05/16/2022

Average-Case Hardness of Proving Tautologies and Theorems

We consolidate two widely believed conjectures about tautologies – no op...
05/18/2022

Zigzag normalisation for associative n-categories

The theory of associative n-categories has recently been proposed as a s...
06/26/2018

Self-Reproducing Coins as Universal Turing Machine

Turing-completeness of smart contract languages in blockchain systems is...
01/30/2023

Type Theory as a Language Workbench

Language Workbenches offer language designers an expressive environment ...
02/28/2023

Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

Choreographic programming is a paradigm where developers write the globa...