module Data.Congruence.Decidable where
import Data.Array
import Data.Int
import Data.Map
import Data.Sequence
import Data.Set
import Data.Tree
import Data.Word
class Eq α ⇒ Congruence α where
instance Congruence α ⇒ Congruence [α]
instance Congruence α ⇒ Congruence (Maybe α)
instance (Congruence α, Congruence β) ⇒ Congruence (Either α β)
instance Congruence α ⇒ Congruence (Set α)
instance Congruence α ⇒ Congruence (Seq α)
instance Congruence α ⇒ Congruence (Tree α)
instance (Congruence α, Congruence β) ⇒ Congruence (Map α β)
instance (Ix i, Congruence i, Congruence α) ⇒ Congruence (Array i α)
instance Congruence ()
instance Congruence Bool
instance Congruence Char
instance Congruence Int
instance Congruence Int16
instance Congruence Int32
instance Congruence Int64
instance Congruence Int8
instance Congruence Integer
instance Congruence Ordering
instance Congruence Word
instance Congruence Word16
instance Congruence Word32
instance Congruence Word64
instance Congruence Word8
instance (Congruence a, Congruence b, Congruence c, Congruence d) ⇒ Congruence (a, b, c, d)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e) ⇒ Congruence (a, b, c, d, e)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f) ⇒ Congruence (a, b, c, d, e, f)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g) ⇒ Congruence (a, b, c, d, e, f, g)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h) ⇒ Congruence (a, b, c, d, e, f, g, h)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i) ⇒ Congruence (a, b, c, d, e, f, g, h, i)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i, Congruence j) ⇒ Congruence (a, b, c, d, e, f, g, h, i, j)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i, Congruence j, Congruence k) ⇒ Congruence (a, b, c, d, e, f, g, h, i, j, k)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i, Congruence j, Congruence k, Congruence l) ⇒ Congruence (a, b, c, d, e, f, g, h, i, j, k, l)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i, Congruence j, Congruence k, Congruence l, Congruence m) ⇒ Congruence (a, b, c, d, e, f, g, h, i, j, k, l, m)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i, Congruence j, Congruence k, Congruence l, Congruence m, Congruence n) ⇒ Congruence (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
instance (Congruence a, Congruence b, Congruence c, Congruence d, Congruence e, Congruence f, Congruence g, Congruence h, Congruence i, Congruence j, Congruence k, Congruence l, Congruence m, Congruence n, Congruence o) ⇒ Congruence (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)