thys/My_block.thy
changeset 0 1378b654acde
child 9 b88fc9da1970
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/thys/My_block.thy	Thu Mar 06 13:28:38 2014 +0000
@@ -0,0 +1,36 @@
+theory My_block
+imports Main
+keywords 
+  "my_block" :: prf_script and 
+  "my_block_end" :: prf_script and 
+  "my_note" :: prf_decl
+begin
+
+ML {*
+  val my_block = Proof.assert_backward #> Proof.enter_forward #> Proof.begin_block
+*}
+
+ML {*
+  val my_block_end = Proof.end_block #> Proof.enter_backward
+*}
+
+ML {*
+  val _ = Outer_Syntax.command @{command_spec "my_block"} "begin my block"
+        (Scan.succeed (Toplevel.print o (Toplevel.proof my_block)))
+  val _ = Outer_Syntax.command @{command_spec "my_block_end"} "begin my block"
+        (Scan.succeed (Toplevel.print o (Toplevel.proof my_block_end)))
+*}
+
+ML {*
+  fun my_note x = 
+     Proof.assert_backward #> Proof.enter_forward #> Proof.note_thmss_cmd x #> Proof.enter_backward
+*}
+
+ML {*
+val _ =
+  Outer_Syntax.command @{command_spec "my_note"} "define facts"
+    (Parse_Spec.name_facts >> (Toplevel.print oo (Toplevel.proof o my_note)));
+*}
+
+end
+