aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/unification.ml6
1 files changed, 4 insertions, 2 deletions
diff --git a/pretyping/unification.ml b/pretyping/unification.ml
index cac80301f8..74024779a6 100644
--- a/pretyping/unification.ml
+++ b/pretyping/unification.ml
@@ -87,8 +87,10 @@ let rec subst_meta_instances bl c =
let solve_pattern_eqn_array env f l c (metasubst,evarsubst) =
match kind_of_term f with
| Meta k ->
- let pb = (ConvUpToEta (Array.length l),TypeNotProcessed) in
- (k,solve_pattern_eqn env (Array.to_list l) c,pb)::metasubst,evarsubst
+ let c = solve_pattern_eqn env (Array.to_list l) c in
+ let n = Array.length l - List.length (fst (decompose_lam c)) in
+ let pb = (ConvUpToEta n,TypeNotProcessed) in
+ (k,c,pb)::metasubst,evarsubst
| Evar ev ->
(* Currently unused: incompatible with eauto/eassumption backtracking *)
metasubst,(ev,solve_pattern_eqn env (Array.to_list l) c)::evarsubst