pred a : bc
preds a, b, c : bc
pred __<__ : a * a
preds __<__, __==__ : a * a
pred a : ()
preds a, # : ()
pred a()
<=>
%()%
a <=> a;
pred a(a, a : t)
<=>
%()%
a <=> a;
pred a(a : t)
<=>
%()%
a <=> a;