{-# OPTIONS --rewriting #-}
module TypeIsos where
import DS
import DSK
import CPS
open import DS-DSK
open import DSK-DS
open import DSK-CPS
open import CPS-DSK
open import DS-CPS
open import CPS-DS
open import Data.Unit
open import Data.Empty
open import Data.Product
open import Function
open import Relation.Binary.PropositionalEquality
cpskΔ∘dskΔ≡id : (Δ : CPS.Delta) → cpskΔ (dskΔ Δ) ≡ Δ
cpskΔ∘dskΔ≡id (CPS.K) = refl
cpskΔ∘dskΔ≡id (CPS.•) = refl
{-# REWRITE cpskΔ∘dskΔ≡id #-}
cpskΘ∘dskΘ≡id : (Θ : CPS.Theta) → cpskΘ (dskΘ Θ) ≡ Θ
cpskΘ∘dskΘ≡id CPS.G = refl
cpskΘ∘dskΘ≡id (CPS.D Δ) = refl
{-# REWRITE cpskΘ∘dskΘ≡id #-}
dskΔ∘cpskΔ≡id : (Δ : DSK.Delta) → dskΔ (cpskΔ Δ) ≡ Δ
dskΔ∘cpskΔ≡id (DSK.K) = refl
dskΔ∘cpskΔ≡id (DSK.•) = refl
{-# REWRITE dskΔ∘cpskΔ≡id #-}
dskΘ∘cpskΘ≡id : (Θ : DSK.Theta) → dskΘ (cpskΘ Θ) ≡ Θ
dskΘ∘cpskΘ≡id DSK.G = refl
dskΘ∘cpskΘ≡id (DSK.D Δ) = refl
{-# REWRITE dskΘ∘cpskΘ≡id #-}