tuned specifications of 'notation';
authorwenzelm
Sun, 11 Nov 2007 14:00:05 +0100
changeset 25388 5cd130251825
parent 25387 d9ab1e3a8acb
child 25389 3e58c7cb5a73
tuned specifications of 'notation';
src/HOL/HOL.thy
--- a/src/HOL/HOL.thy	Sat Nov 10 23:04:03 2007 +0100
+++ b/src/HOL/HOL.thy	Sun Nov 11 14:00:05 2007 +0100
@@ -233,12 +233,16 @@
 
 class abs = type +
   fixes abs :: "'a \<Rightarrow> 'a"
+begin
 
 notation (xsymbols)
   abs  ("\<bar>_\<bar>")
+
 notation (HTML output)
   abs  ("\<bar>_\<bar>")
 
+end
+
 class sgn = type +
   fixes sgn :: "'a \<Rightarrow> 'a"
 
@@ -247,21 +251,6 @@
     and less :: "'a \<Rightarrow> 'a \<Rightarrow> bool"
 begin
 
-abbreviation (input)
-  greater_eq  (infix ">=" 50) where
-  "x >= y \<equiv> less_eq y x"
-
-abbreviation (input)
-  greater  (infix ">" 50) where
-  "x > y \<equiv> less y x"
-
-definition
-  Least :: "('a \<Rightarrow> bool) \<Rightarrow> 'a" (binder "LEAST " 10)
-where
-  "Least P == (THE x. P x \<and> (\<forall>y. P y \<longrightarrow> less_eq x y))"
-
-end
-
 notation
   less_eq  ("op <=") and
   less_eq  ("(_/ <= _)" [51, 51] 50) and
@@ -276,9 +265,23 @@
   less_eq  ("op \<le>") and
   less_eq  ("(_/ \<le> _)"  [51, 51] 50)
 
+abbreviation (input)
+  greater_eq  (infix ">=" 50) where
+  "x >= y \<equiv> y <= x"
+
 notation (input)
   greater_eq  (infix "\<ge>" 50)
 
+abbreviation (input)
+  greater  (infix ">" 50) where
+  "x > y \<equiv> y < x"
+
+definition
+  Least :: "('a \<Rightarrow> bool) \<Rightarrow> 'a" (binder "LEAST " 10) where
+  "Least P == (THE x. P x \<and> (\<forall>y. P y \<longrightarrow> less_eq x y))"
+
+end
+
 syntax
   "_index1"  :: index    ("\<^sub>1")
 translations
@@ -918,9 +921,9 @@
 structure ResBlacklist = NamedThmsFun(val name = "noatp" val description = "Theorems blacklisted for ATP");
 *}
 
-(*ResBlacklist holds theorems blacklisted to sledgehammer. 
+text {*ResBlacklist holds theorems blacklisted to sledgehammer. 
   These theorems typically produce clauses that are prolific (match too many equality or
-  membership literals) and relate to seldom-used facts. Some duplicate other rules.*)
+  membership literals) and relate to seldom-used facts. Some duplicate other rules.*}
 
 setup {*
 let
@@ -986,8 +989,8 @@
 done
 
 ML {*
-structure Blast = BlastFun(
-struct
+structure Blast = BlastFun
+(
   type claset = Classical.claset
   val equality_name = @{const_name "op ="}
   val not_name = @{const_name Not}
@@ -1000,7 +1003,7 @@
   val rep_cs = Classical.rep_cs
   val cla_modifiers = Classical.cla_modifiers
   val cla_meth' = Classical.cla_meth'
-end);
+);
 val Blast_tac = Blast.Blast_tac;
 val blast_tac = Blast.blast_tac;
 *}
@@ -1216,7 +1219,7 @@
   done
 
 lemma simp_impliesE:
-  assumes PQ:"PROP P =simp=> PROP Q"
+  assumes PQ: "PROP P =simp=> PROP Q"
   and P: "PROP P"
   and QR: "PROP Q \<Longrightarrow> PROP R"
   shows "PROP R"
@@ -1462,11 +1465,11 @@
 
 ML {*
 structure ProjectRule = ProjectRuleFun
-(struct
+(
   val conjunct1 = @{thm conjunct1};
   val conjunct2 = @{thm conjunct2};
   val mp = @{thm mp};
-end)
+)
 *}
 
 constdefs