{-# OPTIONS --rewriting #-}

module Examples.Amortized.Core where

open import Algebra.Cost

costMonoid = ℕ-CostMonoid
open CostMonoid costMonoid using ()

open import Calf costMonoid
open import Calf.Data.Product


infix 3 _⇒_ _⇔_
_⇒_ _⇔_ : tp⁺  tp⁺  tp⁺
A  B = meta⁺ (val A  val B)
A  B = (A  B) ×⁺ (B  A)