src/HOL/UNITY/Mutex.thy
changeset 5253 82a5ca6290aa
parent 5240 bbcd79ef7cf2
child 5584 aad639e56d4e
--- a/src/HOL/UNITY/Mutex.thy	Wed Aug 05 10:56:58 1998 +0200
+++ b/src/HOL/UNITY/Mutex.thy	Wed Aug 05 10:57:25 1998 +0200
@@ -26,6 +26,9 @@
   VV :: bool
 
 constdefs
+  
+  (** The program for process U **)
+  
   cmd0U :: "(state*state) set"
     "cmd0U == {(s,s'). s' = s (|UU:=True, MM:=1|) & MM s = 0}"
 
@@ -41,6 +44,8 @@
   cmd4U :: "(state*state) set"
     "cmd4U == {(s,s'). s' = s (|PP:=True, MM:=0|) & MM s = 4}"
 
+  (** The program for process V **)
+  
   cmd0V :: "(state*state) set"
     "cmd0V == {(s,s'). s' = s (|VV:=True, NN:=1|) & NN s = 0}"
 
@@ -56,10 +61,12 @@
   cmd4V :: "(state*state) set"
     "cmd4V == {(s,s'). s' = s (|PP:=False, NN:=0|) & NN s = 4}"
 
-  mutex :: "(state*state) set set"
-    "mutex == {id,
-	       cmd0U, cmd1U, cmd2U, cmd3U, cmd4U, 
-	       cmd0V, cmd1V, cmd2V, cmd3V, cmd4V}"
+  Mprg :: state program
+    "Mprg == (|Init = {s. ~ UU s & ~ VV s & MM s = 0 & NN s = 0},
+	       Acts = {id,
+	               cmd0U, cmd1U, cmd2U, cmd3U, cmd4U, 
+	               cmd0V, cmd1V, cmd2V, cmd3V, cmd4V}|)"
+
 
   (** The correct invariants **)
 
@@ -77,7 +84,4 @@
     "bad_invariantU == {s. (UU s = (1 <= MM s & MM s <= 3)) &
 		           (3 <= MM s & MM s <= 4 --> ~ PP s)}"
 
-  MInit :: "state set"
-    "MInit == {s. ~ UU s & ~ VV s & MM s = 0 & NN s = 0}"
-
 end