A structure of 2-term operation combine and 1-term operation invert, which must satisfy following conditions except zero element:

  • Associative: for all x, y and z; combine(combine(x, y), z) equals to combine(x, combine(y, z)).
  • Identity: for all x; combine(x, identity) equals to combine(identity, x) and x.
  • Inverse: for all x; combine(x, invert(x)) equals to combine(invert(x), x) and identity.

Type Parameters

  • G

Hierarchy

Properties

[semiGroupSymbol]: true
combine: ((l, r) => G)

Type declaration

    • (l, r): G
    • Parameters

      • l: G
      • r: G

      Returns G

identity: G
invert: ((g) => Option<G>)

Type declaration

Generated using TypeDoc