try
let t = List.assoc i subst in
let t' = um_aux 0 t in
- unwinded := (i,t)::!unwinded ;
+ unwinded := (i,t')::!unwinded ;
S.lift k t'
with
Not_found ->
- (* not constrained variable, i.e. free in subst *)
+ (* not constrained variable, i.e. free in subst*)
C.Meta i
in
frozen := saved_frozen ;
;;
(* UNWIND THE MGU INSIDE THE MGU *)
-(* let unwind mgu =
- let mark = Array.make (Array.length mgu) 0 in
- Array.iter (fun x -> let foo = unwind_meta mgu mark x in ()) mgu; mgu;; *)
-
let unwind_subst subst =
List.fold_left
(fun unwinded (i,_) -> snd (unwind subst unwinded (Cic.Meta i))) [] subst