Changed precedence of "op O" (relation composition) from 60 to 75.
authorkrauss
Tue, 26 Sep 2006 17:33:04 +0200
changeset 20716 a6686a8e1b68
parent 20715 c1f16b427d86
child 20717 2244b0d719a0
Changed precedence of "op O" (relation composition) from 60 to 75.
NEWS
src/HOL/Relation.thy
src/HOL/Transitive_Closure.thy
--- a/NEWS	Tue Sep 26 13:34:35 2006 +0200
+++ b/NEWS	Tue Sep 26 17:33:04 2006 +0200
@@ -534,6 +534,9 @@
 
 * "LEAST x:A. P" expands to "LEAST x. x:A & P" (input only).
 
+* Relation composition operator "op O" now has precedence 75 and binds
+stronger than union and intersection. INCOMPATIBILITY.
+
 * The old set interval syntax "{m..n(}" (and relatives) has been removed.
   Use "{m..<n}" (and relatives) instead.
 
--- a/src/HOL/Relation.thy	Tue Sep 26 13:34:35 2006 +0200
+++ b/src/HOL/Relation.thy	Tue Sep 26 17:33:04 2006 +0200
@@ -20,7 +20,7 @@
   converse  ("(_\<inverse>)" [1000] 999)
 
 definition
-  rel_comp  :: "[('b * 'c) set, ('a * 'b) set] => ('a * 'c) set"  (infixr "O" 60)
+  rel_comp  :: "[('b * 'c) set, ('a * 'b) set] => ('a * 'c) set"  (infixr "O" 75)
   "r O s == {(x,z). EX y. (x, y) : s & (y, z) : r}"
 
   Image :: "[('a * 'b) set, 'a set] => 'b set"                (infixl "``" 90)
--- a/src/HOL/Transitive_Closure.thy	Tue Sep 26 13:34:35 2006 +0200
+++ b/src/HOL/Transitive_Closure.thy	Tue Sep 26 17:33:04 2006 +0200
@@ -208,7 +208,7 @@
   by (blast elim: rtranclE converse_rtranclE
     intro: rtrancl_into_rtrancl converse_rtrancl_into_rtrancl)
 
-lemma rtrancl_unfold: "r^* = Id Un (r O r^*)"
+lemma rtrancl_unfold: "r^* = Id Un r O r^*"
   by (auto intro: rtrancl_into_rtrancl elim: rtranclE)
 
 
@@ -263,7 +263,7 @@
 
 inductive_cases tranclE: "(a, b) : r^+"
 
-lemma trancl_unfold: "r^+ = r Un (r O r^+)"
+lemma trancl_unfold: "r^+ = r Un r O r^+"
   by (auto intro: trancl_into_trancl elim: tranclE)
 
 lemma trans_trancl[simp]: "trans(r^+)"