diff options
Diffstat (limited to 'tactics/tactics.ml')
-rw-r--r-- | tactics/tactics.ml | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 4ecc4739..569cf356 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -6,7 +6,7 @@ (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -(* $Id: tactics.ml 13464 2010-09-24 22:23:02Z herbelin $ *) +(* $Id: tactics.ml 13693 2010-12-08 15:32:25Z msozeau $ *) open Pp open Util @@ -2365,8 +2365,8 @@ let abstract_args gl generalize_vars dep id defined f args = in let f', args' = decompose_indapp f args in let parvars = ids_of_constr ~all:true Idset.empty f' in + let seen = ref parvars in let dogen, f', args' = - let seen = ref parvars in let find i x = not (isVar x) || let v = destVar x in if is_defined_variable env v || Idset.mem v !seen then true @@ -2379,8 +2379,8 @@ let abstract_args gl generalize_vars dep id defined f args = true, mkApp (f', before), after in if dogen then - let arity, ctx, ctxenv, c', args, eqs, refls, nogen, vars, env = - Array.fold_left aux (pf_type_of gl f',[],env,f',[],[],[],parvars,Idset.empty,env) args' + let arity, ctx, ctxenv, c', args, eqs, refls, nogen, vars, env = + Array.fold_left aux (pf_type_of gl f',[],env,f',[],[],[],!seen,Idset.empty,env) args' in let args, refls = List.rev args, List.rev refls in let vars = |