Abstract
Coinduction is one of the most basic concepts in computer science. It is therefore surprising that the commonly-known lattice-theoretic accounts of the principles underlying coinductive proofs are lacking in two key respects: they do not support compositional reasoning (i.e. breaking proofs into separate pieces that can be developed in isolation), and they do not support incremental reasoning (i.e. developing proofs interactively by starting from the goal and generalizing the coinduction hypothesis repeatedly as necessary).
In this paper, we show how to support coinductive proofs that are both compositional and incremental, using a dead simple construction we call the parameterized greatest fixed point. The basic idea is to parameterize the greatest fixed point of interest over the accumulated knowledge of "the proof so far". While this idea has been proposed before, by Winskel in 1989 and by Moss in 2001, neither of the previous accounts suggests its general applicability to improving the state of the art in interactive coinductive proof.
In addition to presenting the lattice-theoretic foundations of parameterized coinduction, demonstrating its utility on representative examples, and studying its composition with "up-to" techniques, we also explore its mechanization in proof assistants like Coq and Isabelle. Unlike traditional approaches to mechanizing coinduction (e.g. Coq's cofix), which employ syntactic "guardedness checking", parameterized coinduction offers a semantic account of guardedness. This leads to faster and more robust proof development, as we demonstrate using our new Coq library, Paco.
Supplemental Material
- H. R. Andersen, C. Stirling, and G. Winskel. A compositional proof system for the modal μ-calculus. In LICS, pages 144--153. IEEE Computer Society, 1994.Google Scholar
Cross Ref
- G. Barthe, M. J. Frade, E. Giménez, L. Pinto, and T. Uustalu. Type-based termination of recursive definitions. Mathematical Structures in Comp. Sci., 14(1):97--141, Feb. 2004. Google Scholar
Digital Library
- E. Giménez. Codifying guarded definitions with recursive schemes. In Types for Proofs and Programs, volume 996 of LNCS, pages 39--59. Springer, 1995. Google Scholar
Digital Library
- A. D. Gordon. Bisimilarity as a theory of functional programming. Theoretical Computer Science, 228(1--2):5--47, 1999. Google Scholar
Digital Library
- D. Hausmann, T. Mossakowski, and L. Schroeder. Iterative circular coinduction for CoCasl in Isabelle/HOL. In FASE, volume 3442 of LNCS, pages 341--356. Springer, 2005. Google Scholar
Digital Library
- C.-K. Hur. Heq: a Coq library for heterogeneous equality, 2010. Presented at Coq-2 workshop.Google Scholar
- C.-K. Hur, D. Dreyer, G. Neis, and V. Vafeiadis. The marriage of bisimulations and Kripke logical relations. In POPL, 2012. Google Scholar
Digital Library
- C. B. Jones. Specification and design of (parallel) programs. In IFIP Congress, pages 321--332, 1983.Google Scholar
- D. Kozen. Results on the propositional μ-calculus. Theor. Comput. Sci., 27:333--354, 1983.Google Scholar
Cross Ref
- K. G. Larsen. Proof systems for Hennessy-Milner logic with recursion. In CAAP, volume 299 of LNCS, pages 215--230. Springer, 1988. Google Scholar
Digital Library
- R. Matthes. Recursion on nested datatypes in dependent type theory. In Computability in Europe (CiE), volume 5028 of LNCS, pages 431--446. Springer, 2008. Google Scholar
Digital Library
- N. P. Mendler. Inductive types and type constraints in the second-order lambda calculus. Annals of Pure and Applied Logic, 51(1--2):159 -- 172, 1991.Google Scholar
- R. Milner. Communicating and Mobile Systems: The Pi-Calculus. Cambridge University Press, 1999. Google Scholar
Digital Library
- L. S. Moss. Parametric corecursion. Theor. Comput. Sci., 260(1--2):139--163, June 2001. Google Scholar
Digital Library
- S. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6:319--340, 1976.Google Scholar
Digital Library
- A. Popescu and E. L. Gunter. Incremental pattern-based coinduction for process algebra and its Isabelle formalization. In FOSSACS, pages 109--127, 2010. Google Scholar
Digital Library
- D. Sangiorgi. On the bisimulation proof method. Mathematical Structures in Comp. Sci., 8(5):447--479, Oct. 1998. Google Scholar
Digital Library
- D. Sangiorgi. Introduction to Bisimulation and Coinduction. Cambridge University Press, 2011. Google Scholar
Digital Library
- D. Sangiorgi and J. Rutten. Advanced Topics in Bisimulation and Coinduction. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 2011. Google Scholar
Digital Library
- J. Ševčík, V. Vafeiadis, F. Zappa Nardelli, S. Jagannathan, and P. Sewell. Relaxed-memory concurrency and verified compilation. In POPL, 2011. Google Scholar
Digital Library
- C. Stirling and D. Walker. Local model checking in the modal mu-calculus. In TAPSOFT, Vol.1 (CAAP), volume 351 of LNCS, pages 369--383. Springer, 1989. Google Scholar
Digital Library
- A. Tarski. A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math., 5(2):285--309, 1955.Google Scholar
Cross Ref
- G. Winskel. A note on model checking the modal ν-calculus. In ICALP, volume 372 of LNCS, pages 761--772. Springer, 1989. Google Scholar
Digital Library
Index Terms
The power of parameterization in coinductive proof
Recommendations
The power of parameterization in coinductive proof
POPL '13: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesCoinduction is one of the most basic concepts in computer science. It is therefore surprising that the commonly-known lattice-theoretic accounts of the principles underlying coinductive proofs are lacking in two key respects: they do not support ...
Coinductive big-step operational semantics
Using a call-by-value functional language as an example, this article illustrates the use of coinductive definitions and proofs in big-step operational semantics, enabling it to describe diverging evaluations in addition to terminating evaluations. We ...
Coinductive Axiomatization of Recursive Type Equality and Subtyping
We present new sound and complete axiomatizations of type equality and subtype inequality for a first-order type language with regular recursive types. The rules are motivated by coinductive characterizations of type containment and type equality via ...







Comments