A groupoid is a semigroupoid where inverse are defined for all elements, and thus left and right identity elements 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:
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.
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.
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
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.
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
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 |+|? aanda |+|? a.inverseare always defined (iv) ifa |+|? b, then((a |+|? b).get |+|? b.inverse).get === aand((a.inverse |+|? a).get |+|? b) === b