src/HOL/UNITY/Transformers.thy
changeset 35416 d8d7d1b785af
parent 32693 6c6b1ba5e71e
child 37936 1e4c5015a72e
--- a/src/HOL/UNITY/Transformers.thy	Wed Feb 24 11:55:52 2010 +0100
+++ b/src/HOL/UNITY/Transformers.thy	Mon Mar 01 13:40:23 2010 +0100
@@ -20,16 +20,15 @@
 subsection{*Defining the Predicate Transformers @{term wp},
    @{term awp} and  @{term wens}*}
 
-constdefs
-  wp :: "[('a*'a) set, 'a set] => 'a set"  
+definition wp :: "[('a*'a) set, 'a set] => 'a set" where  
     --{*Dijkstra's weakest-precondition operator (for an individual command)*}
     "wp act B == - (act^-1 `` (-B))"
 
-  awp :: "['a program, 'a set] => 'a set"  
+definition awp :: "['a program, 'a set] => 'a set" where
     --{*Dijkstra's weakest-precondition operator (for a program)*}
     "awp F B == (\<Inter>act \<in> Acts F. wp act B)"
 
-  wens :: "['a program, ('a*'a) set, 'a set] => 'a set"  
+definition wens :: "['a program, ('a*'a) set, 'a set] => 'a set" where
     --{*The weakest-ensures transformer*}
     "wens F act B == gfp(\<lambda>X. (wp act B \<inter> awp F (B \<union> X)) \<union> B)"
 
@@ -335,11 +334,10 @@
 
 text{*Next, we express the @{term "wens_set"} for single-assignment programs*}
 
-constdefs
-  wens_single_finite :: "[('a*'a) set, 'a set, nat] => 'a set"  
+definition wens_single_finite :: "[('a*'a) set, 'a set, nat] => 'a set" where  
     "wens_single_finite act B k == \<Union>i \<in> atMost k. (wp act ^^ i) B"
 
-  wens_single :: "[('a*'a) set, 'a set] => 'a set"  
+definition wens_single :: "[('a*'a) set, 'a set] => 'a set" where
     "wens_single act B == \<Union>i. (wp act ^^ i) B"
 
 lemma wens_single_Un_eq: