fact: Definition specialize {A B} (f: forall x: A, B x) (x: A) : tactic := mif M.is_var f then let Bx := reduce (RedWhd [rl: RedBeta]) (B x) in change_hyp (Q:=Bx) f (f x) else M.raise NotAVar.
imports: Strings.String ssrmatching.ssrmatching Mtac2(Logic Datatypes List Utils Logic Sorts MTeleMatch) Strings.String NArith.BinNat NArith.BinNatDef