{-# OPTIONS --rewriting #-}
module Reflect4 where
import DS
import DSK
import CPS
import Reflect4a
import Reflect4b
open import DS-DSK
open import DSK-DS
open import DSK-CPS
open import CPS-DSK
open import TypeIsos
open import Data.Unit
open import Data.Empty
open import Data.Product
open import Function
open import Relation.Binary.PropositionalEquality
correctE : {var : Set} {Δ : CPS.Delta} →
{e e' : CPS.term[ var , Δ ]} →
CPS.Reduce e e' →
DS.Reduce {var} (embE (dskE e)) (embE (dskE e'))
correctE red = Reflect4b.correctE (Reflect4a.correctE red)