thys/My_block.thy
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Tue, 25 Mar 2014 11:20:36 +0000
changeset 10 03c5f0393a2c
parent 9 b88fc9da1970
permissions -rw-r--r--
added a stub for a paper

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