A derivation in a transformational system such as a graph grammar may be redundant in the sense that the exact order of the transformations may not affect the final outcome; all that matters is that each transformation, when applied, is applied to the correct structure. By taking advantage of this redundancy, we are able to develop an efficient encoding scheme for such derivations. This encoding scheme has a number of diverse applications. It can be used in efficient enumeration of combinatorial objects or for compact representation of program and data structure transformations. It can also be used to derive lower bounds on lengths of derivations. We show for example that omega (n log n) applications of the associative and commutative laws are required in the worst case to transform an n-variable expression over a binary associative and commutative laws are required in the worst case to transform an n-variable expression over a binary associative, commutative operation into some other equivalent expression. Similarly, we show that omega (n log n) diagonal flips are required in the worst case to transform on n-vertex numbered triangulated planar graph into some other one. Both of these lower bounds have matching upper bounds. An O(n log n) upper bound for associative, commutative operations was known previously, whereas we obtain here an O(n log n) upper bound for diagonal flips. (kr).