diff options
author | Stephane Glondu <steph@glondu.net> | 2010-07-21 09:46:51 +0200 |
---|---|---|
committer | Stephane Glondu <steph@glondu.net> | 2010-07-21 09:46:51 +0200 |
commit | 5b7eafd0f00a16d78f99a27f5c7d5a0de77dc7e6 (patch) | |
tree | 631ad791a7685edafeb1fb2e8faeedc8379318ae /pretyping/unification.mli | |
parent | da178a880e3ace820b41d38b191d3785b82991f5 (diff) |
Imported Upstream snapshot 8.3~beta0+13298
Diffstat (limited to 'pretyping/unification.mli')
-rw-r--r-- | pretyping/unification.mli | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/pretyping/unification.mli b/pretyping/unification.mli index 89280631..cc62a9bb 100644 --- a/pretyping/unification.mli +++ b/pretyping/unification.mli @@ -6,7 +6,7 @@ (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -(*i $Id: unification.mli 10856 2008-04-27 16:15:34Z herbelin $ i*) +(*i $Id$ i*) (*i*) open Term @@ -14,10 +14,12 @@ open Environ open Evd (*i*) -type unify_flags = { - modulo_conv_on_closed_terms : Names.transparent_state option; +type unify_flags = { + modulo_conv_on_closed_terms : Names.transparent_state option; use_metas_eagerly : bool; modulo_delta : Names.transparent_state; + resolve_evars : bool; + use_evars_pattern_unification : bool } val default_unify_flags : unify_flags @@ -25,20 +27,23 @@ val default_no_delta_unify_flags : unify_flags (* The "unique" unification fonction *) val w_unify : - bool -> env -> conv_pb -> ?flags:unify_flags -> constr -> constr -> evar_defs -> evar_defs + bool -> 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_defs -> evar_defs * constr + env -> ?flags:unify_flags -> constr * constr -> evar_map -> evar_map * constr -val w_unify_meta_types : env -> ?flags:unify_flags -> evar_defs -> evar_defs +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_defs -> constr -> types -> types -> - evar_defs * constr +val w_coerce_to_type : env -> evar_map -> constr -> types -> types -> + evar_map * constr (*i This should be in another module i*) @@ -46,4 +51,4 @@ val w_coerce_to_type : env -> evar_defs -> constr -> types -> types -> (* abstracts the terms in l over c to get a term of type t *) (* (exported for inv.ml) *) val abstract_list_all : - env -> evar_defs -> constr -> constr -> constr list -> constr + env -> evar_map -> constr -> constr -> constr list -> constr |