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.
翻译:舞蹈语言的理论通常包括一些复杂的结果,这些结果通过结构诱导得到证明。 大量的案例和某些案例的微妙细节导致长时间的审查过程,有时会在公开的证明中发现错误。 在这项工作中,我们用Coq来公开证明舞蹈语言的图灵完整性并将其正规化。 我们的发展包括将舞蹈语言及其基本特性正规化,Kleene关于部分循环功能的理论,将这些功能编码为舞蹈功能,并证明这种编码正确。 我们通过这一努力,表明在舞蹈语言领域证明该词可以是一个非常有用的工具:除了我们从机械化的证明中获得更多的信任之外,正式化进程使我们大大简化了基本理论。我们的成果为今后正式发展舞蹈语言奠定了基础。