Loosely, a algebraic structure is a structure on a set, or more
generally a type, consists of additional mathematical objects that in some
manner attach (or are related) to the set, making it easier to visualize or
work with, or endowing the collection with semantic meaning or significance.
An algebraic structure, more strictly, corresponds to a one or more
sets of values closed under one or more finitary (finite number of input and
output values) functions and relations which are defined on it.
From a programming perspective an algebraic structure corresponds either to a
programming class or an object instance consisting of a
definition of, or the actual set of attributes and the (necessarily) finitary
operations defined on those attributes. [No true infinite structures can ever
be implemented in computing since that would imply infinite space, time
and/or energy which does not exist in this universe. -NCT]
This interface represents a contract for set of predicates and functions that
can be used to determine the nature of and manipulate basic algebraic
properties of this structure.