Shall We Juggle, Coinductively?

  • Keisuke Nakano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7679)


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.


Auxiliary Lemma Proof Tree Validation Rule Guardedness Condition Judgment Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BEGW94]
    Buhler, J., Eisenbud, D., Graham, R., Wright, C.: Juggling Drops and Descents. American Mathematical Monthly 101(6), 507–519 (1994)MathSciNetMATHCrossRefGoogle Scholar
  2. [Chl11]
    Chlipala, A.: Certified Programming with Dependent Types. MIT Press (2011),
  3. [GC98]
    Giménez, E., Castéran, P.: A Tutorial on [Co-]Inductive Types in Coq (1998)Google Scholar
  4. [Gim95]
    Giménez, E.: Codifying Guarded Definitions with Recursive Schemes. In: Smith, J., Dybjer, P., Nordström, B. (eds.) TYPES 1994. LNCS, vol. 996, pp. 39–59. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  5. [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
  6. [LG09]
    Leroy, X., Grall, H.: Coinductive big-step operational semantics. Information and Computation 207(2), 284–304 (2009)MathSciNetMATHCrossRefGoogle Scholar
  7. [NU09]
    Nakata, K., Uustalu, T.: Trace-Based Coinductive Operational Semantics for While. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 375–390. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. [OEIS]
    OEIS Foundation Inc. Sequence A010060. The On-Line Encyclopedia of Integer Sequences, published electronically at
  9. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Keisuke Nakano
    • 1
  1. 1.The University of Electro-CommunicationsJapan

Personalised recommendations