data-category-0.11: Category theory
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Category.Preorder

Synopsis

Documentation

data Preorder a x y where Source #

Constructors

(:<=:) :: a -> a -> Preorder a x y 

Instances

Instances details
Eq a => Category (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

Methods

src :: forall (a0 :: k) (b :: k). Preorder a a0 b -> Obj (Preorder a) a0 Source #

tgt :: forall (a0 :: k) (b :: k). Preorder a a0 b -> Obj (Preorder a) b Source #

(.) :: forall (b :: k) (c :: k) (a0 :: k). Preorder a b c -> Preorder a a0 b -> Preorder a a0 c Source #

(Ord a, Bounded a) => CartesianClosed (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type Exponential (Preorder a) y z :: Kind k Source #

Methods

apply :: forall (y :: k) (z :: k). Obj (Preorder a) y -> Obj (Preorder a) z -> Preorder a (BinaryProduct (Preorder a) (Exponential (Preorder a) y z) y) z Source #

tuple :: forall (y :: k) (z :: k). Obj (Preorder a) y -> Obj (Preorder a) z -> Preorder a z (Exponential (Preorder a) y (BinaryProduct (Preorder a) z y)) Source #

(^^^) :: forall (z1 :: k) (z2 :: k) (y2 :: k) (y1 :: k). Preorder a z1 z2 -> Preorder a y2 y1 -> Preorder a (Exponential (Preorder a) y1 z1) (Exponential (Preorder a) y2 z2) Source #

Ord a => HasBinaryCoproducts (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type BinaryCoproduct (Preorder a) x y :: Kind k Source #

Methods

inj1 :: forall (x :: k) (y :: k). Obj (Preorder a) x -> Obj (Preorder a) y -> Preorder a x (BinaryCoproduct (Preorder a) x y) Source #

inj2 :: forall (x :: k) (y :: k). Obj (Preorder a) x -> Obj (Preorder a) y -> Preorder a y (BinaryCoproduct (Preorder a) x y) Source #

(|||) :: forall (x :: k) (a0 :: k) (y :: k). Preorder a x a0 -> Preorder a y a0 -> Preorder a (BinaryCoproduct (Preorder a) x y) a0 Source #

(+++) :: forall (a1 :: k) (b1 :: k) (a2 :: k) (b2 :: k). Preorder a a1 b1 -> Preorder a a2 b2 -> Preorder a (BinaryCoproduct (Preorder a) a1 a2) (BinaryCoproduct (Preorder a) b1 b2) Source #

Ord a => HasBinaryProducts (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type BinaryProduct (Preorder a) x y :: Kind k Source #

Methods

proj1 :: forall (x :: k) (y :: k). Obj (Preorder a) x -> Obj (Preorder a) y -> Preorder a (BinaryProduct (Preorder a) x y) x Source #

proj2 :: forall (x :: k) (y :: k). Obj (Preorder a) x -> Obj (Preorder a) y -> Preorder a (BinaryProduct (Preorder a) x y) y Source #

(&&&) :: forall (a0 :: k) (x :: k) (y :: k). Preorder a a0 x -> Preorder a a0 y -> Preorder a a0 (BinaryProduct (Preorder a) x y) Source #

(***) :: forall (a1 :: k) (b1 :: k) (a2 :: k) (b2 :: k). Preorder a a1 b1 -> Preorder a a2 b2 -> Preorder a (BinaryProduct (Preorder a) a1 a2) (BinaryProduct (Preorder a) b1 b2) Source #

(Eq a, Bounded a) => HasInitialObject (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type InitialObject (Preorder a) :: Kind k Source #

Methods

initialObject :: Obj (Preorder a) (InitialObject (Preorder a)) Source #

initialize :: forall (a0 :: k). Obj (Preorder a) a0 -> Preorder a (InitialObject (Preorder a)) a0 Source #

(Eq a, Bounded a) => HasTerminalObject (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type TerminalObject (Preorder a) :: Kind k Source #

Methods

terminalObject :: Obj (Preorder a) (TerminalObject (Preorder a)) Source #

terminate :: forall (a0 :: k). Obj (Preorder a) a0 -> Preorder a a0 (TerminalObject (Preorder a)) Source #

type InitialObject (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

type InitialObject (Preorder a :: Type -> Type -> Type) = ()
type TerminalObject (Preorder a :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Category.Preorder

type TerminalObject (Preorder a :: Type -> Type -> Type) = ()
type Exponential (Preorder a :: Type -> Type -> Type) (x :: Kind (Preorder a)) (y :: Kind (Preorder a)) Source # 
Instance details

Defined in Data.Category.Preorder

type Exponential (Preorder a :: Type -> Type -> Type) (x :: Kind (Preorder a)) (y :: Kind (Preorder a)) = ()
type BinaryCoproduct (Preorder a :: Type -> Type -> Type) (x :: Kind (Preorder a)) (y :: Kind (Preorder a)) Source # 
Instance details

Defined in Data.Category.Preorder

type BinaryCoproduct (Preorder a :: Type -> Type -> Type) (x :: Kind (Preorder a)) (y :: Kind (Preorder a)) = ()
type BinaryProduct (Preorder a :: Type -> Type -> Type) (x :: Kind (Preorder a)) (y :: Kind (Preorder a)) Source # 
Instance details

Defined in Data.Category.Preorder

type BinaryProduct (Preorder a :: Type -> Type -> Type) (x :: Kind (Preorder a)) (y :: Kind (Preorder a)) = ()

pattern Obj :: a -> Preorder a x y Source #

unObj :: Obj (Preorder a) x -> a Source #

ordExp :: (Ord a, Bounded a) => a -> a -> a Source #

`ordExp a b` is the largest x such that min x a <= b

class Category k => EnumObjs k where Source #

Methods

enumObjs :: (forall a. Obj k a -> r) -> [r] Source #

glb :: (Ord a, Bounded a) => [a] -> a Source #

type End' t = () Source #

end :: (VProfunctor k k t, V k ~ Preorder a, EnumObjs k, Ord a, Bounded a) => t -> Obj (Preorder a) (End' t) Source #

endCounit :: (VProfunctor k k t, V k ~ Preorder a, EnumObjs k, Ord a, Bounded a) => t -> Obj k b -> Preorder a (End' t) (t :%% (b, b)) Source #

endFactorizer :: (VProfunctor k k t, V k ~ Preorder a, EnumObjs k, Ord a, Bounded a) => t -> Obj (Preorder a) x -> (forall b. Obj k b -> Preorder a x (t :%% (b, b))) -> Preorder a x (End' t) Source #

data Floor Source #

Constructors

Floor 

Instances

Instances details
Functor Floor Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type Dom Floor :: Type -> Type -> Type Source #

type Cod Floor :: Type -> Type -> Type Source #

type Floor :% a Source #

Methods

(%) :: Floor -> Dom Floor a b -> Cod Floor (Floor :% a) (Floor :% b) Source #

type Cod Floor Source # 
Instance details

Defined in Data.Category.Preorder

type Dom Floor Source # 
Instance details

Defined in Data.Category.Preorder

type Floor :% a Source # 
Instance details

Defined in Data.Category.Preorder

type Floor :% a = ()

data FromInteger Source #

Constructors

FromInteger 

Instances

Instances details
Functor FromInteger Source # 
Instance details

Defined in Data.Category.Preorder

Associated Types

type Dom FromInteger :: Type -> Type -> Type Source #

type Cod FromInteger :: Type -> Type -> Type Source #

type FromInteger :% a Source #

type Cod FromInteger Source # 
Instance details

Defined in Data.Category.Preorder

type Dom FromInteger Source # 
Instance details

Defined in Data.Category.Preorder

type FromInteger :% a Source # 
Instance details

Defined in Data.Category.Preorder

type FromInteger :% a = ()