skip to main content
10.1145/2429069.2429093acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

The power of parameterization in coinductive proof

Published: 23 January 2013 Publication History

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.

Supplementary Material

JPG File (r2d1_talk6.jpg)
MP4 File (r2d1_talk6.mp4)

References

[1]
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.
[2]
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.
[3]
E. Giménez. Codifying guarded definitions with recursive schemes. In Types for Proofs and Programs, volume 996 of LNCS, pages 39--59. Springer, 1995.
[4]
A. D. Gordon. Bisimilarity as a theory of functional programming. Theoretical Computer Science, 228(1--2):5--47, 1999.
[5]
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.
[6]
C.-K. Hur. Heq: a Coq library for heterogeneous equality, 2010. Presented at Coq-2 workshop.
[7]
C.-K. Hur, D. Dreyer, G. Neis, and V. Vafeiadis. The marriage of bisimulations and Kripke logical relations. In POPL, 2012.
[8]
C. B. Jones. Specification and design of (parallel) programs. In IFIP Congress, pages 321--332, 1983.
[9]
D. Kozen. Results on the propositional μ-calculus. Theor. Comput. Sci., 27:333--354, 1983.
[10]
K. G. Larsen. Proof systems for Hennessy-Milner logic with recursion. In CAAP, volume 299 of LNCS, pages 215--230. Springer, 1988.
[11]
R. Matthes. Recursion on nested datatypes in dependent type theory. In Computability in Europe (CiE), volume 5028 of LNCS, pages 431--446. Springer, 2008.
[12]
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.
[13]
R. Milner. Communicating and Mobile Systems: The Pi-Calculus. Cambridge University Press, 1999.
[14]
L. S. Moss. Parametric corecursion. Theor. Comput. Sci., 260(1--2):139--163, June 2001.
[15]
S. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6:319--340, 1976.
[16]
A. Popescu and E. L. Gunter. Incremental pattern-based coinduction for process algebra and its Isabelle formalization. In FOSSACS, pages 109--127, 2010.
[17]
D. Sangiorgi. On the bisimulation proof method. Mathematical Structures in Comp. Sci., 8(5):447--479, Oct. 1998.
[18]
D. Sangiorgi. Introduction to Bisimulation and Coinduction. Cambridge University Press, 2011.
[19]
D. Sangiorgi and J. Rutten. Advanced Topics in Bisimulation and Coinduction. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 2011.
[20]
J. Ševčík, V. Vafeiadis, F. Zappa Nardelli, S. Jagannathan, and P. Sewell. Relaxed-memory concurrency and verified compilation. In POPL, 2011.
[21]
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.
[22]
A. Tarski. A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math., 5(2):285--309, 1955.
[23]
G. Winskel. A note on model checking the modal ν-calculus. In ICALP, volume 372 of LNCS, pages 761--772. Springer, 1989.

Cited By

View all
  • (2025)Coinductive Proofs for Temporal HyperlivenessProceedings of the ACM on Programming Languages10.1145/37048899:POPL(1568-1595)Online publication date: 9-Jan-2025
  • (2024)Systems of Fixpoint Equations: Abstraction, Games, Up-To Techniques and Local AlgorithmsInformation and Computation10.1016/j.ic.2024.105233(105233)Online publication date: Oct-2024
  • (2024)The Concurrent Calculi Formalisation BenchmarkCoordination Models and Languages10.1007/978-3-031-62697-5_9(149-158)Online publication date: 17-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '13: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2013
586 pages
ISBN:9781450318327
DOI:10.1145/2429069
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 48, Issue 1
    POPL '13
    January 2013
    561 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2480359
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 January 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. coinduction
  2. compositionality
  3. interactive theorem proving
  4. lattice theory
  5. parameterized greatest fixed point
  6. simulation

Qualifiers

  • Research-article

Conference

POPL '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '26

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)55
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Coinductive Proofs for Temporal HyperlivenessProceedings of the ACM on Programming Languages10.1145/37048899:POPL(1568-1595)Online publication date: 9-Jan-2025
  • (2024)Systems of Fixpoint Equations: Abstraction, Games, Up-To Techniques and Local AlgorithmsInformation and Computation10.1016/j.ic.2024.105233(105233)Online publication date: Oct-2024
  • (2024)The Concurrent Calculi Formalisation BenchmarkCoordination Models and Languages10.1007/978-3-031-62697-5_9(149-158)Online publication date: 17-Jun-2024
  • (2023)Stuttering for FreeProceedings of the ACM on Programming Languages10.1145/36228577:OOPSLA2(1677-1704)Online publication date: 16-Oct-2023
  • (2023)Automated Expected Value Analysis of Recursive ProgramsProceedings of the ACM on Programming Languages10.1145/35912637:PLDI(1050-1072)Online publication date: 6-Jun-2023
  • (2023)Better Defunctionalization through Lambda Set SpecializationProceedings of the ACM on Programming Languages10.1145/35912607:PLDI(977-1000)Online publication date: 6-Jun-2023
  • (2023)Formally Verified Samplers from Probabilistic Programs with Loops and ConditioningProceedings of the ACM on Programming Languages10.1145/35912207:PLDI(1-24)Online publication date: 6-Jun-2023
  • (2023)Impredicative Observational EqualityProceedings of the ACM on Programming Languages10.1145/35717397:POPL(2171-2196)Online publication date: 11-Jan-2023
  • (2023)Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in CoqProceedings of the ACM on Programming Languages10.1145/35712547:POPL(1770-1800)Online publication date: 11-Jan-2023
  • (2023)Conditional Contextual RefinementProceedings of the ACM on Programming Languages10.1145/35712327:POPL(1121-1151)Online publication date: 11-Jan-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media