src/HOL/UNITY/Comp/Alloc.thy
changeset 60773 d09c66a0ea10
parent 60754 02924903a6fd
child 61853 fb7756087101
equal deleted inserted replaced
60772:a0cfa9050fa8 60773:d09c66a0ea10
   245 
   245 
   246 axiomatization Network :: "'a systemState program"
   246 axiomatization Network :: "'a systemState program"
   247   where Network: "Network : network_spec"
   247   where Network: "Network : network_spec"
   248 
   248 
   249 definition System  :: "'a systemState program"
   249 definition System  :: "'a systemState program"
   250   where "System = rename sysOfAlloc Alloc Join Network Join
   250   where "System = rename sysOfAlloc Alloc \<squnion> Network \<squnion>
   251                  (rename sysOfClient
   251                  (rename sysOfClient
   252                   (plam x: lessThan Nclients. rename client_map Client))"
   252                   (plam x: lessThan Nclients. rename client_map Client))"
   253 
   253 
   254 
   254 
   255 (**
   255 (**
   266     Network "Network : network_spec"
   266     Network "Network : network_spec"
   267 
   267 
   268   defines
   268   defines
   269     System_def
   269     System_def
   270       "System == rename sysOfAlloc Alloc
   270       "System == rename sysOfAlloc Alloc
   271                  Join
   271                  \<squnion>
   272                  Network
   272                  Network
   273                  Join
   273                  \<squnion>
   274                  (rename sysOfClient
   274                  (rename sysOfClient
   275                   (plam x: lessThan Nclients. rename client_map Client))"
   275                   (plam x: lessThan Nclients. rename client_map Client))"
   276 **)
   276 **)
   277 
   277 
   278 declare subset_preserves_o [THEN [2] rev_subsetD, intro]
   278 declare subset_preserves_o [THEN [2] rev_subsetD, intro]
   629   Alloc_preserves_dummy [iff]
   629   Alloc_preserves_dummy [iff]
   630 
   630 
   631 
   631 
   632 subsection{*Components Lemmas [MUST BE AUTOMATED]*}
   632 subsection{*Components Lemmas [MUST BE AUTOMATED]*}
   633 
   633 
   634 lemma Network_component_System: "Network Join
   634 lemma Network_component_System: "Network \<squnion>
   635       ((rename sysOfClient
   635       ((rename sysOfClient
   636         (plam x: (lessThan Nclients). rename client_map Client)) Join
   636         (plam x: (lessThan Nclients). rename client_map Client)) \<squnion>
   637        rename sysOfAlloc Alloc)
   637        rename sysOfAlloc Alloc)
   638       = System"
   638       = System"
   639   by (simp add: System_def Join_ac)
   639   by (simp add: System_def Join_ac)
   640 
   640 
   641 lemma Client_component_System: "(rename sysOfClient
   641 lemma Client_component_System: "(rename sysOfClient
   642        (plam x: (lessThan Nclients). rename client_map Client)) Join
   642        (plam x: (lessThan Nclients). rename client_map Client)) \<squnion>
   643       (Network Join rename sysOfAlloc Alloc)  =  System"
   643       (Network \<squnion> rename sysOfAlloc Alloc)  =  System"
   644   by (simp add: System_def Join_ac)
   644   by (simp add: System_def Join_ac)
   645 
   645 
   646 lemma Alloc_component_System: "rename sysOfAlloc Alloc Join
   646 lemma Alloc_component_System: "rename sysOfAlloc Alloc \<squnion>
   647        ((rename sysOfClient (plam x: (lessThan Nclients). rename client_map Client)) Join
   647        ((rename sysOfClient (plam x: (lessThan Nclients). rename client_map Client)) \<squnion>
   648         Network)  =  System"
   648         Network)  =  System"
   649   by (simp add: System_def Join_ac)
   649   by (simp add: System_def Join_ac)
   650 
   650 
   651 declare
   651 declare
   652   Client_component_System [iff]
   652   Client_component_System [iff]