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.Definition

Description

introducing the idiom of Structures as parameterized constraints.

Synopsis

Structure

type family Structure s x :: Constraint Source #

parameterized constraint for a type x.

Instances

Instances details
type Structure Bol x Source # 
Instance details

Defined in OAlg.Data.Boolean.Definition

type Structure Bol x = Boolean x
type Structure Ent x Source # 
Instance details

Defined in OAlg.Entity.Definition

type Structure Ent x = Entity x
type Structure Abl x Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

type Structure Abl x = Abelian x
type Structure Add x Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

type Structure Ord' x Source # 
Instance details

Defined in OAlg.Structure.Definition

type Structure Ord' x = Ord x
type Structure Typ x Source # 
Instance details

Defined in OAlg.Structure.Definition

type Structure Dst x Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

type Structure Fbr x Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

type Structure Fbr x = Fibred x
type Structure FbrOrt x Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

type Structure Mlt x Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

type Structure Ort x Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

type Structure Type x Source # 
Instance details

Defined in OAlg.Structure.Definition

type Structure Type x = ()
type Structure (Alg k) x Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

type Structure (Alg k) x = (Algebraic x, k ~ Scalar x)
type Structure (Vec k) x Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

type Structure (Vec k) x = (Vectorial x, k ~ Scalar x)

data Struct s x where Source #

attest that the type x admits the constrains given by the parameter s.

Constructors

Struct :: Structure s x => Struct s x 

Instances

Instances details
Transformable s Typ => TestEquality (Struct s :: Type -> Type) Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

testEquality :: forall (a :: k) (b :: k). Struct s a -> Struct s b -> Maybe (a :~: b) #

Eq1 (Struct s) Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

eq1 :: Struct s x -> Struct s x -> Bool Source #

Show1 (Struct s) Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

show1 :: Struct s x -> String Source #

Singular (Struct s) Source # 
Instance details

Defined in OAlg.Structure.Definition

Validable1 (Struct s) Source # 
Instance details

Defined in OAlg.Data.Validable

Methods

valid1 :: Struct s x -> Statement Source #

Show (Struct s x) Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

showsPrec :: Int -> Struct s x -> ShowS #

show :: Struct s x -> String #

showList :: [Struct s x] -> ShowS #

Eq (Struct s x) Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

(==) :: Struct s x -> Struct s x -> Bool #

(/=) :: Struct s x -> Struct s x -> Bool #

Validable (Struct s x) Source # 
Instance details

Defined in OAlg.Data.Validable

Methods

valid :: Struct s x -> Statement Source #

Transformable

class Transformable s t where Source #

transforming structural attests.

Methods

tau :: Struct s x -> Struct t x Source #

Instances

Instances details
Transformable Abl Ent Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

tau :: Struct Abl x -> Struct Ent x Source #

Transformable Abl Add Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

tau :: Struct Abl x -> Struct Add x Source #

Transformable Abl Typ Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

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

Transformable Abl Fbr Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

tau :: Struct Abl x -> Struct Fbr x Source #

Transformable Add Ent Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

tau :: Struct Add x -> Struct Ent x Source #

Transformable Add Typ Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

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

Transformable Add Fbr Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

tau :: Struct Add x -> Struct Fbr x Source #

Transformable Dst Ent Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Ent x Source #

Transformable Dst Add Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Add x Source #

Transformable Dst Typ Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

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

Transformable Dst Fbr Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Fbr x Source #

Transformable Dst FbrOrt Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct FbrOrt x Source #

Transformable Dst Mlt Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Mlt x Source #

Transformable Dst Ort Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

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

Transformable Fbr Ent Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

tau :: Struct Fbr x -> Struct Ent x Source #

Transformable Fbr Typ Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

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

Transformable FbrOrt Ent Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

tau :: Struct FbrOrt x -> Struct Ent x Source #

Transformable FbrOrt Typ Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

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

Transformable FbrOrt Fbr Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

tau :: Struct FbrOrt x -> Struct Fbr x Source #

Transformable FbrOrt Ort Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

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

Transformable Mlt Ent Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

Methods

tau :: Struct Mlt x -> Struct Ent x Source #

Transformable Mlt Typ Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

Methods

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

Transformable Mlt Ort Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

Methods

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

Transformable Ort Ent Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

Methods

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

Transformable Ort Typ Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

Methods

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

Transformable s Type Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

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

Transformable s s Source # 
Instance details

Defined in OAlg.Structure.Definition

Methods

tau :: Struct s x -> Struct s x Source #

Transformable (Alg k) Ent Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Ent x Source #

Transformable (Alg k) Add Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Add x Source #

Transformable (Alg k) Typ Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Typ x Source #

Transformable (Alg k) Dst Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Dst x Source #

Transformable (Alg k) Fbr Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Fbr x Source #

Transformable (Alg k) FbrOrt Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct FbrOrt x Source #

Transformable (Alg k) Mlt Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Mlt x Source #

Transformable (Alg k) Ort Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Ort x Source #

Transformable (Vec k) Ent Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

tau :: Struct (Vec k) x -> Struct Ent x Source #

Transformable (Vec k) Add Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

tau :: Struct (Vec k) x -> Struct Add x Source #

Transformable (Vec k) Typ Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

tau :: Struct (Vec k) x -> Struct Typ x Source #

Transformable (Vec k) Fbr Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

tau :: Struct (Vec k) x -> Struct Fbr x Source #

Transformable (Alg k) (Vec k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct (Vec k) x Source #

class Transformable1 f s where Source #

transforming structural attests.

Methods

tau1 :: Struct s x -> Struct s (f x) Source #

Instances

Instances details
Transformable1 Op Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau1 :: Struct Dst x -> Struct Dst (Op x) Source #

Transformable1 Op Mlt Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

Methods

tau1 :: Struct Mlt x -> Struct Mlt (Op x) Source #

Transformable1 Op Ort Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

Methods

tau1 :: Struct Ort x -> Struct Ort (Op x) Source #

Transformable1 Op (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau1 :: Struct (Alg k) x -> Struct (Alg k) (Op x) Source #

class Transformable1 Op s => TransformableOp s Source #

helper class to avoid undecidable instances.

Instances

Instances details
TransformableOp Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

TransformableOp Mlt Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

TransformableOp Ort Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

class Transformable s Typ => ForgetfulTyp s Source #

helper class to avoid undecidable instances.

Some Structure Types

data Typ Source #

Typeable structures.

Instances

Instances details
EmbeddableMorphism GLApp Typ Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

EmbeddableMorphism TrApp Typ Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Transformable Abl Typ Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

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

Transformable Add Typ Source # 
Instance details

Defined in OAlg.Structure.Additive.Definition

Methods

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

Transformable Dst Typ Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

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

Transformable Fbr Typ Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

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

Transformable FbrOrt Typ Source # 
Instance details

Defined in OAlg.Structure.Fibred.Definition

Methods

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

Transformable Mlt Typ Source # 
Instance details

Defined in OAlg.Structure.Multiplicative.Definition

Methods

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

Transformable Ort Typ Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

Methods

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

(Semiring r, Commutative r) => EmbeddableMorphism (HomSymbol r) Typ Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

EmbeddableMorphism (SliceFactorDrop s) Typ Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

EmbeddableMorphism h Typ => EmbeddableMorphism (OpHom h) Typ Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

Transformable (Alg k) Typ Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Typ x Source #

Transformable (Vec k) Typ Source # 
Instance details

Defined in OAlg.Structure.Vectorial.Definition

Methods

tau :: Struct (Vec k) x -> Struct Typ x Source #

(Multiplicative c, Sliced i c) => EmbeddableMorphism (SliceCokernelKernel i c) Typ Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

type Structure Typ x Source # 
Instance details

Defined in OAlg.Structure.Definition

data Ord' Source #

type for ordered structures.

Instances

Instances details
type Structure Ord' x Source # 
Instance details

Defined in OAlg.Structure.Definition

type Structure Ord' x = Ord x