Book Chapter10.1007/978-1-4471-3573-9_6
A Tutorial on Co-induction and Functional Programming
Andrew D. Gordon
- 01 Jan 1995
- pp 78-95
TL;DR: It is shown how to prove properties of lazy streams by co-induction and derive Bird and Wadler’s Take Lemma, a well-known proof technique for lazy streams.
read more
Abstract: Co-induction is an important tool for reasoning about unbounded structures. This tutorial explains the foundations of co-induction, and shows how it justifies intuitive arguments about lazy streams, of central importance to lazy functional programmers. We explain from first principles a theory based on a new formulation of bisimilarity for functional programs, which coincides exactly with Morris-style contextual equivalence. We show how to prove properties of lazy streams by co-induction and derive Bird and Wadler’s Take Lemma, a well-known proof technique for lazy streams.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
Types and Programming Languages
Benjamin C. Pierce
- 01 Jan 2002
TL;DR: This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages.
2.7K
Concurrent Haskell
Simon Jones,Andrew D. Gordon,Sigbjorn Finne +2 more
- 01 Jan 1996
TL;DR: This work has developed a freely-available implementation of Concurrent Haskell, and is now using it as a substrate for a graphical user interface toolkit.
Transforming out timing leaks
Johan Agat
- 05 Jan 2000
TL;DR: This work presents a surprisingly simple solution to the problem of detecting timing leakages to external observers with a type system in which well-typed programs do not leak secret information directly, indirectly or through timing, and a transformation for removing timing leaks.
382
Recursive subtyping revealed
TL;DR: An ‘end-to-end’ introduction to recursive types and subtyping algorithms, from basic theory to efficient implementation, set in the unifying mathematical framework of coinduction.
Quantitative Behavioural Reasoning for Higher-order Effectful Programs: Applicative Distances
Francesco Gavazzo
- 09 Jul 2018
TL;DR: In this paper, the applicative similarity and bisimilarity of quantale-valued effects over quantales is studied in the context of a generalisation of Fuzz, a call-by-value λ-calculus with a linear type system enriched with algebraic operations a la Plotkin and Power.
References
•Book
Communication and Concurrency
Robin Milner
- 01 Jan 1989
TL;DR: This chapter discusses Bisimulation and Observation Equivalence as a Modelling Communication, a Programming Language, and its application to Equational laws.
9K
•Book
Introduction to lattices and order
Brian A. Davey,Hilary A. Priestley +1 more
- 01 Jan 1990
TL;DR: The Stone Representation Theorem for Boolean algebras and its application to lattices in algebra can be found in this article, where the structure of finite distributive lattices and finite Boolean algebraic structures are discussed.
5.4K
Concurrency and Automata on Infinite Sequences
TL;DR: A general method for proving/deciding equivalences between omega-regular languages, whose recognizers are modified forms of Buchi or Muller-McNaughton automata, derived from Milner's notion of “simulation” is obtained.
2.4K
Submitted Publication
Luca Fedeli,Axel Huebl,And Others +2 more
- 01 Aug 2022
TL;DR: Sure, here is the TLDR: This data artifact contains measurements and setups for a submitted publication to Supercomputing 2022. It includes source code, patches, and larger data.
1.2K
Handbook of mathematical logic
Jon Barwise,H. Jerome Keisler +1 more
TL;DR: Model Theory (Contributors: J.J. Jech, I.C. Juhasz, K. Kunen, M.E. Rudin, J.R. Smorynski, R.S. Statman, A.A. Shore, S.G. Troelstra).
938
Related Papers (5)
Robin Milner
- 01 Jan 1989
Benjamin C. Pierce
- 01 Jan 2002
Brian A. Davey,Hilary A. Priestley +1 more
- 01 Jan 1990