------------------------------------------------------------------------
-- The delay monad quotiented by weak bisimilarity
------------------------------------------------------------------------

{-# OPTIONS --erased-cubical --sized-types #-}

module Partiality-monad.Coinductive where

open import Equality.Propositional.Cubical
open import Prelude hiding ()
open import Prelude.Size

open import H-level.Truncation.Propositional equality-with-paths
open import Quotient equality-with-paths

open import Delay-monad
open import Delay-monad.Bisimilarity

-- The partiality monad, defined as the delay monad quotiented by
-- (propositionally truncated) weak bisimilarity.

_⊥ :  {a}  Type a  Type a
A  = Delay A  / λ x y   x  y 

-- The partiality monad is a set.

⊥-is-set :  {a} {A : Type a}  Is-set (A )
⊥-is-set = /-is-set