| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Limes.Exact.ConsecutiveZero
Description
chain diagrams with consecutive zero arrows.
Synopsis
- newtype ConsecutiveZero (t :: Site) (n :: N') x = ConsecutiveZero (Diagram ('Chain t) (n + 3) (n + 2) x)
- cnzSite :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> Either (t :~: 'From) (t :~: 'To)
- cnzDiagram :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> Diagram ('Chain t) (n + 3) (n + 2) x
- cnzPoints :: forall x (t :: Site) (n :: N'). Oriented x => ConsecutiveZero t n x -> FinList (n + 3) (Point x)
- cnzArrows :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> FinList (n + 2) x
- cnzHead :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZero t n x -> ConsecutiveZero t N0 x
- cnzTail :: forall d (t :: Site) (n :: N'). Distributive d => ConsecutiveZero t (n + 1) d -> ConsecutiveZero t n d
- cnzMapS :: forall h (t :: Site) x y (n :: N'). (HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (ConsecutiveZero t n) x -> SDualBi (ConsecutiveZero t n) y
- cnzMapCov :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Covariant h x y -> ConsecutiveZero t n x -> ConsecutiveZero t n y
- cnzMapCnt :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Contravariant h x y -> ConsecutiveZero t n x -> ConsecutiveZero (Dual t) n y
- newtype ConsecutiveZeroHom (t :: Site) (n :: N') x = ConsecutiveZeroHom (DiagramTrafo ('Chain t) (n + 3) (n + 2) x)
- cnzHomSite :: forall (t :: Site) (n :: N') x. ConsecutiveZeroHom t n x -> Either (t :~: 'From) (t :~: 'To)
- cnzHomArrows :: forall (t :: Site) (n :: N') x. ConsecutiveZeroHom t n x -> FinList (n + 3) x
- cnzHomHead :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZeroHom t n x -> ConsecutiveZeroHom t N0 x
- cnzHomTail :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZeroHom t (n + 1) x -> ConsecutiveZeroHom t n x
- cnzHomMapS :: forall h (t :: Site) x y (n :: N'). (HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (ConsecutiveZeroHom t n) x -> SDualBi (ConsecutiveZeroHom t n) y
- cnzHomMapCov :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Covariant h x y -> ConsecutiveZeroHom t n x -> ConsecutiveZeroHom t n y
- cnzHomMapCnt :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Contravariant h x y -> ConsecutiveZeroHom t n x -> ConsecutiveZeroHom (Dual t) n y
- xSomeConsecutiveZeroHomOrnt :: N -> X (SomeConsecutiveZeroHom OS)
- data SomeConsecutiveZeroHom x where
- SomeConsecutiveZeroHom :: forall (t :: Site) (n :: N') x. (Typeable t, Attestable n) => ConsecutiveZeroHom t n x -> SomeConsecutiveZeroHom x
Consecutive Zero
newtype ConsecutiveZero (t :: Site) (n :: N') x Source #
chain diagrams with consecutive zero arrows.
Properties Let be in ConsecutiveZero c
for a ConsecutiveZero t n xDistributive structure x, then holds:
- If
cmatchesthen holds:DiagramChainTo_ dsdis*d'zerofor all..din:|d'..ds. - If
cmatchesthen holds:DiagramChainFrom_ dsd'is*dzerofor all..din:|d'..ds.
Constructors
| ConsecutiveZero (Diagram ('Chain t) (n + 3) (n + 2) x) |
Instances
cnzSite :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> Either (t :~: 'From) (t :~: 'To) Source #
cnzDiagram :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> Diagram ('Chain t) (n + 3) (n + 2) x Source #
the underlying chain diagram.
cnzPoints :: forall x (t :: Site) (n :: N'). Oriented x => ConsecutiveZero t n x -> FinList (n + 3) (Point x) Source #
the points according to its underlying diagram.
cnzArrows :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> FinList (n + 2) x Source #
the arrows according to its underlying diagram.
cnzHead :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZero t n x -> ConsecutiveZero t N0 x Source #
the two first arrows as a ConsecutiveZero.
cnzTail :: forall d (t :: Site) (n :: N'). Distributive d => ConsecutiveZero t (n + 1) d -> ConsecutiveZero t n d Source #
dropping the first arrow.
Duality
cnzMapS :: forall h (t :: Site) x y (n :: N'). (HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (ConsecutiveZero t n) x -> SDualBi (ConsecutiveZero t n) y Source #
mapping of ConsecutiveZero.
cnzMapCov :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Covariant h x y -> ConsecutiveZero t n x -> ConsecutiveZero t n y Source #
covariant mapping of ConsecutiveZero.
cnzMapCnt :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Contravariant h x y -> ConsecutiveZero t n x -> ConsecutiveZero (Dual t) n y Source #
contravariant mapping of ConsecutiveZero.
Consecutive Zero Hom
newtype ConsecutiveZeroHom (t :: Site) (n :: N') x Source #
homomorphism between two consecutive zero chains.
Property Let be in ConsecutiveZeroHom t within a
ConsecutiveZeroHom t n xDistributive structure x, then holds
Constructors
| ConsecutiveZeroHom (DiagramTrafo ('Chain t) (n + 3) (n + 2) x) |
Instances
cnzHomSite :: forall (t :: Site) (n :: N') x. ConsecutiveZeroHom t n x -> Either (t :~: 'From) (t :~: 'To) Source #
cnzHomArrows :: forall (t :: Site) (n :: N') x. ConsecutiveZeroHom t n x -> FinList (n + 3) x Source #
the underlying arrows.
cnzHomHead :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZeroHom t n x -> ConsecutiveZeroHom t N0 x Source #
the first two arrows of the given ConsecutiveZeroHom.
cnzHomTail :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZeroHom t (n + 1) x -> ConsecutiveZeroHom t n x Source #
dropping the first arrow.
Duality
cnzHomMapS :: forall h (t :: Site) x y (n :: N'). (HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (ConsecutiveZeroHom t n) x -> SDualBi (ConsecutiveZeroHom t n) y Source #
mapping of ConsecutiveZeroHom.
cnzHomMapCov :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Covariant h x y -> ConsecutiveZeroHom t n x -> ConsecutiveZeroHom t n y Source #
covariant mapping of ConsecutiveZeroHom.
cnzHomMapCnt :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Contravariant h x y -> ConsecutiveZeroHom t n x -> ConsecutiveZeroHom (Dual t) n y Source #
contravariant mapping of ConsecutiveZeroHom.
X
xSomeConsecutiveZeroHomOrnt :: N -> X (SomeConsecutiveZeroHom OS) Source #
random variable for with a maximal ConsecutiveZeroHom t n OSn of the given one.
data SomeConsecutiveZeroHom x where Source #
some ConsecutiveZeroHom.
Constructors
| SomeConsecutiveZeroHom :: forall (t :: Site) (n :: N') x. (Typeable t, Attestable n) => ConsecutiveZeroHom t n x -> SomeConsecutiveZeroHom x |
Instances
| Distributive x => Validable (SomeConsecutiveZeroHom x) Source # | |
Defined in OAlg.Limes.Exact.ConsecutiveZero Methods valid :: SomeConsecutiveZeroHom x -> Statement Source # | |