aboutsummaryrefslogtreecommitdiff
path: root/pretyping/evarutil.mli
diff options
context:
space:
mode:
authorherbelin2011-10-10 22:00:26 +0000
committerherbelin2011-10-10 22:00:26 +0000
commitbfc6434ee257e9e9830f54546ffbd6f4b66e96d4 (patch)
tree0521253f4b55c3d5cc6a75b8b6099cd2c02dc9fa /pretyping/evarutil.mli
parent698c79dc28a13baf864c863800a2b48690207e34 (diff)
More robust and uniform treatment of aliases in evarutil.ml
- Compute chain of aliases once for all so as to simplify code. - In is_unification_pattern, expand all vars/rels of the unification problem until they are no longer vars/rels so that the list of vars/rels used in the rhs is correct, and, the list of arguments of the evars eventually become irreducible vars/rels (in particular, this solves bug #2615). - Some points remain unclear, e.g. whether solve_evar_evar should reason with all let-in expanded or with let-in expanded only up to the last expansion which is still a var or rel. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14539 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/evarutil.mli')
-rw-r--r--pretyping/evarutil.mli6
1 files changed, 2 insertions, 4 deletions
diff --git a/pretyping/evarutil.mli b/pretyping/evarutil.mli
index d5f70b08d2..3652768531 100644
--- a/pretyping/evarutil.mli
+++ b/pretyping/evarutil.mli
@@ -96,10 +96,8 @@ val define_evar_as_product : evar_map -> existential -> evar_map * types
val define_evar_as_lambda : env -> evar_map -> existential -> evar_map * types
val define_evar_as_sort : evar_map -> existential -> evar_map * sorts
-val is_unification_pattern_evar : env -> existential -> constr list ->
- constr -> bool
-val is_unification_pattern : env * int -> constr -> constr array ->
- constr -> bool
+val is_unification_pattern : env -> constr -> constr list ->
+ constr -> constr list option
val evar_absorb_arguments : env -> evar_map -> existential -> constr list ->
evar_map * existential