{-# OPTIONS --without-K --safe --guardedness --no-sized-types #-}

-------------------------------------------------
-- direct proof that bisimulation is reflexive --
-------------------------------------------------

open import dtt
open import equality
open import Bisimulation


module Bisimulation.reflexivity {I : Set} (w : IS I) where


private R : Pow (states w)
R (i , (T₁ , T₂)) = T₁  T₂


private coalg-refl : R  Φ w R
coalg-refl {( i , ( T₁ , T₂ ) )} refl =
  ( refl ,   d₁  refl))


----------------------------------------
-- proof that bisimilarity is reflexive:
reflexivity : {i : I} (T : ν w i)  T  T
reflexivity T₁ =
  record {
         carrier = R ;
         coalg = coalg-refl ;
         init = refl }