equal
deleted
inserted
replaced
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)), |