fact: Definition cassert_base {A} (name : name) (cont : A -> tactic) : tactic := fun g => a <- M.evar A; M.nu name mNone (fun x => match g with | Metavar sort gT _ => gT <- M.goal_type g; r <- M.evar gT; value <- M.abs_fun x r; exact (value a) g;; v <- cont x (Metavar Typeₛ _ r) >>= close_goals x; M.ret ((m: tt,AnyMetavar Typeₛ _ a) :m: v) end ).
imports: Strings.String ssrmatching.ssrmatching Mtac2(Logic Datatypes List Utils Logic Sorts MTeleMatch) Strings.String NArith.BinNat NArith.BinNatDef