src/ZF/IMP/Com.ML
changeset 482 3a4e092ba69c
child 511 b2be4790da7a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ZF/IMP/Com.ML	Thu Jul 21 14:27:00 1994 +0200
@@ -0,0 +1,39 @@
+(*  Title: 	ZF/IMP/Com.ML
+    ID:         $Id$
+    Author: 	Heiko Loetzbeyer & Robert Sandner, TUM
+    Copyright   1994 TUM
+*)
+
+structure Com = Datatype_Fun
+ (
+  val thy = Bexp.thy;
+  val thy_name = "Com";
+  val rec_specs = 
+      [
+       (
+        "com", "univ(aexp Un bexp)",
+	  [
+           (["skip"],		"i", NoSyn),
+	   ([":="],	"[i,i] => i", Infixl 60),
+	   ([";"],	"[i,i] => i", Infixl 60),
+	   (["whileC"], 	"[i,i] => i", Mixfix("while _ do _",[],60)),
+	   (["ifC"],		"[i,i,i] => i",
+              Mixfix("ifc _ then _ else _",[],60))
+          ]
+       )
+      ];
+
+  val rec_styp = "i";
+
+  val sintrs = 
+       [
+	"skip : com",
+	"[| x:loc; a:aexp|] ==> X(x) := a : com",
+	"[| c0:com; c1:com|] ==> c0 ; c1 : com",
+	"[| b:bexp; c:com|] ==> while b do c : com",
+	"[| b:bexp; c0:com; c1:com|] ==> ifc b then c0 else c1 : com"
+       ];
+  val monos = [];
+  val type_intrs = datatype_intrs@Aexp.intrs;
+  val type_elims = datatype_elims
+ );