@@ -1058,7 +1058,7 @@ processTactic (ComputeLet n) ps
10581058 (getProofTerm (pterm ps)) }, "")
10591059processTactic UnifyProblems ps
10601060 = do let (ns', probs') = updateProblems ps [] (map setReady (problems ps))
1061− pterm' = updateSolved ns' (pterm ps)
1061+ pterm' = orderUpdateSolved ns' (pterm ps)
10621062 traceWhen (unifylog ps) ("(UnifyProblems) Dropping holes: " ++ show (map fst ns')) $
10631063 return (ps { pterm = pterm', solved = Nothing, problems = probs',
10641064 previous = Just ps, plog = "",
@@ -1067,6 +1067,8 @@ processTactic UnifyProblems ps
10671067 dotted = filter (notIn ns') (dotted ps),
10681068 holes = holes ps \\ (map fst ns') }, plog ps)
10691069 where notIn ns (h, _) = h `notElem` map fst ns
1070+ orderUpdateSolved [] t = t
1071+ orderUpdateSolved (n : ns) t = orderUpdateSolved ns (updateSolved [n] t)
10701072processTactic (MatchProblems all) ps
10711073 = do let (ns', probs') = matchProblems all ps [] (map setReady (problems ps))
10721074 (ns'', probs'') = matchProblems all ps ns' probs'