Logic Based Program Synthesis And Transformation by Maurice Bruynooghe