Object logic specific operations.
authorwenzelm
Mon, 09 Nov 1998 15:42:08 +0100
changeset 5840 e2d2b896c717
parent 5839 3ad1364bbb4b
child 5841 d05df8752a8a
Object logic specific operations.
src/Pure/object_logic.ML
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Pure/object_logic.ML	Mon Nov 09 15:42:08 1998 +0100
@@ -0,0 +1,31 @@
+(*  Title:      Pure/object_logic.ML
+    ID:         $Id$
+    Author:     Markus Wenzel, TU Muenchen
+
+Object logic specific operations.
+
+TODO:
+  - theory data instead of hardwired operations (!!);
+*)
+
+signature OBJECT_LOGIC =
+sig
+  val dest_statement: string * term -> (string * term) list
+  val setup: (theory -> theory) list
+end;
+
+structure ObjectLogic: OBJECT_LOGIC =
+struct
+
+
+fun dest_statement (name, prop) =
+  let val concl = Logic.strip_imp_concl prop in
+    [(name ^ "_prop", prop), (name ^ "_concl", concl)] @
+      (case concl of Const ("Trueprop", _) $ t => [(name, t)] | _ => [])
+  end;
+
+
+(* FIXME *)
+val setup = [];
+
+end;