spire.algebra.partial
Type members
Classlikes
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`
- Companion
- object
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.
- Companion
- object
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`
- Companion
- object
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.
- Companion
- object
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:
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
- Companion
- object