@@ -79,6 +79,7 @@ data Tactic = Attack
7979 | SetInjective Name
8080 | MoveLast Name
8181 | MatchProblems
82+ | UnifyProblems
8283 | ProofState
8384 | Undo
8485 | QED
@@ -754,6 +755,15 @@ processTactic (Reorder n) ps
754755 return (ps' { previous = Just ps, plog = "" }, plog ps')
755756processTactic (ComputeLet n) ps
756757 = return (ps { pterm = computeLet (context ps) n (pterm ps) }, "")
758+processTactic UnifyProblems ps
759+ = let (ns', probs') = updateProblems (context ps) []
760+ (problems ps)
761+ (injective ps)
762+ (holes 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)
757767processTactic MatchProblems ps
758768 = let (ns', probs') = matchProblems (context ps)
759769 (problems ps)