| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Hom.Definition
Description
basic definitions of homomorphisms.
Synopsis
- newtype HomDisj s (o :: Type -> Type) (h :: Type -> Type -> Type) x y = HomDisj (SHom s s o h x y)
- homDisj :: forall h s x y (o :: Type -> Type). (Morphism h, Transformable (ObjectClass h) s) => h x y -> Variant2 'Covariant (HomDisj s o h) x y
- type HomDisjEmpty s (o :: Type -> Type) = HomDisj s o (HomEmpty s)
- type IsoHomDisj s (o :: Type -> Type) (h :: Type -> Type -> Type) = Inv2 (HomDisj s o h)
- isoHomDisj :: forall (h :: Type -> Type -> Type) o s x. (Morphism h, TransformableGRefl o s) => Struct s x -> Variant2 'Contravariant (IsoHomDisj s o h) x (o x)
- isoHomDisj' :: forall (h :: Type -> Type -> Type) o s q x. (Morphism h, TransformableGRefl o s) => q h -> Struct s x -> Variant2 'Contravariant (IsoHomDisj s o h) x (o x)
- type IsoO r (o :: Type -> Type) = Inv2 (HomDisjEmpty r o)
- toDualO :: TransformableGRefl o r => Struct r x -> Variant2 'Contravariant (IsoO r o) x (o x)
- toDualO' :: TransformableGRefl o r => q o -> Struct r x -> Variant2 'Contravariant (IsoO r o) x (o x)
- type ReflO r (o :: Type -> Type) x = Variant2 'Covariant (IsoO r o) x (o (o x))
- reflO :: TransformableGRefl o r => Struct r x -> Variant2 'Covariant (IsoO r o) x (o (o x))
- data HomEmpty s x y
- fromHomEmpty :: HomEmpty s a b -> x
- data HomId s x y where
- type family Hom s (h :: Type -> Type -> Type)
- type family HomD s (h :: Type -> Type -> Type)
- xscmHomDisj :: forall (o :: Type -> Type) s (h :: Type -> Type -> Type). (TransformableG o s s, Morphism h, Transformable (ObjectClass h) s) => X (SomeObjectClass (SHom s s o h)) -> X (SomeMorphism h) -> X (SomeCmpb2 (HomDisj s o h))
Disjunctive
newtype HomDisj s (o :: Type -> Type) (h :: Type -> Type -> Type) x y Source #
disjunctive family of homomorphsims.
Instances
homDisj :: forall h s x y (o :: Type -> Type). (Morphism h, Transformable (ObjectClass h) s) => h x y -> Variant2 'Covariant (HomDisj s o h) x y Source #
canonical embedding of a h into HomDisj as a covariant morphism.
Contravariant Isomorphism
type IsoHomDisj s (o :: Type -> Type) (h :: Type -> Type -> Type) = Inv2 (HomDisj s o h) Source #
type for contravariant isomorphism of .HomDisj s o h x (o x)
isoHomDisj :: forall (h :: Type -> Type -> Type) o s x. (Morphism h, TransformableGRefl o s) => Struct s x -> Variant2 'Contravariant (IsoHomDisj s o h) x (o x) Source #
contravariant isomorphism for .HomDisj s o h x (o x)
isoHomDisj' :: forall (h :: Type -> Type -> Type) o s q x. (Morphism h, TransformableGRefl o s) => q h -> Struct s x -> Variant2 'Contravariant (IsoHomDisj s o h) x (o x) Source #
contravariant isomorphism for given by the proxy type.HomDisj s o h x (o x)
type IsoO r (o :: Type -> Type) = Inv2 (HomDisjEmpty r o) Source #
the type for o-isomorphisms in the category .HomDisjEmpty r o
toDualO :: TransformableGRefl o r => Struct r x -> Variant2 'Contravariant (IsoO r o) x (o x) Source #
the contravariant to-dual o isomorphism.
toDualO' :: TransformableGRefl o r => q o -> Struct r x -> Variant2 'Contravariant (IsoO r o) x (o x) Source #
the contravariant to-dual o isomorphism.
type ReflO r (o :: Type -> Type) x = Variant2 'Covariant (IsoO r o) x (o (o x)) Source #
the type for covariant reflections.
reflO :: TransformableGRefl o r => Struct r x -> Variant2 'Covariant (IsoO r o) x (o (o x)) Source #
the covariant reflection.
Empty
the empty family of homomorphisms.
Instances
| ApplicativeG Id (HomEmpty s) c Source # | |||||
| ApplicativeG Rt (HomEmpty s) c Source # | |||||
| ApplicativeG Pnt (HomEmpty s) c Source # | |||||
| (TransformableOrt s, TransformableType s, TransformableOp s) => HomSlicedOriented i (Sub (s, Sld i) (HomDisjEmpty s Op)) Source # | |||||
Defined in OAlg.Entity.Slice.Sliced | |||||
| (TransformableOrt s, TransformableType s, TransformableOp s) => HomSlicedOriented i (Sub (s, Sld i) (IsoO s Op)) Source # | |||||
Defined in OAlg.Entity.Slice.Sliced | |||||
| (Transformable s Ort, TransformableOp (s, Sld i)) => HomSlicedOriented i (HomDisjEmpty (s, Sld i) Op) Source # | |||||
Defined in OAlg.Entity.Slice.Sliced | |||||
| TransformableObjectClass OrtX (HomDisj OrtX Op (HomEmpty OrtX)) Source # | |||||
Defined in OAlg.Hom.Definition | |||||
| TransformableGObjectClassDomain Id (HomDisj OrtX Op (HomEmpty OrtX)) EqEOrt Source # | |||||
Defined in OAlg.Hom.Definition | |||||
| TransformableGObjectClassDomain Pnt (HomDisj OrtX Op (HomEmpty OrtX)) EqEOrt Source # | |||||
Defined in OAlg.Hom.Definition | |||||
| Morphism (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Definition Associated Types
Methods homomorphous :: HomEmpty s x y -> Homomorphous (ObjectClass (HomEmpty s)) x y Source # domain :: HomEmpty s x y -> Struct (ObjectClass (HomEmpty s)) x Source # range :: HomEmpty s x y -> Struct (ObjectClass (HomEmpty s)) y Source # | |||||
| Eq2 (HomEmpty s) Source # | |||||
| EqExt (HomEmpty s) Source # | |||||
| Show2 (HomEmpty s) Source # | |||||
| Validable2 (HomEmpty s) Source # | |||||
| HomOrientedSlicedFree (Inv2 (HomFree Dst)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| HomOrientedSlicedFree (Inv2 (HomFree Mlt)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| (TransformableOrt s, TransformableType s, TransformableOp s) => HomOrientedSlicedFree (HomFree s) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| (TransformableFbr s, TransformableAdd s) => HomAdditive (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Additive | |||||
| (TransformableOrt s, TransformableFbr s, TransformableFbrOrt s, TransformableMlt s, TransformableAdd s, TransformableDst s) => HomDistributive (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Distributive | |||||
| TransformableFbr s => HomFibred (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Fibred | |||||
| (TransformableOrt s, TransformableFbr s, TransformableFbrOrt s) => HomFibredOriented (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.FibredOriented | |||||
| TransformableMlt s => HomMultiplicative (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Multiplicative | |||||
| TransformableOrt s => HomOriented (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Oriented.Definition | |||||
| (NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'LeftToRight) N2 N1, NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'RightToLeft) N2 N1, p ~ Dual (Dual p), t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConeLiftable s p d t n m)) (Inv2 (HomFree s)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free Methods amapG :: Inv2 (HomFree s) x y -> SDualBi (ConeLiftable s p d t n m) x -> SDualBi (ConeLiftable s p d t n m) y Source # | |||||
| p ~ Dual (Dual p) => ApplicativeG (SDualBi (LiftableFree p)) (Inv2 (HomFree Dst)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free Methods amapG :: Inv2 (HomFree Dst) x y -> SDualBi (LiftableFree p) x -> SDualBi (LiftableFree p) y Source # | |||||
| p ~ Dual (Dual p) => ApplicativeG (SDualBi (LiftableFree p)) (Inv2 (HomFree Mlt)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free Methods amapG :: Inv2 (HomFree Mlt) x y -> SDualBi (LiftableFree p) x -> SDualBi (LiftableFree p) y Source # | |||||
| (NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'LeftToRight) N2 N1, NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'RightToLeft) N2 N1, p ~ Dual (Dual p), t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConeLiftable s p d t n m)) (Inv2 (HomFree s)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Dst)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Mlt)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| Attestable k => HomSlicedOriented (Free k) (Sub (Dst, SldFr) (HomDisjEmpty Dst Op)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| Transformable s Typ => EqExt (HomDisjEmpty s Op) Source # | |||||
Defined in OAlg.Hom.Definition Methods (.=.) :: HomDisjEmpty s Op x y -> HomDisjEmpty s Op x y -> Statement Source # | |||||
| FunctorialOriented (Sub (Dst, SldFr) (HomDisjEmpty Dst Op)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| FunctorialOriented (Sub (Mlt, SldFr) (HomDisjEmpty Mlt Op)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| Transformable (s, Sld i) s => TransformableObjectClass (s, Sld i) (HomDisjEmpty s Op) Source # | |||||
Defined in OAlg.Entity.Slice.Sliced | |||||
| TransformableObjectClass (Dst, SldFr) (HomDisj Dst Op (HomEmpty Dst)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| TransformableObjectClass (Mlt, SldFr) (HomDisj Mlt Op (HomEmpty Mlt)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| Show (HomEmpty s x y) Source # | |||||
| Eq (HomEmpty s x y) Source # | |||||
| Validable (HomEmpty s x y) Source # | |||||
| type ObjectClass (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Definition | |||||
fromHomEmpty :: HomEmpty s a b -> x Source #
the empty map.
Id
data HomId s x y where Source #
isomorphisms for mappings between x and and vice versa.Id x
Constructors
| ToId :: forall s x. (Structure s x, Structure s (Id x)) => HomId s x (Id x) | |
| FromId :: forall s y. (Structure s y, Structure s (Id y)) => HomId s (Id y) y |
Instances
| ApplicativeG Id (HomId s) (->) Source # | |||||
| ApplicativeG Pnt (HomId s) (->) Source # | |||||
| Morphism (HomId s) Source # | |||||
Defined in OAlg.Hom.Definition Associated Types
Methods homomorphous :: HomId s x y -> Homomorphous (ObjectClass (HomId s)) x y Source # domain :: HomId s x y -> Struct (ObjectClass (HomId s)) x Source # range :: HomId s x y -> Struct (ObjectClass (HomId s)) y Source # | |||||
| Show2 (HomId s) Source # | |||||
| TransformableOrt s => HomOriented (HomId s) Source # | |||||
Defined in OAlg.Hom.Oriented.Definition | |||||
| Show (HomId s x y) Source # | |||||
| type ObjectClass (HomId s) Source # | |||||
Defined in OAlg.Hom.Definition | |||||
Hom
type family Hom s (h :: Type -> Type -> Type) Source #
homomorphisms parameterized over s.
Instances
| type Hom Dst h Source # | |
Defined in OAlg.Hom.Distributive | |
| type Hom Mlt h Source # | |
Defined in OAlg.Hom.Multiplicative | |
type family HomD s (h :: Type -> Type -> Type) Source #
disjunctive homomorphisms parameterized over s.
Instances
| type HomD Dst h Source # | |
Defined in OAlg.Hom.Distributive | |
| type HomD Mlt h Source # | |
Defined in OAlg.Hom.Multiplicative | |
X
xscmHomDisj :: forall (o :: Type -> Type) s (h :: Type -> Type -> Type). (TransformableG o s s, Morphism h, Transformable (ObjectClass h) s) => X (SomeObjectClass (SHom s s o h)) -> X (SomeMorphism h) -> X (SomeCmpb2 (HomDisj s o h)) Source #
random variable for some composable HomDisj.