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 |+|? a
anda |+|? a.inverse
are always defined (iv) ifa |+|? b
, then((a |+|? b).get |+|? b.inverse).get === a
and((a.inverse |+|? a).get |+|? b) === b