noether-0.0.1: Math in Haskell.

Safe HaskellNone
LanguageHaskell2010

Noether.Algebra.Actions.API

Synopsis

Documentation

type CompatibleC lr op act a b = CompatibleK lr op act a b (CompatibleS lr op act a b) Source #

type Compatible lr op act a b = (CompatibleC lr op act a b, Semigroup op a, Acts lr act a b) Source #

type LeftCompatible act ao a b = Compatible L act ao a b Source #

type RightCompatible act ao a b = Compatible R act ao a b Source #

type Acts lr op a b = ActsK lr op a b (ActsS lr op a b) Source #

type LeftActs op a b = Acts L op a b Source #

type RightActs op a b = Acts R op a b Source #

type BiActs op a b = (LeftActs op a b, RightActs op a b) Source #

leftActK :: forall op s a b. ActsK L op a b s => a -> b -> b Source #

rightActK :: forall op s a b. ActsK R op a b s => a -> b -> b Source #

leftAct :: forall op a b. LeftActs op a b => a -> b -> b Source #

rightAct :: forall op a b. RightActs op a b => a -> b -> b Source #

type ActorLinearC lr act ao a bo b = ActorLinearK lr act ao a bo b (ActorLinearS lr act ao a bo b) Source #

(a1 `ao` a2) `act` b = (a1 `act` b) `bo` (a2 `act` b)

type ActeeLinearC lr act a bo b = ActeeLinearK lr act a bo b (ActeeLinearS lr act a bo b) Source #

a `act` (b1 `bo` b2) = (a `act` b1) `bo` (a `act` b2)

type LinearActsOn lr act ao a bo b = (ActorLinearC lr act ao a bo b, ActeeLinearC lr act a bo b, Acts lr act a b, Semigroup ao a, Semigroup bo b) Source #

type LinearActs act ao a bo b = (LinearActsOn L act ao a bo b, LinearActsOn R act ao a bo b) Source #

type LeftLinear act ao a bo b = LinearActsOn L act ao a bo b Source #

type RightLinear act ao a bo b = LinearActsOn R act ao a bo b Source #