The =dead-var-elim= component of the [[Stratego optimizer]] eliminates variables from a strategy expression if they are not used in a build. For example, in the expression { x, y, z : ?F(x, y) ; !y ; ?G(z) ; !H(z, z) } the variable =z= is used in the final build (not dead), and =y= is used in the build needed for the match with =G= (not dead). However, =x= is dead since it does not contribute to the final result. Dead variable elimination removes dead variables by * eliminating them from the scope, and * replacing occurrences in matches with a wildcard Thus, the example reduces to { y, z : ?F(_, y) ; !y ; ?G(z) ; !H(z, z) } Variable only matches (=?x=) with dead variables are turned into wildcard matches (=?_=) and can be cleaned up by a subsequent simplification. -- Main.EelcoVisser - 17 Aug 2003