transform_body(X,X) :- var(X),!.
transform_body((A,B),(NA,NB)) :- !, transform_body(A,NA), transform_body(B,NB).
transform_body(if(A, B, C), if(NA,NB,NC) ) :- !,
transform_body(A,NA), transform_body(B,NB), transform_body(C,NC).
transform_body((A -> B), (NA -> NB) ) :- !,
transform_body(A,NA), transform_body(B,NB).
transform_body(';'(A, B), (NA ; NB) ) :- !,
transform_body(A,NA), transform_body(B,NB).
transform_body(\+(A), \+(NA) ) :- !,
transform_body(A,NA).
transform_body(findall(A, B, C), findall(A,NB,C) ) :- !,
transform_body(B,NB).
transform_body(pp_mnf(Call), Call) :- write(strip(Call)),!.
transform_body(pp_cll(Call), Call) :- !.
transform_body(mnf(Call), Call) :- !.
transform_body(debug_print(_),true) :- !.
transform_body(debug_print(_,_),true) :- !.
transform_body(debug_nl,true) :- !.
transform_body(debug_nl(_),true) :- !.
transform_body(debug_println(_),true) :- !.
transform_body(debug_println(_,_),true) :- !.
transform_body(X,X).