src/HOL/UNITY/Comp/Alloc.thy
changeset 45605 a89b4bc311a5
parent 45600 1bbbac9a0cb0
child 46577 e5438c5797ae
equal deleted inserted replaced
45604:29cf40fe8daf 45605:a89b4bc311a5
   789   apply (rule component_guaranteesD [OF rename_Client_Increasing Client_component_System])
   789   apply (rule component_guaranteesD [OF rename_Client_Increasing Client_component_System])
   790   apply auto
   790   apply auto
   791   done
   791   done
   792 
   792 
   793 lemmas rename_guarantees_sysOfAlloc_I =
   793 lemmas rename_guarantees_sysOfAlloc_I =
   794   bij_sysOfAlloc [THEN rename_rename_guarantees_eq, THEN iffD2, standard]
   794   bij_sysOfAlloc [THEN rename_rename_guarantees_eq, THEN iffD2]
   795 
   795 
   796 
   796 
   797 (*Lifting Alloc_Increasing up to the level of systemState*)
   797 (*Lifting Alloc_Increasing up to the level of systemState*)
   798 lemmas rename_Alloc_Increasing =
   798 lemmas rename_Alloc_Increasing =
   799   Alloc_Increasing
   799   Alloc_Increasing
   865 
   865 
   866 text{*safety (1), step 1 is @{text System_Follows_rel}*}
   866 text{*safety (1), step 1 is @{text System_Follows_rel}*}
   867 
   867 
   868 text{*safety (1), step 2*}
   868 text{*safety (1), step 2*}
   869 (* i < Nclients ==> System : Increasing (sub i o allocRel) *)
   869 (* i < Nclients ==> System : Increasing (sub i o allocRel) *)
   870 lemmas System_Increasing_allocRel = System_Follows_rel [THEN Follows_Increasing1, standard]
   870 lemmas System_Increasing_allocRel = System_Follows_rel [THEN Follows_Increasing1]
   871 
   871 
   872 (*Lifting Alloc_safety up to the level of systemState.
   872 (*Lifting Alloc_safety up to the level of systemState.
   873   Simplifying with o_def gets rid of the translations but it unfortunately
   873   Simplifying with o_def gets rid of the translations but it unfortunately
   874   gets rid of the other "o"s too.*)
   874   gets rid of the other "o"s too.*)
   875 
   875 
   919 text{*progress (2), step 1 is @{text System_Follows_ask} and
   919 text{*progress (2), step 1 is @{text System_Follows_ask} and
   920       @{text System_Follows_rel}*}
   920       @{text System_Follows_rel}*}
   921 
   921 
   922 text{*progress (2), step 2; see also @{text System_Increasing_allocRel}*}
   922 text{*progress (2), step 2; see also @{text System_Increasing_allocRel}*}
   923 (* i < Nclients ==> System : Increasing (sub i o allocAsk) *)
   923 (* i < Nclients ==> System : Increasing (sub i o allocAsk) *)
   924 lemmas System_Increasing_allocAsk =  System_Follows_ask [THEN Follows_Increasing1, standard]
   924 lemmas System_Increasing_allocAsk =  System_Follows_ask [THEN Follows_Increasing1]
   925 
   925 
   926 text{*progress (2), step 3: lifting @{text Client_Bounded} to systemState*}
   926 text{*progress (2), step 3: lifting @{text Client_Bounded} to systemState*}
   927 lemma rename_Client_Bounded: "i : I
   927 lemma rename_Client_Bounded: "i : I
   928     ==> rename sysOfClient (plam x: I. rename client_map Client) :
   928     ==> rename sysOfClient (plam x: I. rename client_map Client) :
   929           UNIV  guarantees
   929           UNIV  guarantees
   953 
   953 
   954 text{*progress (2), step 5 is @{text System_Increasing_allocGiv}*}
   954 text{*progress (2), step 5 is @{text System_Increasing_allocGiv}*}
   955 
   955 
   956 text{*progress (2), step 6*}
   956 text{*progress (2), step 6*}
   957 (* i < Nclients ==> System : Increasing (giv o sub i o client) *)
   957 (* i < Nclients ==> System : Increasing (giv o sub i o client) *)
   958 lemmas System_Increasing_giv =  System_Follows_allocGiv [THEN Follows_Increasing1, standard]
   958 lemmas System_Increasing_giv =  System_Follows_allocGiv [THEN Follows_Increasing1]
   959 
   959 
   960 
   960 
   961 lemma rename_Client_Progress: "i: I
   961 lemma rename_Client_Progress: "i: I
   962    ==> rename sysOfClient (plam x: I. rename client_map Client)
   962    ==> rename sysOfClient (plam x: I. rename client_map Client)
   963         : Increasing (giv o sub i o client)
   963         : Increasing (giv o sub i o client)