fact: Definition intros_all : tactic := fun '(Metavar _ _ g) => (mfix1 f (g : goal gs_any) : M (mlist (unit *m goal gs_any)) := open_and_apply (fun g : goal gs_open => match g in goal gs return match gs with gs_any => True | gs_open => M (mlist (unit *m goal gs_any)) end with | Metavar s T g' => mtry intro_anonymous T g >>= f with | NotAProduct => M.ret [m:(m: tt,AnyMetavar _ _ g')] end | _ => I end) g) (AnyMetavar _ _ g).
imports: Strings.String ssrmatching.ssrmatching Mtac2(Logic Datatypes List Utils Logic Sorts MTeleMatch) Strings.String NArith.BinNat NArith.BinNatDef