package jsci.maths.groups;

/**
* This interface defines a semigroup.
* @jsci.planetmath Semigroup
* @version 1.0
* @author Mark Hale
*/
public interface Semigroup {

        /**
        * This interface defines a member of a semigroup.
        */
        interface Member extends jsci.maths.Member {
                /**
                * The semigroup composition law.
                * @param g a semigroup member
                */
                Member compose(Member g);
        }
}


 

Ads help maintain this website.