Evolutionary Algorithms have been used with much success for the automatic generation of programs. In particular, Koza's [Koza 92] Genetic Programming has enjoyed considerable popularity and widespread use. Koza originally employed Lisp as his target language, however, many experimenters generate a home grown language, peculiar to their particular problem.

Grammatical Evolution (GE) can be used to generate programs in any language,
using Backus Naur Form definitions we allow a genetic algorithm to control what
production rules are used. GE has proved successful [Ryan 98] when applied to a symbolic regression problem from the literature [Koza 92]. Here we apply GE to another problem, that of, finding trigonometric identities. The goal is to discover a new mathematical expression that is equivalent to the target expression. In this case we successfully attempt to find the 1-2*Sin*^{2}*x* symbolic identity for .