src/Pure/Isar/method.ML
changeset 36093 0880493627ca
parent 33522 737589bb9bb8
child 36096 abc6a2ea4b88
equal deleted inserted replaced
36092:8f1e60d9f7cc 36093:0880493627ca
    44   val close: bool -> Proof.context -> method
    44   val close: bool -> Proof.context -> method
    45   val trace: Proof.context -> thm list -> unit
    45   val trace: Proof.context -> thm list -> unit
    46   val rule_tac: thm list -> thm list -> int -> tactic
    46   val rule_tac: thm list -> thm list -> int -> tactic
    47   val some_rule_tac: thm list -> Proof.context -> thm list -> int -> tactic
    47   val some_rule_tac: thm list -> Proof.context -> thm list -> int -> tactic
    48   val intros_tac: thm list -> thm list -> tactic
    48   val intros_tac: thm list -> thm list -> tactic
       
    49   val try_intros_tac: thm list -> thm list -> tactic
    49   val rule: thm list -> method
    50   val rule: thm list -> method
    50   val erule: int -> thm list -> method
    51   val erule: int -> thm list -> method
    51   val drule: int -> thm list -> method
    52   val drule: int -> thm list -> method
    52   val frule: int -> thm list -> method
    53   val frule: int -> thm list -> method
    53   val set_tactic: (thm list -> tactic) -> Proof.context -> Proof.context
    54   val set_tactic: (thm list -> tactic) -> Proof.context -> Proof.context
   260 end;
   261 end;
   261 
   262 
   262 
   263 
   263 (* intros_tac -- pervasive search spanned by intro rules *)
   264 (* intros_tac -- pervasive search spanned by intro rules *)
   264 
   265 
   265 fun intros_tac intros facts =
   266 fun gen_intros_tac goals intros facts =
   266   ALLGOALS (insert_tac facts THEN'
   267   goals (insert_tac facts THEN'
   267       REPEAT_ALL_NEW (resolve_tac intros))
   268       REPEAT_ALL_NEW (resolve_tac intros))
   268     THEN Tactic.distinct_subgoals_tac;
   269     THEN Tactic.distinct_subgoals_tac;
   269 
   270 
       
   271 val intros_tac = gen_intros_tac ALLGOALS;
       
   272 val try_intros_tac = gen_intros_tac TRYALL;
   270 
   273 
   271 (* ML tactics *)
   274 (* ML tactics *)
   272 
   275 
   273 structure TacticData = Proof_Data
   276 structure TacticData = Proof_Data
   274 (
   277 (