fact: Definition to_tactic (ip : IP) (do_intro : LIP -> tactic) : tactic := match ip return tactic with | IntroNoOp => T.idtac | IntroAnon => T.introsn 1 | IntroB binder => T.intro_simpl (FreshFrom binder) | IntroC [m:] => case0 | IntroC ips => case0 &> mmap_plist do_intro ips | IntroR d => T.introsn 1;; l <- M.hyps; h <- M.hd l; let (_, var, _) := h : Hyp in trewrite d [m:Dyn var];; T.clear var | IntroDone => done | IntroSimpl => simpl end.
imports: Coq.Strings.String Mtac2(List Base) Mtac2.tactics(TacticsBase Tactics ImportedTactics)