let bool_term_to_predicate t = match t with
  | Fol.Tapp ("gt_int_bool", l) -> Fol.Papp ("gt_int", l)
  | Fol.Tapp ("lt_int_bool", l) -> Fol.Papp ("lt_int", l)
  | Fol.Tapp ("ge_int_bool", l) -> Fol.Papp ("ge_int", l)
  | Fol.Tapp ("le_int_bool", l) -> Fol.Papp ("le_int", l)
  | Fol.Tapp ("eq_int_bool", l) -> Fol.Papp ("eq", l)
  | Fol.Tapp ("neq_int_bool", l) -> Fol.Papp ("neq", l)
  | _ -> Fol.Papp ("eq_bool", [t; Fol.Tconst (Fol.ConstBool true)])