述語と演算子は別のものです。
演算子とは、data constructorだと考えれば分かりやすいと思います。
prologでのdata constructor(functor)は普通functor(term, ..., term)という形で使用しますが、
演算子として定義したものはそこで定義した形(term functor term等)で使用する
という違いがあります。
functorは要するにdata構造を表現するためのtagですから、その計算を定義しなくても
使用できます。