@@ -460,14 +460,15 @@ processTactic Undo ps = case previous ps of
460460 Just pold -> return (pold, "")
461461processTactic EndUnify ps
462462 = let (h, ns) = unified ps
463− tm' = updateSolved ns (pterm ps)
464− probs' = updateProblems ns (problems ps) in
463+ ns' = map (\ (n, t) -> (n, updateSolved ns t)) ns
464+ tm' = updateSolved ns' (pterm ps)
465+ probs' = updateProblems ns' (problems ps) in
465466 case probs' of
466467 [] -> return (ps { pterm = tm',
467468 unified = (h, []),
468− injective = map (tmap (updateSolved ns))
469+ injective = map (tmap (updateSolved ns'))
469470 (injective ps),
470− holes = holes ps \\ map fst ns }, "")
471+ holes = holes ps \\ map fst ns' }, "")
471472 errs@((_,_,_,err):_) -> tfail err
472473processTactic (Reorder n) ps
473474 = do ps' <- execStateT (tactic (Just n) reorder_claims) ps