oalg-base-1.1.4.0: Algebraic structures on oriented entities and limits as a tool kit to solve algebraic problems.
Copyright(c) Erich Gut
LicenseBSD3
Maintainerzerich.gut@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

OAlg.Structure.Distributive.Proposition

Description

propositions about Distributive structure.

Synopsis

Distributive

prpDst :: Distributive d => XDst d -> Statement Source #

validity for the Distributive structure of the type a.

data XDst d Source #

random variable for validating Distributive structures.

data DstRootSide (s :: Side) d where Source #

predicate for a root and a factor at the root.

Properties Let p be in DstRootSide s d for a Distributive structure d, then holds:

  1. If p matches LDstRoot r f then holds: start r == end f.
  2. If p matches RDstRoot f r then holds: start f == end r.

Constructors

LDstRoot :: Root d -> d -> DstRootSide LeftSide d 
RDstRoot :: d -> Root d -> DstRootSide RightSide d 

data DstSide (s :: Side) d where Source #

predicate for two addable summands together with a matching factor.

Properties Let p be in DstSide s d for a Distributive structure, then holds:

  1. If p matches LDst (a,b) g then holds:

    1. root a == root b.
    2. start a == end g.
  2. If p matches RDst f (a,b) then holds:

    1. root a == root b.
    2. start f == end a.

Constructors

LDst :: (d, d) -> d -> DstSide LeftSide d 
RDst :: d -> (d, d) -> DstSide RightSide d 

Instances

Instances details
Distributive d => Show (DstSide s d) Source # 
Instance details

Defined in OAlg.Structure.Distributive.Proposition

Methods

showsPrec :: Int -> DstSide s d -> ShowS #

show :: DstSide s d -> String #

showList :: [DstSide s d] -> ShowS #

Distributive d => Dualisable (DstSide 'RightSide d) Source # 
Instance details

Defined in OAlg.Structure.Distributive.Proposition

Distributive d => Validable (DstSide s d) Source # 
Instance details

Defined in OAlg.Structure.Distributive.Proposition

Methods

valid :: DstSide s d -> Statement Source #

type Dual (DstSide s d :: Type) Source # 
Instance details

Defined in OAlg.Structure.Distributive.Proposition

type Dual (DstSide s d :: Type) = DstSide (Dual s) (Op d)

X

class XStandardDst d where Source #

standard random variable for Distributive structures.

xDstStalkStartEnd :: Distributive m => XStalk m -> XOrtSite From m -> XOrtSite To m -> XDst m Source #

the induced random variable for Distributive structures.

Total

xDstTtl :: Singleton (Root m) => X m -> XDst m Source #

random variable to validate Total Distributive structures.

Orientation

xDstOrnt :: Entity p => X p -> XDst (Orientation p) Source #

random variable for the Distributive structure of Orientation p.

Oriented Direction

xoDst :: Distributive d => XOrtOrientation d -> XOrtSite From d -> XOrtSite To d -> XDst d Source #

the induced random variable for Distributive structures.

Tools

dstDst :: Distributive d => Int -> XDst d -> IO () Source #

distribution of XDst d.