Shall We Juggle, Coinductively?
Buhler et al. presented a mathematical theory of toss juggling by regarding a toss pattern as an arithmetic function, where the function must satisfy a condition for the pattern to be valid. In this paper, the theory is formalized in terms of coinduction, reflecting the fact that the validity of toss juggling is related to a property of infinite phenomena. A tactic is implemented for proving the validity of toss patterns in Coq. Additionally, the completeness and soundness of a well-known algorithm for checking the validity is demonstrated. The result exposes a practical aspect of coinductive proofs.
KeywordsAuxiliary Lemma Proof Tree Validation Rule Guardedness Condition Judgment Rule
Unable to display preview. Download preview PDF.
- [Chl11]Chlipala, A.: Certified Programming with Dependent Types. MIT Press (2011), http://adam.chlipala.net/cpdt/
- [GC98]Giménez, E., Castéran, P.: A Tutorial on [Co-]Inductive Types in Coq (1998)Google Scholar
- [How80]Howard, W.A.: The Formulae-As-Types Notion of Construction. In: Seldin, J.P., Hindley, J.R. (eds.) To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 479–490. Academic Press (1980)Google Scholar
- [OEIS]OEIS Foundation Inc. Sequence A010060. The On-Line Encyclopedia of Integer Sequences, published electronically at http://oeis.org/A010060
- [San09]Sangiorgi, D.: On the Origins of Bisimulation and Coinduction. ACM Transactions on Programming Languages and Systems 31(4), 15:1–15:41 (2009)Google Scholar