fact: Definition act_on {A} (x: A) (f: A->tactic) (i: mlist tactic) : tactic := \tactic g=> names <- T.move_until_aux x g; match names with | [m: (m: names, g)] => T.open_and_apply (f x &> i &> T.intros_names names)%tactic g | _ => M.failwith "act_on: impossible" end.
imports: Coq.Strings.String Mtac2(List Base) Mtac2.tactics(TacticsBase Tactics ImportedTactics)