| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Entity.Slice.Definition
Description
definition of slicing a Multiplicative structures according a given indexed Point.
Synopsis
- data Slice (s :: Site) (i :: Type -> Type) x where
- slice :: forall (s :: Site) (i :: Type -> Type) x. Slice s i x -> x
- slSiteType :: forall (s :: Site) (i :: Type -> Type) x. Slice s i x -> Either (s :~: 'From) (s :~: 'To)
- slMap :: forall (i :: Type -> Type) h (s :: Site) x y. (HomSlicedOriented i h, s ~ Dual (Dual s)) => h x y -> SDualBi (Slice s i) x -> SDualBi (Slice s i) y
- slMapCov :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedOriented i h => Variant2 'Covariant h x y -> Slice s i x -> Slice s i y
- slMapCnt :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedOriented i h => Variant2 'Contravariant h x y -> Slice s i x -> Slice (Dual s) i y
- data SliceFactor (s :: Site) (i :: Type -> Type) x = SliceFactor (Slice s i x) (Slice s i x) x
- slfFactor :: forall (s :: Site) (i :: Type -> Type) x. SliceFactor s i x -> x
- slfIndex :: Sliced i x => f (SliceFactor 'To i x) -> i x
- slfMap :: forall (i :: Type -> Type) h (s :: Site) x y. (HomSlicedMultiplicative i h, s ~ Dual (Dual s)) => h x y -> SDualBi (SliceFactor s i) x -> SDualBi (SliceFactor s i) y
- slfMapCov :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedMultiplicative i h => Variant2 'Covariant h x y -> SliceFactor s i x -> SliceFactor s i y
- slfMapCnt :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedMultiplicative i h => Variant2 'Contravariant h x y -> SliceFactor s i x -> SliceFactor (Dual s) i y
- toDualOpOrtSld :: forall (i :: Type -> Type) x. Sliced i x => Variant2 'Contravariant (IsoO (Ort, Sld i) Op) x (Op x)
- toDualOpOrtSld' :: forall (i :: Type -> Type) x q. Sliced i x => q i -> Variant2 'Contravariant (IsoO (Ort, Sld i) Op) x (Op x)
- toDualOpMltSld :: forall (i :: Type -> Type) x. (Sliced i x, Multiplicative x) => Variant2 'Contravariant (IsoO (Mlt, Sld i) Op) x (Op x)
- toDualOpMltSld' :: forall (i :: Type -> Type) x q. (Sliced i x, Multiplicative x) => q i -> Variant2 'Contravariant (IsoO (Mlt, Sld i) Op) x (Op x)
- data SliceFactorDrop (s :: Site) x y where
- SliceFactorFromDrop :: forall y (i :: Type -> Type). (Multiplicative y, Sliced i y) => SliceFactorDrop 'From (SliceFactor 'From i y) y
- SliceFactorToDrop :: forall y (i :: Type -> Type). (Multiplicative y, Sliced i y) => SliceFactorDrop 'To (SliceFactor 'To i y) y
- data DiagramSlicedCenter (i :: Type -> Type) (t :: Site) (n :: N') (m :: N') x where
- DiagramSlicedCenter :: forall (i :: Type -> Type) x (t :: Site) (n :: N') (m :: N'). Sliced i x => i x -> Diagram ('Star t) n m x -> DiagramSlicedCenter i t n m x
- data LimesSlicedTip (i :: Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') x where
- LimesSlicedTip :: forall (i :: Type -> Type) x s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N'). Sliced i x => i x -> Limes s p t n m x -> LimesSlicedTip i s p t n m x
- lstLimes :: forall (i :: Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') x. LimesSlicedTip i s p t n m x -> Limes s p t n m x
- slfTerminalPoint :: forall x (i :: Type -> Type). (Multiplicative x, Sliced i x) => TerminalPoint (SliceFactor 'To i x)
- slfPullback :: forall x (n :: N') (i :: Type -> Type). Multiplicative x => Products n (SliceFactor 'To i x) -> DiagramSlicedCenter i 'To (n + 1) n x -> Pullback n x
- slfLimitsInjective :: forall x (i :: Type -> Type) (t :: DiagramType) (n :: N') (m :: N'). (Multiplicative x, Sliced i x) => Limits Mlt 'Injective t n m x -> Limits Mlt 'Injective t n m (SliceFactor 'To i x)
- xSliceTo :: Sliced i x => XOrtSite 'To x -> i x -> X (Slice 'To i x)
- xSliceFrom :: Sliced i x => XOrtSite 'From x -> i x -> X (Slice 'From i x)
- xosXOrtSiteToSliceFactorTo :: (Multiplicative x, Sliced i x) => XOrtSite 'To x -> i x -> XOrtSite 'To (SliceFactor 'To i x)
- xosXOrtSiteFromSliceFactorFrom :: (Multiplicative x, Sliced i x) => XOrtSite 'From x -> i x -> XOrtSite 'From (SliceFactor 'From i x)
- xosAdjTerminal :: forall x (i :: Type -> Type). (Multiplicative x, Sliced i x) => Q -> XOrtSite 'To (SliceFactor 'To i x) -> XOrtSite 'To (SliceFactor 'To i x)
Slice
data Slice (s :: Site) (i :: Type -> Type) x where Source #
slice over x by a given Site and indexed by i.
Constructors
| SliceFrom :: forall (i :: Type -> Type) x. i x -> x -> Slice 'From i x | |
| SliceTo :: forall (i :: Type -> Type) x. i x -> x -> Slice 'To i x |
Instances
slSiteType :: forall (s :: Site) (i :: Type -> Type) x. Slice s i x -> Either (s :~: 'From) (s :~: 'To) Source #
the Site type of a slice.
slMap :: forall (i :: Type -> Type) h (s :: Site) x y. (HomSlicedOriented i h, s ~ Dual (Dual s)) => h x y -> SDualBi (Slice s i) x -> SDualBi (Slice s i) y Source #
mapping of slices.
slMapCov :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedOriented i h => Variant2 'Covariant h x y -> Slice s i x -> Slice s i y Source #
mapping of slices under a covariant homomorphism.
Note As is generated by IsoO Ort OptoDualOpOrt and
its inverse, the slicePoint is invariant under these mappings and as such
slMapCov maps valid slices to valid slices.
slMapCnt :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedOriented i h => Variant2 'Contravariant h x y -> Slice s i x -> Slice (Dual s) i y Source #
mapping of slices under a contravariant homomorphism.
Factor
data SliceFactor (s :: Site) (i :: Type -> Type) x Source #
factor between two slices.
Property Let SliceFactor a b f be in
for a SliceFactor s i xMultiplicative structure x
constrained by then holds:Sliced i x
Constructors
| SliceFactor (Slice s i x) (Slice s i x) x |
Instances
slfFactor :: forall (s :: Site) (i :: Type -> Type) x. SliceFactor s i x -> x Source #
the underlying factor.
slfMap :: forall (i :: Type -> Type) h (s :: Site) x y. (HomSlicedMultiplicative i h, s ~ Dual (Dual s)) => h x y -> SDualBi (SliceFactor s i) x -> SDualBi (SliceFactor s i) y Source #
mapping of slices factor.
slfMapCov :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedMultiplicative i h => Variant2 'Covariant h x y -> SliceFactor s i x -> SliceFactor s i y Source #
mapping of slices factor under a covariant homomorphism.
slfMapCnt :: forall (i :: Type -> Type) (h :: Type -> Type -> Type) x y (s :: Site). HomSlicedMultiplicative i h => Variant2 'Contravariant h x y -> SliceFactor s i x -> SliceFactor (Dual s) i y Source #
mapping of slices factor under a contravariant homomorphism.
Duality
toDualOpOrtSld :: forall (i :: Type -> Type) x. Sliced i x => Variant2 'Contravariant (IsoO (Ort, Sld i) Op) x (Op x) Source #
toDualOpOrtSld' :: forall (i :: Type -> Type) x q. Sliced i x => q i -> Variant2 'Contravariant (IsoO (Ort, Sld i) Op) x (Op x) Source #
toDualOpMltSld :: forall (i :: Type -> Type) x. (Sliced i x, Multiplicative x) => Variant2 'Contravariant (IsoO (Mlt, Sld i) Op) x (Op x) Source #
contravariant isomorphism on Sliced Multiplicative structures.
toDualOpMltSld' :: forall (i :: Type -> Type) x q. (Sliced i x, Multiplicative x) => q i -> Variant2 'Contravariant (IsoO (Mlt, Sld i) Op) x (Op x) Source #
contravariant isomorphism on Sliced Multiplicative structures according to the proxy type.
Hom
data SliceFactorDrop (s :: Site) x y where Source #
dropping a slice factor.
Constructors
| SliceFactorFromDrop :: forall y (i :: Type -> Type). (Multiplicative y, Sliced i y) => SliceFactorDrop 'From (SliceFactor 'From i y) y | |
| SliceFactorToDrop :: forall y (i :: Type -> Type). (Multiplicative y, Sliced i y) => SliceFactorDrop 'To (SliceFactor 'To i y) y |
Instances
Limes
data DiagramSlicedCenter (i :: Type -> Type) (t :: Site) (n :: N') (m :: N') x where Source #
predicate for a diagram with center Star tPoint given by the index type
i x.
Property Let be in
DiagramSlicedCenter i d then holds:
DiagramSlicedCenter i t n m x.slicePoint i == dgCenter d
Constructors
| DiagramSlicedCenter :: forall (i :: Type -> Type) x (t :: Site) (n :: N') (m :: N'). Sliced i x => i x -> Diagram ('Star t) n m x -> DiagramSlicedCenter i t n m x |
Instances
| Oriented x => Show (DiagramSlicedCenter i t n m x) Source # | |
Defined in OAlg.Entity.Slice.Definition Methods showsPrec :: Int -> DiagramSlicedCenter i t n m x -> ShowS # show :: DiagramSlicedCenter i t n m x -> String # showList :: [DiagramSlicedCenter i t n m x] -> ShowS # | |
| Oriented x => Validable (DiagramSlicedCenter i t n m x) Source # | |
Defined in OAlg.Entity.Slice.Definition Methods valid :: DiagramSlicedCenter i t n m x -> Statement Source # | |
data LimesSlicedTip (i :: Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') x where Source #
predicate for a limes with a sliced tip of the universal cone.
Property Let be in
LimesSlicedTip i l then holds:
LimesSlicedTip i s p t n m x.tip (universalCone l) == slicePoint i
Constructors
| LimesSlicedTip :: forall (i :: Type -> Type) x s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N'). Sliced i x => i x -> Limes s p t n m x -> LimesSlicedTip i s p t n m x |
Instances
| Oriented x => Show (LimesSlicedTip i s p t n m x) Source # | |
Defined in OAlg.Entity.Slice.Definition Methods showsPrec :: Int -> LimesSlicedTip i s p t n m x -> ShowS # show :: LimesSlicedTip i s p t n m x -> String # showList :: [LimesSlicedTip i s p t n m x] -> ShowS # | |
| (Oriented x, XStandardEligibleCone s p t n m x, XStandardEligibleConeFactor s p t n m x, Typeable t, Typeable n, Typeable m) => Validable (LimesSlicedTip i s p t n m x) Source # | |
Defined in OAlg.Entity.Slice.Definition Methods valid :: LimesSlicedTip i s p t n m x -> Statement Source # | |
lstLimes :: forall (i :: Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') x. LimesSlicedTip i s p t n m x -> Limes s p t n m x Source #
the underlying limes.
Projective
slfTerminalPoint :: forall x (i :: Type -> Type). (Multiplicative x, Sliced i x) => TerminalPoint (SliceFactor 'To i x) Source #
terminal point for factors sliced to a Point.
slfPullback :: forall x (n :: N') (i :: Type -> Type). Multiplicative x => Products n (SliceFactor 'To i x) -> DiagramSlicedCenter i 'To (n + 1) n x -> Pullback n x Source #
the induced pullback.
Injective
slfLimitsInjective :: forall x (i :: Type -> Type) (t :: DiagramType) (n :: N') (m :: N'). (Multiplicative x, Sliced i x) => Limits Mlt 'Injective t n m x -> Limits Mlt 'Injective t n m (SliceFactor 'To i x) Source #
X
xSliceTo :: Sliced i x => XOrtSite 'To x -> i x -> X (Slice 'To i x) Source #
the induced random variable.
xSliceFrom :: Sliced i x => XOrtSite 'From x -> i x -> X (Slice 'From i x) Source #
the induced random variable.
xosXOrtSiteToSliceFactorTo :: (Multiplicative x, Sliced i x) => XOrtSite 'To x -> i x -> XOrtSite 'To (SliceFactor 'To i x) Source #
the induced random variable.
xosXOrtSiteFromSliceFactorFrom :: (Multiplicative x, Sliced i x) => XOrtSite 'From x -> i x -> XOrtSite 'From (SliceFactor 'From i x) Source #
the induced random variable.
xosAdjTerminal :: forall x (i :: Type -> Type). (Multiplicative x, Sliced i x) => Q -> XOrtSite 'To (SliceFactor 'To i x) -> XOrtSite 'To (SliceFactor 'To i x) Source #
adjoins a terminal point with the given probability to the random variable of the points of
the given of the XOrtSite To. Such a terminal point is given
by SliceFactor To i x where one ss is the slice point.