---------------------------------------- |context> => |context: context free grammar> supported-ops |*> => |op: r1> + |op: r2> + |op: r3> + |op: r4> + |op: r5> + |op: r6> + |op: r7> + |op: r8> + |op: random-rule> r1 |*> #=> rewrite(|_self>, |S>, |x>) r2 |*> #=> rewrite(|_self>, |S>, |y>) r3 |*> #=> rewrite(|_self>, |S>, |z>) r4 |*> #=> rewrite(|_self>, |S>, |S + S>) r5 |*> #=> rewrite(|_self>, |S>, |S - S>) r6 |*> #=> rewrite(|_self>, |S>, |S * S>) r7 |*> #=> rewrite(|_self>, |S>, |S / S>) r8 |*> #=> rewrite(|_self>, |S>, |(S)>) random-rule |*> #=> apply(pick-elt the-list-of |rules>, |_self>) supported-ops |rules> => |op: the-list-of> the-list-of |rules> => |op: r1> + |op: r2> + |op: r3> + |op: r4> + |op: r5> + |op: r6> + |op: r7> + |op: r8> ----------------------------------------