The 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, its basic properties, Kleene's theory of partial recursive functions, the encoding of these functions as choreographies, and a proof that this encoding is 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.
|Title of host publication||12th International Conference on Interactive Theorem Proving (ITP 2021)|
|Editors||Liron Cohen, Cezary Kaliszyk|
|Publisher||Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik|
|Publication date||1. Jun 2021|
|Publication status||Published - 1. Jun 2021|
|Event||12th International Conference on Interactive Theorem Proving, ITP 2021 - Virtual, Rome, Italy|
Duration: 29. Jun 2021 → 1. Jul 2021
|Conference||12th International Conference on Interactive Theorem Proving, ITP 2021|
|Period||29/06/2021 → 01/07/2021|
|Series||Leibniz International Proceedings in Informatics, LIPIcs|
Bibliographical noteFunding Information:
Work partially supported by Villum Fonden, grant no. 29518.
© Luís Cruz-Filipe, Fabrizio Montesi, and Marco Peressotti.
- Choreographic Programming
- Turing Completeness