(* Title: Doc/Corec/Corec.thy Author: Jasmin Blanchette, Inria, LORIA, MPII Author: Aymeric Bouzy, Ecole polytechnique Author: Andreas Lochbihler, ETH Zuerich Author: Andrei Popescu, Middlesex University Author: Dmitriy Traytel, ETH Zuerich Tutorial for nonprimitively corecursive definitions. *) theory Corec imports Main Datatypes.Setup "HOL-Library.BNF_Corec" "HOL-Library.FSet" begin section ‹Introduction \label{sec:introduction}› text ‹ Isabelle's (co)datatype package \<^cite>‹"isabelle-datatypes"› offers a convenient syntax for introducing codatatypes. For example, the type of (infinite) streams can be defined as follows (cf. 🗏‹~~/src/HOL/Library/Stream.thy›): ›