src/HOL/UNITY/Alloc.thy
changeset 6841 5a557122bb62
parent 6837 1bd850260747
child 7188 2bc63a44721b
equal deleted inserted replaced
6840:0e5c82abfc71 6841:5a557122bb62
    13   modular :: "['a, ('a=>'b) program set] => bool"
    13   modular :: "['a, ('a=>'b) program set] => bool"
    14     "modular i X ==
    14     "modular i X ==
    15        ALL F G. F : X --> drop_prog i F = drop_prog i G --> G : X"
    15        ALL F G. F : X --> drop_prog i F = drop_prog i G --> G : X"
    16 
    16 
    17 
    17 
    18  (UNITY.thy????????????????*)
    18  (*UNITY.thy????????????????*)
    19   (*An Idle program can do nothing*)
    19   (*An Idle program can do nothing*)
    20   Idle :: 'a program set
    20   Idle :: 'a program set
    21     "Idle == {F. Union (Acts F) <= Id}"
    21     "Idle == {F. Union (Acts F) <= Id}"
    22 
    22 
    23 (*simplifies the expression of some specifications*)
    23 (*simplifies the expression of some specifications*)
   172   sysOfAlloc :: "(allocState * (nat => clientState)) => systemState"
   172   sysOfAlloc :: "(allocState * (nat => clientState)) => systemState"
   173     "sysOfAlloc == %(s,y). (| allocGiv = allocGiv s,
   173     "sysOfAlloc == %(s,y). (| allocGiv = allocGiv s,
   174 			      allocAsk = allocAsk s,
   174 			      allocAsk = allocAsk s,
   175 			      allocRel = allocRel s,
   175 			      allocRel = allocRel s,
   176 			      client   = y |)"
   176 			      client   = y |)"
       
   177 (***    "sysOfAlloc == %(s,y). s(|client := y|)"  TYPE DOESN'T CHANGE***)
       
   178 
   177 
   179 
   178   sysOfClient :: "((nat => clientState) * allocState ) => systemState"
   180   sysOfClient :: "((nat => clientState) * allocState ) => systemState"
   179     "sysOfClient == %(x,y). sysOfAlloc(y,x)"
   181     "sysOfClient == %(x,y). sysOfAlloc(y,x)"
   180 
   182 
   181 
   183 
   193 
   195 
   194   defines
   196   defines
   195     System_def
   197     System_def
   196       "System == (extend sysOfAlloc Alloc)
   198       "System == (extend sysOfAlloc Alloc)
   197                  Join
   199                  Join
   198                  (extend sysOfClient (PPI x: lessThan Nclients. Client))
   200                  (extend sysOfClient (plam x: lessThan Nclients. Client))
   199                  Join
   201                  Join
   200                  Network"
   202                  Network"
   201 end
   203 end