oalg-base-3.0.0.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 HaskellNone
LanguageHaskell2010

OAlg.Structure.Oriented.X

Description

random variables for Oriented structures.

Synopsis

Site

data XOrtSite (s :: Site) q where Source #

random variables X q and X (Point q) for Oriented structure q.

Properties Let q be an instance of the class Oriented, then holds:

  1. Let XStart xp xStart be in XOrtSite From q, then holds: For all p in Point q and x in the range of xStart p holds: start x == p.
  2. Let XEnd xp xEnd be in XOrtSite To q, then holds: For all p in Point q and x in the range of xEnd p holds: end x == p.

Note The random variables xp should have a bias to non trivial random variables xp >>= xStart or xp >>= xEnd.

Constructors

XStart :: forall q. X (Point q) -> (Point q -> X q) -> XOrtSite 'From q 
XEnd :: forall q. X (Point q) -> (Point q -> X q) -> XOrtSite 'To q 

Instances

Instances details
Dualisable (XOrtSite 'To q) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

Oriented q => Validable (XOrtSite s q) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

Methods

valid :: XOrtSite s q -> Statement Source #

type Dual (XOrtSite s q :: Type) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

type Dual (XOrtSite s q :: Type) = XOrtSite (Dual s) (Op q)

data OrtSiteX Source #

type for Oriented structures admitting XStandardOrtSiteTo and XStandardOrtSiteFrom.

Note The main point is that TransformableG Op OrtSiteX OrtSiteX holds!

Instances

Instances details
TransformableType OrtSiteX Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

TransformableOrt OrtSiteX Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

TransformableOp OrtSiteX Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

Transformable OrtSiteX Typ Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

Methods

tau :: Struct OrtSiteX x -> Struct Typ x Source #

Transformable OrtSiteX Ort Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

Methods

tau :: Struct OrtSiteX x -> Struct Ort x Source #

Transformable OrtSiteX Type Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

Methods

tau :: Struct OrtSiteX x -> Struct Type x Source #

TransformableGRefl Op OrtSiteX Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

TransformableG Op OrtSiteX OrtSiteX Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

(Attestable m, n ~ (m + 1)) => TransformableG (SDualBi (Diagram ('Chain 'From) n m)) OrtSiteX EqE Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

tauG :: Struct OrtSiteX x -> Struct EqE (SDualBi (Diagram ('Chain 'From) n m) x) Source #

(Attestable m, n ~ (m + 1)) => TransformableG (SDualBi (Diagram ('Chain 'To) n m)) OrtSiteX EqE Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

tauG :: Struct OrtSiteX x -> Struct EqE (SDualBi (Diagram ('Chain 'To) n m) x) Source #

type Structure OrtSiteX x Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

class XStandardOrtSite (s :: Site) a where Source #

standard random variable for XOrtSite.

Instances

Instances details
XStandardOrtSite 'From N Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandardOrtSite 'To N Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandardOrtSite 'From x => XStandardOrtSite 'From (Id x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandardOrtSite 'From (Matrix Z) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

XStandardOrtSite 'To a => XStandardOrtSite 'From (Op a) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandard p => XStandardOrtSite 'From (Orientation p) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandard x => XStandardOrtSite 'From (U x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandardOrtSite 'To x => XStandardOrtSite 'To (Id x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandardOrtSite 'To (Matrix Z) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

XStandardOrtSite 'From a => XStandardOrtSite 'To (Op a) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandard p => XStandardOrtSite 'To (Orientation p) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandard x => XStandardOrtSite 'To (U x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

(Multiplicative x, Sliced i x, XStandardOrtSite 'From x) => XStandardOrtSite 'From (SliceFactor 'From i x) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

XStandardOrtSite 'From (SliceFactor 'To (Proxy :: Type -> Type) OS) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

(Multiplicative x, Sliced i x, XStandardOrtSite 'To x) => XStandardOrtSite 'To (SliceFactor 'To i x) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

class XStandardOrtSite 'To a => XStandardOrtSiteTo a Source #

standard random variable for XOrtSite To, helper class to avoid undecidable instances.

Instances

Instances details
XStandardOrtSiteTo x => XStandardOrtSiteTo (Id x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandardOrtSiteFrom x => XStandardOrtSiteTo (Op x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandard p => XStandardOrtSiteTo (Orientation p) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

XStandard x => XStandardOrtSiteTo (U x) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

(Multiplicative x, Sliced i x, XStandardOrtSite 'To x) => XStandardOrtSiteTo (SliceFactor 'To i x) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

class XStandardOrtSite 'From a => XStandardOrtSiteFrom a Source #

standard random variable for XOrtSite From, helper class to avoid undecidable instances.

coXOrtSite :: forall (s :: Site) q. XOrtSite s q -> Dual (XOrtSite s q) Source #

to the dual of a XOrtSite s q, with inverse coXOrtSiteInv.

coXOrtSiteInv :: forall (s :: Site) q. (Dual (Dual s) :~: s) -> Dual (XOrtSite s q) -> XOrtSite s q Source #

from the dual of a Dual (XOrtSite s q), with inverse coXOrtSite.

xosFromOpOp :: forall (s :: Site) q. XOrtSite s (Op (Op q)) -> XOrtSite s q Source #

from the bidual.

xosStart :: XOrtSite 'From q -> Point q -> X q Source #

the random variable of arrows in q having all as start the given point.

xosEnd :: XOrtSite 'To q -> Point q -> X q Source #

the random variable of arrows in q having all as end the given point.

xosPathMaxAt :: forall q (s :: Site). Oriented q => XOrtSite s q -> N -> Point q -> X (Path q) Source #

tries to make a path at the given point with maximal length of the given length.

Properties Let xPath = xosPathMaxAt xos n x, then holds:

  1. If xos matches XStart _ xq then for all p in the range of xPath holds:

    1. start p == x.
    2. If pthLength p < n then xq (end p) matches XEmpty.
  2. If xos matches XEnd _ xq then for all p in the range of xPath holds:

    1. end p == x.
    2. If pthLength p < n then xq (start p) matches XEmpty.

xosPathMax :: forall q (s :: Site). Oriented q => XOrtSite s q -> N -> X (Path q) Source #

random variable of paths with maximal length of the given length.

Orientation

data XOrtOrientation q Source #

random variable of arrows given by an orientation.

Properties Let XOrtOrientation xo xArrow be in XOrtOrientation q for a Oriented structure q, then holds: For all o in Orientation q and x in the range of xArrow o holds: orientation x == o.

Note The random variable xo should have a bias to non trivial random variables xo >>= xArrow and as such the range of xo should be included in one connection component of q.

Constructors

XOrtOrientation (X (Orientation (Point q))) (Orientation (Point q) -> X q) 

Instances

Instances details
Oriented q => Validable (XOrtOrientation q) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

type Dual (XOrtOrientation q :: Type) Source # 
Instance details

Defined in OAlg.Structure.Oriented.X

xoOrientation :: XOrtOrientation q -> X (Orientation (Point q)) Source #

the underlying random variable of orientations.

xoArrow :: XOrtOrientation q -> Orientation (Point q) -> X q Source #

the underlying random variable of arrow given by the orientation.

xoPoint :: Oriented q => XOrtOrientation q -> X (Point q) Source #

the underlying random variable of points, i.e. the union of the induced start and end random variable of xoOrientation.

xoTtl :: Total q => X q -> XOrtOrientation q Source #

random variable of XOrtOrientation q for a total q.

xoOrnt :: X p -> XOrtOrientation (Orientation p) Source #

the induced random variable of Orientation q.

Orientation

xStartOrnt :: X p -> XOrtSite 'From (Orientation p) Source #

the XOrtSite From for Orientation p of the given random variable.

xEndOrnt :: X p -> XOrtSite 'To (Orientation p) Source #

the XOrtSite To of Orientation p of the given random variable.