monoids-in-the-category-of-.../src/Data/Identity.hs

19 lines
342 B
Haskell

module Data.Identity ((:~:) (Refl)) where
import Relation
import Data.Kind (Type)
type (:~:) :: i -> i -> Type
data (:~:) :: i -> i -> Type where
Refl :: a :~: a
instance Transitive (:~:) where
Refl . Refl = Refl
instance Reflexive (:~:)
instance Wide (:~:) where
id = Refl
instance Symmetric (:~:) where
inv Refl = Refl