module Create:
val unop : string -> 'a F.term -> 'b F.term
val binop : string -> 'a F.term -> 'b F.term -> 'c F.term
val predop : string -> 'a F.term -> 'b F.term -> F.pred
val e_ineg : Formula.integer F.term -> Formula.integer F.term
val e_rneg : Formula.real F.term -> Formula.real F.term
val e_icmp : Formula.cmp_op -> 'a F.term -> 'b F.term -> 'c F.term
val p_icmp : Formula.cmp_op -> 'a F.term -> 'b F.term -> F.pred
val e_rcmp : Formula.cmp_op -> 'a F.term -> 'b F.term -> 'c F.term
val p_rcmp : Formula.cmp_op -> 'a F.term -> 'b F.term -> F.pred
val e_iop : Formula.integer_op -> 'a F.term -> 'b F.term -> 'c F.term
val e_rop : Formula.real_op -> 'a F.term -> 'b F.term -> 'c F.term
val real_of_integer : Formula.integer F.term -> Formula.real F.term
val integer_of_real : Formula.real F.term -> Formula.integer F.term
val a_true : Formula.abstract F.term
val a_false : Formula.abstract F.term
val e_bool : Formula.boolean F.term -> Formula.integer F.term
val e_cond : Formula.boolean F.term -> 'a F.term -> 'a F.term -> 'a F.term
val e_not : Formula.boolean F.term -> Formula.boolean F.term
val e_and : Formula.boolean F.term -> Formula.boolean F.term -> Formula.boolean F.term
val e_or : Formula.boolean F.term -> Formula.boolean F.term -> Formula.boolean F.term
val e_bnot : Formula.integer F.term -> Formula.integer F.term
val e_band : Formula.integer F.term -> Formula.integer F.term -> Formula.integer F.term
val e_bor : Formula.integer F.term -> Formula.integer F.term -> Formula.integer F.term
val e_bxor : Formula.integer F.term -> Formula.integer F.term -> Formula.integer F.term
val e_lshift : Formula.integer F.term -> Formula.integer F.term -> Formula.integer F.term
val e_rshift : Formula.integer F.term -> Formula.integer F.term -> Formula.integer F.term