Logic-Based Program Synthesis and Transformation - Hutchison, David (Springer Berlin Heidelberg, 2012)