progtut/Tactical.thy~
changeset 26 1cde7bf45858
parent 25 a5f5b9336007
--- a/progtut/Tactical.thy~	Sat Sep 13 10:07:14 2014 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-theory Tactical
-imports Advanced
-begin
-
-
-
-
-ML {*
-fun my_print_tac ctxt thm =
-let
-   val _ = tracing (Pretty.string_of (pretty_thm_no_vars ctxt thm))
-in
-   Seq.single thm
-end
-*}
-
-ML {*
-let
-   val ctxt = @{context}
-   val goal = @{prop "P \<or> Q \<Longrightarrow> Q \<or> P"}
-in
-   Goal.prove ctxt ["x", "y", "u", "v", "P", "Q"] [@{prop "x = y"}, @{prop "u = v"}] goal
-    (fn {prems = pms, context = ctxt} =>  
-              (my_print_tac ctxt)
-              THEN etac @{thm disjE} 1 THEN
-               (my_print_tac ctxt) 
-              THEN rtac @{thm disjI2} 1
-              THEN  (my_print_tac ctxt) 
-              THEN atac 1
-              THEN rtac @{thm disjI1} 1
-              THEN atac 1)
-end
-*}
-
-ML {*
-  Goal.prove
-*}
-
-ML {*
-fun pretty_cterms ctxt ctrms =
-  Pretty.block (Pretty.commas (map (pretty_cterm ctxt) ctrms))
-*}
-
-ML {*
-fun foc_tac {prems, params, asms, concl, context, schematics} =
-let
-  fun assgn1 f1 f2 xs =
-    let
-       val out = map (fn (x, y) => Pretty.enum ":=" "" "" [f1 x, f2 y]) xs
-    in
-       Pretty.list "" "" out
-    end
-  fun assgn2 f xs = assgn1 f f xs
-  val pps = map (fn (s, pp) => Pretty.block [Pretty.str s, pp])
-    [("params: ", assgn1 Pretty.str (pretty_cterm context) params),
-     ("assumptions: ", pretty_cterms context asms),
-     ("conclusion: ", pretty_cterm context concl),
-     ("premises: ", pretty_thms_no_vars context prems),
-     ("schematics: ", assgn2 (pretty_cterm context) (snd schematics))]
-in
-  tracing (Pretty.string_of (Pretty.chunks pps)); all_tac
-end
-*}
-
-
-notation (output) "prop"   ("#_" [1000] 1000)
-
-lemma
-  shows " \<lbrakk>A; B\<rbrakk> \<Longrightarrow> A \<and> B"
-apply(tactic {* my_print_tac @{context} *})
-apply(rule conjI)
-apply(tactic {* my_print_tac @{context} *})
-apply(assumption)
-apply(tactic {* my_print_tac @{context} *})
-apply(assumption)
-apply(tactic {* my_print_tac @{context} *})