Is that an "if", though? In C/C++, you could write that as:
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.