Package

spire.algebra

partial

Permalink

package partial

Visibility
  1. Public
  2. All

Type Members

  1. trait Groupoid[A] extends Semigroupoid[A]

    Permalink

    A groupoid is a semigroupoid where inverse are defined for all elements, and thus left and right identity elements such that:

    A groupoid is a semigroupoid where inverse are defined for all elements, and thus left and right identity elements such that:

    (i) (leftId(g) |+|? g).get === g (ii) (g |+|? rightId(g)).get === g (iii) a.inverse |+|? a and a |+|? a.inverse are always defined (iv) if a |+|? b, then ((a |+|? b).get |+|? b.inverse).get === a and ((a.inverse |+|? a).get |+|? b) === b

  2. trait GroupoidLowPriority extends AnyRef

    Permalink
  3. trait LeftPartialAction[P, G] extends Any

    Permalink

    A left partial action of a semigroupoid G on P is the implementation of a method partialActl(g, p), or g ?|+|> p returning Opt[P], such that:

    A left partial action of a semigroupoid G on P is the implementation of a method partialActl(g, p), or g ?|+|> p returning Opt[P], such that:

    1. for all g, h in G, p in P such that g |+|? h and h ?|+|> p are defined,

    ((g |+|? h).get ?|+|> p).get === (g ?|+|> (h ?|+|> p).get).get with all operations defined.

    In addition, if G is a partial monoid, the following relation holds:

    2. for all g in G and p in P such that g ?|+|> p is defined:

    (g.rightId ?|+|> p).get === p, the operation ?|+|> being defined.

  4. trait PartialAction[P, G] extends LeftPartialAction[P, G] with RightPartialAction[P, G]

    Permalink

    A partial action is the combination of left and right partial actions, providing:

    A partial action is the combination of left and right partial actions, providing:

    - a method partialActl(g, p), or g ?|+|> p returning Opt[P], such that:

    1. for all g, h in G, p in P such that g |+|? h and h ?|+|> p are defined,

    ((g |+|? h).get ?|+|> p).get === (g ?|+|> (h ?|+|> p).get).get with all operations defined.

    • a method partialActr(p, g), or p <|+|? g returning Opt[P], such that:

    2. for all g, h in G, p in P such that g |+|? h and p <|+|? g are defined,

    (p <|+|? (g |+|? h).get).get === ((p <|+|? g).get |+|? h).get, and all operations are defined.

    In addition, if G is a groupoid, the following relations holds:

    3. for all g in G and p in P such that g ?|+|> p is defined:

    (g.rightId ?|+|> p).get === p, the operation ?|+|> being defined.

    4. for all g in G and p in P such that p <|+|? g is defined:

    (p <|+|? g.leftId).get === p, the operation <|+|? being defined.

    5. for all g in G and p in P such that g ?|+|> p is defined:

    (g ?|+|> p).get === (p <|+|? g.inverse).get

  5. trait RightPartialAction[P, G] extends Any

    Permalink

    A right partial action of a semigroupoid G on P is the implementation of a method partialActr(p, g), or p <|+|? g returning Opt[P], such that:

    A right partial action of a semigroupoid G on P is the implementation of a method partialActr(p, g), or p <|+|? g returning Opt[P], such that:

    1. for all g, h in G, p in P such that g |+|? h and p <|+|? g are defined,

    (p <|+|? (g |+|? h).get).get === ((p <|+|? g).get |+|? h).get, and all operations are defined.

    In addition, if G is a partial monoid, the following relation holds:

    2. for all g in G and p in P such that p <|+|? g is defined:

    (p <|+|? g.leftId).get === p, the operation <|+|? being defined.

  6. trait Semigroupoid[A] extends Any

    Permalink

    A semigroupoid is any set A with a partial binary associative operation (partialOp), which is associative in the following sense: if f,g,h are elements of the semigroupoid such that either: (i) f |+|? g is defined and g |+|? h is defined (ii) f |+|? g is defined and (f |+|? g).get |+|? h is defined (iii) g |+|? h is defined and f |+|? (g |+|? h).get is defined

    A semigroupoid is any set A with a partial binary associative operation (partialOp), which is associative in the following sense: if f,g,h are elements of the semigroupoid such that either: (i) f |+|? g is defined and g |+|? h is defined (ii) f |+|? g is defined and (f |+|? g).get |+|? h is defined (iii) g |+|? h is defined and f |+|? (g |+|? h).get is defined

    then all of f |+|? g, g |+|? h, (f |+|? g).get |+|? h, f |+|? (g |+|? h).get are defined and ((f |+|? g).get |+|? h).get = (f |+|? (g |+|? h).get).get

  7. trait SemigroupoidLowPriority extends AnyRef

    Permalink

Ungrouped