------------------------------------------------------------------------ -- Types used to make recursive arguments coinductive ------------------------------------------------------------------------ {-# OPTIONS --universe-polymorphism #-} -- See Data.Colist for examples of how this type is used, or -- http://article.gmane.org/gmane.comp.lang.agda/633 for a longer -- explanation. module Coinduction where open import Level infix 10 ♯_ codata ∞ {a} (A : Set a) : Set a where ♯_ : (x : A) → ∞ A ♭ : ∀ {a} {A : Set a} → ∞ A → A ♭ (♯ x) = x