(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* env -> conv_pb -> ?flags:unify_flags -> constr -> constr -> evar_map -> evar_map (** [w_unify_to_subterm env (c,t) m] performs unification of [c] with a subterm of [t]. Constraints are added to [m] and the matched subterm of [t] is also returned. *) val w_unify_to_subterm : env -> ?flags:unify_flags -> constr * constr -> evar_map -> evar_map * constr val w_unify_to_subterm_all : env -> ?flags:unify_flags -> constr * constr -> evar_map -> (evar_map * constr) list val w_unify_meta_types : env -> ?flags:unify_flags -> evar_map -> evar_map (** [w_coerce_to_type env evd c ctyp typ] tries to coerce [c] of type [ctyp] so that its gets type [typ]; [typ] may contain metavariables *) val w_coerce_to_type : env -> evar_map -> constr -> types -> types -> evar_map * constr (*i This should be in another module i*) (** [abstract_list_all env evd t c l] abstracts the terms in l over c to get a term of type t (exported for inv.ml) *) val abstract_list_all : env -> evar_map -> constr -> constr -> constr list -> constr