src/Pure/Isar/locale.ML
changeset 25270 2ed7b34f58e6
parent 25095 ea8307dac208
child 25286 35e954ff67f8
equal deleted inserted replaced
25269:f9090ae5cec9 25270:2ed7b34f58e6
  1953   let
  1953   let
  1954     val wits = all_witnesses ctxt |> map Thm.varifyT;
  1954     val wits = all_witnesses ctxt |> map Thm.varifyT;
  1955     val thy = ProofContext.theory_of ctxt;
  1955     val thy = ProofContext.theory_of ctxt;
  1956     val intros = locale_base_intros thy @ (if eager then locale_assm_intros thy else []);
  1956     val intros = locale_base_intros thy @ (if eager then locale_assm_intros thy else []);
  1957   in
  1957   in
  1958     (ALLGOALS (Method.insert_tac facts THEN'
  1958     Method.intros_tac (wits @ intros) facts st
  1959         REPEAT_ALL_NEW (resolve_tac (wits @ intros)))
       
  1960       THEN Tactic.distinct_subgoals_tac) st
       
  1961   end;
  1959   end;
  1962 
  1960 
  1963 val _ = Context.add_setup (Method.add_methods
  1961 val _ = Context.add_setup (Method.add_methods
  1964   [("intro_locales",
  1962   [("intro_locales",
  1965     Method.ctxt_args (fn ctxt => Method.METHOD (intro_locales_tac false ctxt)),
  1963     Method.ctxt_args (fn ctxt => Method.METHOD (intro_locales_tac false ctxt)),