@@ -79,6 +79,7 @@ data Tactic = Attack
79 | SetInjective Name
79 | SetInjective Name
80 | MoveLast Name
80 | MoveLast Name
81 | MatchProblems
81 | MatchProblems
82 | ProofState
83 | ProofState
@@ -754,6 +755,15 @@ processTactic (Reorder n) ps
754 return (ps' { previous = Just ps, plog = "" }, plog ps')
755 return (ps' { previous = Just ps, plog = "" }, plog ps')
755processTactic (ComputeLet n) ps
756processTactic (ComputeLet n) ps
756 = return (ps { pterm = computeLet (context ps) n (pterm ps) }, "")
757 = return (ps { pterm = computeLet (context ps) n (pterm ps) }, "")
758+processTactic UnifyProblems ps
759+ = let (ns', probs') = updateProblems (context ps) []
763+ pterm' = updateSolved ns' (pterm ps) in
764+ return (ps { pterm = pterm', solved = Nothing, problems = probs',
765+ previous = Just ps, plog = "",
766+ holes = holes ps \\ (map fst ns') }, plog ps)
757processTactic MatchProblems ps
767processTactic MatchProblems ps
758 = let (ns', probs') = matchProblems (context ps)
768 = let (ns', probs') = matchProblems (context ps)
759 (problems ps)
769 (problems ps)