22 lines
No EOL
424 B
Agda
22 lines
No EOL
424 B
Agda
{-# OPTIONS --guardedness #-}
|
|
|
|
module CEKCoinductive where
|
|
|
|
open import Agda.Primitive
|
|
|
|
private
|
|
variable
|
|
l l1 l2 l3 : Level
|
|
|
|
E : Set → Set
|
|
R : Set
|
|
|
|
data ITreeF (ITree : Set) : Set where
|
|
Ret : (r : R) → ITreeF ITree
|
|
Tau : (t : ITree) → ITreeF ITree
|
|
Vis : {A : Set l1} → (e : E A) → (k : A → ITreeF E R) → ITreeF E R
|
|
|
|
record ITree : Set where
|
|
coinductive
|
|
field
|
|
_observe : ITreeF ITree |