Convert
{-# OPTIONS --safe #-}
module Ledger.Conway.Conformance.Equivalence.Convert where
open import Data.Unit.Base using (⊤)
infixr 1 _⊢_⭆ⁱ_ _⊢_⭆_ _⭆_
record _⊢_⭆ⁱ_ (I L : Set) (C : I → L → Set) : Set where
field
convⁱ : (i : I) (l : L) → C i l
open _⊢_⭆ⁱ_ public
_⊢conv_ : ∀ {I L C} → ⦃ I ⊢ L ⭆ⁱ C ⦄ → ∀ i l → C i l
_⊢conv_ ⦃ c ⦄ = c .convⁱ
_⊢_⭆_ : (I L C : Set) → Set
I ⊢ L ⭆ C = I ⊢ L ⭆ⁱ λ _ _ → C
_⭆_ : (L C : Set) → Set
L ⭆ C = ⊤ ⊢ L ⭆ C
conv : ∀ {L C} → ⦃ ⊤ ⊢ L ⭆ⁱ C ⦄ → ∀ l → C _ l
conv l = _ ⊢conv l