fact: Definition by' {A} (t : tactic) : ttac A := '(m: a, g) <- to_goal A; gs <- t g; gs' <- T.filter_goals gs; match gs' with | [m:] => ret (m: a, [m:]) | _ => failwith "couldn't solve" end.
imports: Mtac2(Base Datatypes List Sorts tactics.Tactics) Strings.String