Hostname: page-component-77f85d65b8-45ctf Total loading time: 0 Render date: 2026-03-30T08:09:54.994Z Has data issue: false hasContentIssue false

A contextual formalization of structural coinduction

Published online by Cambridge University Press:  07 July 2025

PAUL DOWNEN
Affiliation:
University of Massachusetts, Lowell, MA, USA (e-mail: paul_downen@uml.edu)
ZENA M. ARIOLA
Affiliation:
University of Oregon, Eugene, OR 97403, USA (e-mail: ariola@cs.uoregon.edu)
Rights & Permissions [Opens in a new window]

Abstract

Structural induction is pervasively used by functional programmers and researchers for both informal reasoning as well as formal methods for program verification and semantics. In this paper, we promote its dual—structural coinduction—as a technique for understanding corecursive programs only in terms of the logical structure of their context. We illustrate this technique as an informal method of proofs which closely match the style of informal inductive proofs, where it is straightforward to check that all cases are covered and the coinductive hypotheses are used correctly. This intuitive idea is then formalized through a syntactic theory for deriving program equalities, which is justified purely in terms of the computational behavior of abstract machines and proved sound with respect to observational equivalence.

Information

Type
Research Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press
Figure 0

Fig. 1. Syntax and semantics of the uniform, (co)recursive abstract machine.

Figure 1

Fig. 2. Type system of the uniform, (co)recursive abstract machine.

Figure 2

Fig. 3. Syntactic sugar in the abstract machine language.

Figure 3

Fig. 4. Intensional equational theory of computation.

Figure 4

Fig. 5. Extensional program logic.

Figure 5

Fig. 6. Unrestricted coinduction rules $\sigma{\to}$, $\sigma{\mathrm{Stream}}$, and unrestricted induction rule $\sigma{\mathrm{Nat}}$.

Figure 6

Fig. 7. Model of observational equivalence in the abstract machine.

Submit a response

Discussions

No Discussions have been published for this article.