aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/evarconv.ml8
-rw-r--r--pretyping/evarutil.mli4
2 files changed, 8 insertions, 4 deletions
diff --git a/pretyping/evarconv.ml b/pretyping/evarconv.ml
index d80fdac9da..1701a84c93 100644
--- a/pretyping/evarconv.ml
+++ b/pretyping/evarconv.ml
@@ -226,10 +226,10 @@ and evar_eqappr_x env evd pbty (term1,l1 as appr1) (term2,l2 as appr2) =
and f2 i =
if sp1 = sp2 then
ise_and i
- [(fun i -> ise_array2 i
- (fun i -> evar_conv_x env i CONV) al1 al2);
- (fun i -> ise_list2 i
- (fun i -> evar_conv_x env i CONV) l1 l2)]
+ [(fun i -> ise_list2 i
+ (fun i -> evar_conv_x env i CONV) l1 l2);
+ (fun i -> solve_refl evar_conv_x env i sp1 al1 al2,
+ true)]
else (i,false)
in
ise_try evd [f1; f2]
diff --git a/pretyping/evarutil.mli b/pretyping/evarutil.mli
index 7df11d3326..c5a3cbe3be 100644
--- a/pretyping/evarutil.mli
+++ b/pretyping/evarutil.mli
@@ -71,6 +71,10 @@ val non_instantiated : evar_map -> (evar * evar_info) list
(* Unification utils *)
val is_ground_term : evar_defs -> constr -> bool
+val solve_refl :
+ (env -> evar_defs -> conv_pb -> constr -> constr -> evar_defs * bool)
+ -> env -> evar_defs -> existential_key -> constr array -> constr array ->
+ evar_defs
val solve_simple_eqn :
(env -> evar_defs -> conv_pb -> constr -> constr -> evar_defs * bool)
-> env -> evar_defs -> conv_pb * existential * constr ->