Text this: Logic based program synthesis and transformation :