@@ -460,14 +460,15 @@ processTactic Undo ps = case previous ps of
460 Just pold -> return (pold, "")
460 Just pold -> return (pold, "")
461processTactic EndUnify ps
461processTactic EndUnify ps
462 = let (h, ns) = unified ps
462 = let (h, ns) = unified ps
463+ ns' = map (\ (n, t) -> (n, updateSolved ns t)) ns
463− tm' = updateSolved ns (pterm ps)
464+ tm' = updateSolved ns' (pterm ps)
464− probs' = updateProblems ns (problems ps) in
465+ probs' = updateProblems ns' (problems ps) in
465 case probs' of
466 case probs' of
466 [] -> return (ps { pterm = tm',
467 [] -> return (ps { pterm = tm',
467 unified = (h, []),
468 unified = (h, []),
468− injective = map (tmap (updateSolved ns))
469+ injective = map (tmap (updateSolved ns'))
469 (injective ps),
470 (injective ps),
470− holes = holes ps \\ map fst ns }, "")
471+ holes = holes ps \\ map fst ns' }, "")
471 errs@((_,_,_,err):_) -> tfail err
472 errs@((_,_,_,err):_) -> tfail err
472processTactic (Reorder n) ps
473processTactic (Reorder n) ps
473 = do ps' <- execStateT (tactic (Just n) reorder_claims) ps
474 = do ps' <- execStateT (tactic (Just n) reorder_claims) ps