fact: Definition match_goal_context@{c a+} (s2:Sort) {C:Type@{c}}{A:Type@{a}} (x: A) (y: s2) (cont: (A -> s2) -> gtactic C) : gtactic C := fun g=> r <- abstract_from_sort s2 x y; match r with | mSome r => cont r g | mNone => M.raise DoesNotMatchGoal end.
imports: Strings.String ssrmatching.ssrmatching Mtac2(Logic Datatypes List Utils Logic intf.Sorts) Strings.String NArith.BinNat NArith.BinNatDef