From cc12224f791a011a9e495cb3dbd35956abb7ed0d Mon Sep 17 00:00:00 2001 From: herbelin Date: Wed, 13 Feb 2008 10:37:11 +0000 Subject: Correction de ce qui semble être un petit bug dans la gestion de la marge de manoeuvre vis a vis de eta dans l'unification : la convention est qu'on donne la forme eta-reduite avec l'indication du nombre d'expansions autorisées mais ce nombre était incorrect pour l'unification pattern de w_unify. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10556 85f007b7-540e-0410-9357-904b9bb8a0f7 --- pretyping/unification.ml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'pretyping') diff --git a/pretyping/unification.ml b/pretyping/unification.ml index cac80301f..74024779a 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 -- cgit v1.2.3