{-# OPTIONS --prop --without-K --rewriting #-}
open import Calf.CostMonoid
module Calf.Types.Eq where
open import Calf.Prelude
open import Calf.Metalanguage
open import Calf.PhaseDistinction
open import Relation.Binary.PropositionalEquality
postulate
eq : (A : tp pos) → val A → val A → tp pos
eq/intro : ∀ {A v1 v2} → v1 ≡ v2 → val (eq A v1 v2)
eq/ref : ∀ {A v1 v2} → cmp (F (eq A v1 v2)) → v1 ≡ v2
eq/uni : ∀ {A v1 v2} → (p q : cmp (F (eq A v1 v2))) →
(u : ext) → p ≡ q