Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
Data structures and program transformation
Science of Computer Programming
An introduction to functional programming
An introduction to functional programming
Infinite objects in type theory
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
Algebra of programming
Vicious circles: on the mathematics of non-wellfounded phenomena
Vicious circles: on the mathematics of non-wellfounded phenomena
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Theories of programming languages
Theories of programming languages
Relational reasoning about contexts
Higher order operational techniques in semantics
Improvement theory and its applications
Higher order operational techniques in semantics
Inductive methods for proving properties of programs
Communications of the ACM
The generic approximation lemma
Information Processing Letters
Mathematical Theory of Program Correctness
Mathematical Theory of Program Correctness
Introduction to Functional Programming
Introduction to Functional Programming
Elementary Strong Functional Programming
FPLE '95 Proceedings of the First International Symposium on Functional Programming Languages in Education
Calculating functional programs
Algebraic and coalgebraic methods in the mathematics of program construction
Mathematical Structures in Computer Science
Parametric polymorphism and operational equivalence
Mathematical Structures in Computer Science
On the bisimulation proof method
Mathematical Structures in Computer Science
Journal of Functional Programming
Metamorphisms: Streaming representation-changers
Science of Computer Programming
Much ado about two (pearl): a pearl on parallel prefix computation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Functional pearl: streams and unique fixed points
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Achieving information flow security through monadic control of effects
Journal of Computer Security - 18th IEEE Computer Security Foundations Symposium (CSF 18)
An Operational Domain-theoretic Treatment of Recursive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Bisimulations Generated from Corecursive Equations
Electronic Notes in Theoretical Computer Science (ENTCS)
Subtyping, declaratively: an exercise in mixed induction and coinduction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
Concrete stream calculus: An extended study
Journal of Functional Programming
Science of Computer Programming
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Hi-index | 0.00 |
Recursion is a well-known and powerful programming technique, with a wide variety of applications. The dual technique of corecursion is less well-known, but is increasingly proving to be just as useful. This article is a tutorial on the four main methods for proving properties of corecursive programs: fixpoint induction, the approximation (or take) lemma, coinduction, and fusion.