Knuth-Bendix completion algorithm