if (clauseB && clauseC)
predicateA = true;
else
predicateA = false;
which is clearly an "if". Or you could write it as: predicateA = claseB && clauseC;
which is not an "if" at all, but just a boolean calculation. (Unless you regard all boolean calculations as "if"s in disguise...)The prolog version seems to me to be more in the spirit of the second C version.