Abstract
An important component of mechanical theorem proving systems are unification algorithms which find most general substitutions which, when applied to two expressions, make them equivalent. Functions which are associative and commutative (such as the arithmetic addition and multiplication functions) are often the subject of mechanical theorem proving. An algorithm which unifies terms whose function is associative and commutative is presented here. The algorithm eliminates the need for axiomatizing the associativity and commutativity properties and returns a complete set of unifiers without recourse to the indefinite generation of variants and instances of the terms unified required by previous solutions to the problem.