Interface MultiplicativeSemiGroupTheory<E extends MultiplicativeSemiGroupElement<E>>

All Superinterfaces:
AlgebraicStructureTheory<E>, BasicObjectTheory<E>, ElementTheory<E>, MagmaTheory<E>
All Known Subinterfaces:
AbelianRingTheory<E>, CompleteFieldTheory<E>, CompleteScalarFieldTheory<E>, DivisibleGroupTheory<E>, DivisionRingTheory<E>, FieldTheory<E>, MultiplicativeAbelianGroupTheory<E>, MultiplicativeAbelianSemiGroupTheory<E>, MultiplicativeGroupTheory<E>, MultiplicativeMonoidTheory<E>, RingTheory<E>, RngTheory<E>, ScalarFieldTheory<E>, VectorSpaceTheory<V,S>

public interface MultiplicativeSemiGroupTheory<E extends MultiplicativeSemiGroupElement<E>> extends MagmaTheory<E>
Since:
0.4
Author:
Michiel Meeuwissen
  • Method Details

    • multiplicativeSemiGroupOperators

      @Property default void multiplicativeSemiGroupOperators(@ForAll("structure") MultiplicativeSemiGroup<E> s)
    • multiplicationCommutativity

      @Property default void multiplicationCommutativity(@ForAll("structure") MultiplicativeSemiGroup<E> s)
    • multiplicativeAssociativity

      @Property default void multiplicativeAssociativity(@ForAll("elements") E v1, @ForAll("elements") E v2, @ForAll("elements") E v3)
    • pow1

      @Property default void pow1(@ForAll("elements") E v1)
    • pow2

      @Property default void pow2(@ForAll("elements") E v1)
    • pow3

      @Property default void pow3(@ForAll("elements") E v1)
    • pow0

      @Property default void pow0(@ForAll("elements") E v1)
    • powNegative1

      @Property @Label("powNegative1 semigroup") default void powNegative1(@ForAll("elements") E v1)
    • powNegative2

      @Property @Label("powNegative2 semigroup") default void powNegative2(@ForAll("elements") E v1)
    • powNegative3

      @Property @Label("powNegative3 semigroup") default void powNegative3(@ForAll("elements") E v1)
    • sqr

      @Property default void sqr(@ForAll("elements") E v)