added Goal_def;
authorwenzelm
Sat, 04 Apr 1998 11:42:26 +0200
changeset 4788 b54c337f2c7f
parent 4787 90fc96d16df4
child 4789 9cf0073bbe2b
added Goal_def;
src/Pure/pure_thy.ML
--- a/src/Pure/pure_thy.ML	Sat Apr 04 11:41:24 1998 +0200
+++ b/src/Pure/pure_thy.ML	Sat Apr 04 11:42:26 1998 +0200
@@ -257,8 +257,7 @@
 
 val proto_pure =
   Theory.pre_pure
-  |> Attribute.setup
-  |> theorems_setup
+  |> Theory.setup [Attribute.setup, theorems_setup]
   |> Theory.add_types
    (("fun", 2, NoSyn) ::
     ("prop", 0, NoSyn) ::
@@ -281,9 +280,12 @@
     ("=?=", "['a::{}, 'a] => prop", InfixrName ("=?=", 2)),
     ("==>", "[prop, prop] => prop", Mixfix ("(_/ ==> _)", [2, 1], 1)),
     ("all", "('a => prop) => prop", Binder ("!!", 0, 0)),
+    ("Goal", "prop => prop", Mixfix ("GOAL _", [999], 1000)),
     ("TYPE", "'a itself", NoSyn)]
   |> Theory.add_path "ProtoPure"
-  |> add_store_defs [("flexpair_def", "(t =?= u) == (t == u::'a::{})")]
+  |> add_store_defs
+   [("flexpair_def", "(t =?= u) == (t == u::'a::{})"),
+    ("Goal_def", "GOAL (PROP A) == PROP A")]
   |> Theory.add_name "ProtoPure";
 
 val pure =
@@ -313,6 +315,7 @@
 struct
   val thy = PureThy.proto_pure;
   val flexpair_def = get_axiom thy "flexpair_def";
+  val Goal_def = get_axiom thy "Goal_def";
 end;
 
 structure Pure = struct val thy = PureThy.pure end;