Horn clauses as an intermediate representation for program analysis and transformation*. Issue 4 (3rd September 2015)