Design and implementation of a language for manipulating algebraic formulae. - J. M. Officer (1972)