pretty constraint syntax; tuned theory imports
authorhaftmann
Wed, 18 Aug 2010 09:46:59 +0200
changeset 38503 7115853eaf8a
parent 38502 c4b7ae8ea82e
child 38504 76965c356d2a
pretty constraint syntax; tuned theory imports
doc-src/Codegen/Thy/Setup.thy
--- a/doc-src/Codegen/Thy/Setup.thy	Wed Aug 18 09:46:59 2010 +0200
+++ b/doc-src/Codegen/Thy/Setup.thy	Wed Aug 18 09:46:59 2010 +0200
@@ -1,14 +1,30 @@
 theory Setup
-imports Complex_Main More_List
+imports Complex_Main More_List RBT Dlist Mapping
 uses
   "../../antiquote_setup.ML"
   "../../more_antiquote.ML"
 begin
 
 ML {* no_document use_thys
-  ["Efficient_Nat", "Code_Char_chr", "Product_ord", "~~/src/HOL/Imperative_HOL/Imperative_HOL",
+  ["Efficient_Nat", "Code_Char_chr", "Product_ord",
+   "~~/src/HOL/Imperative_HOL/Imperative_HOL",
    "~~/src/HOL/Decision_Procs/Ferrack"] *}
 
+setup {*
+let
+  val typ = Simple_Syntax.read_typ;
+  val typeT = Syntax.typeT;
+  val spropT = Syntax.spropT;
+in
+  Sign.del_modesyntax_i (Symbol.xsymbolsN, false) [
+    ("_constrain", typ "logic => type => logic", Mixfix ("_\<Colon>_", [4, 0], 3)),
+    ("_constrain", [spropT, typeT] ---> spropT, Mixfix ("_\<Colon>_", [4, 0], 3))]
+  #> Sign.add_modesyntax_i (Symbol.xsymbolsN, false) [
+      ("_constrain", typ "logic => type => logic", Mixfix ("_ \<Colon>  _", [4, 0], 3)),
+      ("_constrain", [spropT, typeT] ---> spropT, Mixfix ("_ \<Colon> _", [4, 0], 3))]
+end
+*}
+
 setup {* Code_Target.set_default_code_width 74 *}
 
 ML_command {* Unsynchronized.reset unique_names *}