Interface Loop<E>

All Superinterfaces:
Magma<E>, Set<E>

public interface Loop<E> extends Magma<E>
A Loop is a Quasigroup with an identity element.

A Quasigroup is a Magma where division is always possible (Latin Square property). A Loop adds the requirement of a neutral element (identity). Unlike Groups, Loops are not required to be associative.

Mathematical Definition

A loop (L, ·) is a set L with a binary operation · such that:

  • For every a, b ∈ L, there exist unique x, y ∈ L such that a · x = b and y · a = b.
  • There exists an identity element e ∈ L such that a · e = a and e · a = a for all a ∈ L.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • identity

      E identity()
      Returns the identity element of the loop.
      Returns:
      the identity element e
    • leftDivide

      E leftDivide(E a, E b)
      Left division. Returns the unique x such that a · x = b. Often denoted as a \ b.
      Parameters:
      a - the left operand
      b - the result
      Returns:
      x such that a · x = b
    • rightDivide

      E rightDivide(E a, E b)
      Right division. Returns the unique y such that y · a = b. Often denoted as b / a.
      Parameters:
      a - the right operand
      b - the result
      Returns:
      y such that y · a = b