src/HOL/UNITY/UNITY.thy
changeset 35416 d8d7d1b785af
parent 32960 69916a850301
child 36866 426d5781bb25
--- a/src/HOL/UNITY/UNITY.thy	Wed Feb 24 11:55:52 2010 +0100
+++ b/src/HOL/UNITY/UNITY.thy	Mon Mar 01 13:40:23 2010 +0100
@@ -17,40 +17,39 @@
                    allowed :: ('a * 'a)set set). Id \<in> acts & Id: allowed}" 
   by blast
 
-constdefs
-  Acts :: "'a program => ('a * 'a)set set"
+definition Acts :: "'a program => ('a * 'a)set set" where
     "Acts F == (%(init, acts, allowed). acts) (Rep_Program F)"
 
-  "constrains" :: "['a set, 'a set] => 'a program set"  (infixl "co"     60)
+definition "constrains" :: "['a set, 'a set] => 'a program set"  (infixl "co"     60) where
     "A co B == {F. \<forall>act \<in> Acts F. act``A \<subseteq> B}"
 
-  unless  :: "['a set, 'a set] => 'a program set"  (infixl "unless" 60)
+definition unless  :: "['a set, 'a set] => 'a program set"  (infixl "unless" 60)  where
     "A unless B == (A-B) co (A \<union> B)"
 
-  mk_program :: "('a set * ('a * 'a)set set * ('a * 'a)set set)
-                   => 'a program"
+definition mk_program :: "('a set * ('a * 'a)set set * ('a * 'a)set set)
+                   => 'a program" where
     "mk_program == %(init, acts, allowed).
                       Abs_Program (init, insert Id acts, insert Id allowed)"
 
-  Init :: "'a program => 'a set"
+definition Init :: "'a program => 'a set" where
     "Init F == (%(init, acts, allowed). init) (Rep_Program F)"
 
-  AllowedActs :: "'a program => ('a * 'a)set set"
+definition AllowedActs :: "'a program => ('a * 'a)set set" where
     "AllowedActs F == (%(init, acts, allowed). allowed) (Rep_Program F)"
 
-  Allowed :: "'a program => 'a program set"
+definition Allowed :: "'a program => 'a program set" where
     "Allowed F == {G. Acts G \<subseteq> AllowedActs F}"
 
-  stable     :: "'a set => 'a program set"
+definition stable     :: "'a set => 'a program set" where
     "stable A == A co A"
 
-  strongest_rhs :: "['a program, 'a set] => 'a set"
+definition strongest_rhs :: "['a program, 'a set] => 'a set" where
     "strongest_rhs F A == Inter {B. F \<in> A co B}"
 
-  invariant :: "'a set => 'a program set"
+definition invariant :: "'a set => 'a program set" where
     "invariant A == {F. Init F \<subseteq> A} \<inter> stable A"
 
-  increasing :: "['a => 'b::{order}] => 'a program set"
+definition increasing :: "['a => 'b::{order}] => 'a program set" where
     --{*Polymorphic in both states and the meaning of @{text "\<le>"}*}
     "increasing f == \<Inter>z. stable {s. z \<le> f s}"
 
@@ -357,20 +356,19 @@
 
 subsection{*Partial versus Total Transitions*}
 
-constdefs
-  totalize_act :: "('a * 'a)set => ('a * 'a)set"
+definition totalize_act :: "('a * 'a)set => ('a * 'a)set" where
     "totalize_act act == act \<union> Id_on (-(Domain act))"
 
-  totalize :: "'a program => 'a program"
+definition totalize :: "'a program => 'a program" where
     "totalize F == mk_program (Init F,
                                totalize_act ` Acts F,
                                AllowedActs F)"
 
-  mk_total_program :: "('a set * ('a * 'a)set set * ('a * 'a)set set)
-                   => 'a program"
+definition mk_total_program :: "('a set * ('a * 'a)set set * ('a * 'a)set set)
+                   => 'a program" where
     "mk_total_program args == totalize (mk_program args)"
 
-  all_total :: "'a program => bool"
+definition all_total :: "'a program => bool" where
     "all_total F == \<forall>act \<in> Acts F. Domain act = UNIV"
   
 lemma insert_Id_image_Acts: "f Id = Id ==> insert Id (f`Acts F) = f ` Acts F"