theory Flash_nodata_defs

use import bool.Bool
use import int.Int

type cache_state = CACHE_I | CACHE_S | CACHE_E
type node_cmd = NODE_None | NODE_Get | NODE_GetX
type uni_cmd = UNI_None | UNI_Get | UNI_GetX | UNI_Put | UNI_PutX | UNI_Nak
type inv_cmd = INV_None | INV_Inv | INV_InvAck
type rp_cmd = RP_None | RP_Replace
type wb_cmd = WB_None | WB_Wb
type shwb_cmd = SHWB_None | SHWB_ShWb | SHWB_FAck
type nakc_cmd = NAKC_None | NAKC_Nakc

function home : int
function procCmd_home : node_cmd
function invMarked_home : bool
function cacheState_home : cache_state
function uniMsg_Cmd_home : uni_cmd
function uniMsg_Proc_home : int
function invMsg_Cmd_home : inv_cmd
function rpMsg_Cmd_home : rp_cmd
function dir_Pending : bool
function dir_Local : bool
function dir_Dirty : bool
function dir_HeadVld : bool
function dir_HeadPtr : int
function dir_ShrVld : bool
function dir_ShrSet_home : bool
function dir_InvSet_home : bool
function wbMsg_Cmd : wb_cmd
function wbMsg_Proc : int
function shWbMsg_Cmd : shwb_cmd
function shWbMsg_Proc : int
function nakcMsg_Cmd : nakc_cmd
function collecting : bool
function home' : int
function procCmd_home' : node_cmd
function invMarked_home' : bool
function cacheState_home' : cache_state
function uniMsg_Cmd_home' : uni_cmd
function uniMsg_Proc_home' : int
function invMsg_Cmd_home' : inv_cmd
function rpMsg_Cmd_home' : rp_cmd
function dir_Pending' : bool
function dir_Local' : bool
function dir_Dirty' : bool
function dir_HeadVld' : bool
function dir_HeadPtr' : int
function dir_ShrVld' : bool
function dir_ShrSet_home' : bool
function dir_InvSet_home' : bool
function wbMsg_Cmd' : wb_cmd
function wbMsg_Proc' : int
function shWbMsg_Cmd' : shwb_cmd
function shWbMsg_Proc' : int
function nakcMsg_Cmd' : nakc_cmd
function collecting' : bool
function procCmd int : node_cmd
function invMarked int : bool
function cacheState int : cache_state
function dir_ShrSet int : bool
function dir_InvSet int : bool
function uniMsg_Cmd int : uni_cmd
function uniMsg_Proc int : int
function invMsg_Cmd int : inv_cmd
function rpMsg_Cmd int : rp_cmd
function procCmd' int : node_cmd
function invMarked' int : bool
function cacheState' int : cache_state
function dir_ShrSet' int : bool
function dir_InvSet' int : bool
function uniMsg_Cmd' int : uni_cmd
function uniMsg_Proc' int : int
function invMsg_Cmd' int : inv_cmd
function rpMsg_Cmd' int : rp_cmd

end


theory Flash_nodata_invdecls

use import bool.Bool
use import int.Int
use import Flash_nodata_defs

predicate invariantX93
predicate invariantX93'
predicate invariantX113
predicate invariantX113'
predicate invariantX178
predicate invariantX178'
predicate invariantX283
predicate invariantX283'
predicate invariantX363
predicate invariantX363'
predicate invariantX379
predicate invariantX379'
predicate invariantX396
predicate invariantX396'
predicate invariantX475
predicate invariantX475'
predicate invariantX534
predicate invariantX534'
predicate invariantX551
predicate invariantX551'
predicate invariantX574
predicate invariantX574'
predicate invariantX654
predicate invariantX654'
predicate invariantX677
predicate invariantX677'
predicate invariantX733
predicate invariantX733'
predicate invariantX784
predicate invariantX784'
predicate invariantX801
predicate invariantX801'
predicate invariantX824
predicate invariantX824'
predicate invariantX878
predicate invariantX878'
predicate invariant1397
predicate invariant1397'
predicate invariant1785
predicate invariant1785'
predicate invariant1794
predicate invariant1794'
predicate invariant2036
predicate invariant2036'
predicate invariantX252
predicate invariantX252'
predicate invariantX77
predicate invariantX77'
predicate invariantX105
predicate invariantX105'
predicate invariantX123
predicate invariantX123'
predicate invariant1
predicate invariant1'
predicate invariant49
predicate invariant49'
predicate invariant487
predicate invariant487'
predicate invariantX13
predicate invariantX13'
predicate invariantX31
predicate invariantX31'
predicate invariantX135
predicate invariantX135'
predicate invariantX151
predicate invariantX151'
predicate invariantX162
predicate invariantX162'
predicate invariantX410
predicate invariantX410'
predicate invariantX419
predicate invariantX419'
predicate invariant220
predicate invariant220'
predicate invariant986
predicate invariant986'
predicate invariant2
predicate invariant2'
predicate invariantX932
predicate invariantX932'
predicate invariantX944
predicate invariantX944'

end


theory Flash_nodata_invdefs

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls

axiom invariant1_def:
invariant1 <-> not (exists z1:int. cacheState_home = CACHE_E /\
(cacheState z1) = CACHE_E)

axiom invariant1'_def:
invariant1' <-> not (exists z1:int. cacheState_home' = CACHE_E /\
(cacheState' z1) = CACHE_E)

axiom invariant2_def:
invariant2 <-> not (exists z1 z2:int. z1 <> z2 /\ (cacheState z1) = CACHE_E /\
(cacheState z2) = CACHE_E)

axiom invariant2'_def:
invariant2' <-> not (exists z1 z2:int. z1 <> z2 /\ (cacheState' z1) = CACHE_E /\
(cacheState' z2) = CACHE_E)

axiom invariant1794_def:
invariant1794 <-> not (wbMsg_Cmd = WB_Wb /\
shWbMsg_Cmd = SHWB_ShWb)

axiom invariant1794'_def:
invariant1794' <-> not (wbMsg_Cmd' = WB_Wb /\
shWbMsg_Cmd' = SHWB_ShWb)

axiom invariantX574_def:
invariantX574 <-> not (uniMsg_Cmd_home = UNI_PutX /\
dir_HeadVld = False)

axiom invariantX574'_def:
invariantX574' <-> not (uniMsg_Cmd_home' = UNI_PutX /\
dir_HeadVld' = False)

axiom invariantX252_def:
invariantX252 <-> not (cacheState_home = CACHE_I /\
dir_Local = True /\
dir_Dirty = True)

axiom invariantX252'_def:
invariantX252' <-> not (cacheState_home' = CACHE_I /\
dir_Local' = True /\
dir_Dirty' = True)

axiom invariantX123_def:
invariantX123 <-> not (exists z1:int. shWbMsg_Cmd = SHWB_ShWb /\
(cacheState z1) = CACHE_E)

axiom invariantX123'_def:
invariantX123' <-> not (exists z1:int. shWbMsg_Cmd' = SHWB_ShWb /\
(cacheState' z1) = CACHE_E)

axiom invariantX379_def:
invariantX379 <-> not (uniMsg_Cmd_home = UNI_Put /\
shWbMsg_Cmd = SHWB_ShWb)

axiom invariantX379'_def:
invariantX379' <-> not (uniMsg_Cmd_home' = UNI_Put /\
shWbMsg_Cmd' = SHWB_ShWb)

axiom invariantX824_def:
invariantX824 <-> not (cacheState_home = CACHE_E /\
dir_HeadVld = True)

axiom invariantX824'_def:
invariantX824' <-> not (cacheState_home' = CACHE_E /\
dir_HeadVld' = True)

axiom invariantX178_def:
invariantX178 <-> not (procCmd_home = NODE_Get /\
dir_Local = True)

axiom invariantX178'_def:
invariantX178' <-> not (procCmd_home' = NODE_Get /\
dir_Local' = True)

axiom invariantX113_def:
invariantX113 <-> not (shWbMsg_Cmd = SHWB_ShWb /\
shWbMsg_Proc = home)

axiom invariantX113'_def:
invariantX113' <-> not (shWbMsg_Cmd' = SHWB_ShWb /\
shWbMsg_Proc' = home')

axiom invariantX944_def:
invariantX944 <-> not (exists z1 z2:int. z1 <> z2 /\ home <> z1 /\
home <> z2 /\
(uniMsg_Cmd z1) = UNI_PutX /\
(uniMsg_Cmd z2) = UNI_PutX)

axiom invariantX944'_def:
invariantX944' <-> not (exists z1 z2:int. z1 <> z2 /\ home' <> z1 /\
home' <> z2 /\
(uniMsg_Cmd' z1) = UNI_PutX /\
(uniMsg_Cmd' z2) = UNI_PutX)

axiom invariantX878_def:
invariantX878 <-> not (cacheState_home = CACHE_E /\
dir_Dirty = False)

axiom invariantX878'_def:
invariantX878' <-> not (cacheState_home' = CACHE_E /\
dir_Dirty' = False)

axiom invariantX363_def:
invariantX363 <-> not (uniMsg_Cmd_home = UNI_Put /\
dir_Dirty = False)

axiom invariantX363'_def:
invariantX363' <-> not (uniMsg_Cmd_home' = UNI_Put /\
dir_Dirty' = False)

axiom invariantX105_def:
invariantX105 <-> not (exists z1:int. uniMsg_Cmd_home = UNI_Put /\
(cacheState z1) = CACHE_E)

axiom invariantX105'_def:
invariantX105' <-> not (exists z1:int. uniMsg_Cmd_home' = UNI_Put /\
(cacheState' z1) = CACHE_E)

axiom invariantX551_def:
invariantX551 <-> not (cacheState_home = CACHE_E /\
shWbMsg_Cmd = SHWB_ShWb)

axiom invariantX551'_def:
invariantX551' <-> not (cacheState_home' = CACHE_E /\
shWbMsg_Cmd' = SHWB_ShWb)

axiom invariant986_def:
invariant986 <-> not (exists z1:int. home <> z1 /\
wbMsg_Cmd = WB_Wb /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariant986'_def:
invariant986' <-> not (exists z1:int. home' <> z1 /\
wbMsg_Cmd' = WB_Wb /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX677_def:
invariantX677 <-> not (cacheState_home = CACHE_E /\
uniMsg_Cmd_home = UNI_PutX)

axiom invariantX677'_def:
invariantX677' <-> not (cacheState_home' = CACHE_E /\
uniMsg_Cmd_home' = UNI_PutX)

axiom invariantX932_def:
invariantX932 <-> not (exists z1 z2:int. z1 <> z2 /\ home <> z2 /\
(cacheState z1) = CACHE_E /\
(uniMsg_Cmd z2) = UNI_PutX)

axiom invariantX932'_def:
invariantX932' <-> not (exists z1 z2:int. z1 <> z2 /\ home' <> z2 /\
(cacheState' z1) = CACHE_E /\
(uniMsg_Cmd' z2) = UNI_PutX)

axiom invariant220_def:
invariant220 <-> not (exists z1:int. home <> z1 /\
uniMsg_Cmd_home = UNI_PutX /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariant220'_def:
invariant220' <-> not (exists z1:int. home' <> z1 /\
uniMsg_Cmd_home' = UNI_PutX /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX419_def:
invariantX419 <-> not (exists z1:int. home <> z1 /\
dir_HeadVld = False /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariantX419'_def:
invariantX419' <-> not (exists z1:int. home' <> z1 /\
dir_HeadVld' = False /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX162_def:
invariantX162 <-> not (exists z1:int. home <> z1 /\
shWbMsg_Cmd = SHWB_ShWb /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariantX162'_def:
invariantX162' <-> not (exists z1:int. home' <> z1 /\
shWbMsg_Cmd' = SHWB_ShWb /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX801_def:
invariantX801 <-> not (cacheState_home = CACHE_E /\
wbMsg_Cmd = WB_Wb)

axiom invariantX801'_def:
invariantX801' <-> not (cacheState_home' = CACHE_E /\
wbMsg_Cmd' = WB_Wb)

axiom invariantX31_def:
invariantX31 <-> not (exists z1:int. home <> z1 /\
(cacheState z1) = CACHE_E /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariantX31'_def:
invariantX31' <-> not (exists z1:int. home' <> z1 /\
(cacheState' z1) = CACHE_E /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX733_def:
invariantX733 <-> not (dir_HeadVld = False /\
wbMsg_Cmd = WB_Wb)

axiom invariantX733'_def:
invariantX733' <-> not (dir_HeadVld' = False /\
wbMsg_Cmd' = WB_Wb)

axiom invariantX93_def:
invariantX93 <-> not (invMarked_home = True)

axiom invariantX93'_def:
invariantX93' <-> not (invMarked_home' = True)

axiom invariantX475_def:
invariantX475 <-> not (dir_HeadVld = False /\
shWbMsg_Cmd = SHWB_ShWb)

axiom invariantX475'_def:
invariantX475' <-> not (dir_HeadVld' = False /\
shWbMsg_Cmd' = SHWB_ShWb)

axiom invariantX283_def:
invariantX283 <-> not (uniMsg_Cmd_home = UNI_Put /\
dir_HeadVld = False)

axiom invariantX283'_def:
invariantX283' <-> not (uniMsg_Cmd_home' = UNI_Put /\
dir_HeadVld' = False)

axiom invariantX410_def:
invariantX410 <-> not (exists z1:int. home <> z1 /\
dir_HeadVld = False /\
(cacheState z1) = CACHE_E)

axiom invariantX410'_def:
invariantX410' <-> not (exists z1:int. home' <> z1 /\
dir_HeadVld' = False /\
(cacheState' z1) = CACHE_E)

axiom invariant487_def:
invariant487 <-> not (exists z1:int. wbMsg_Cmd = WB_Wb /\
(cacheState z1) = CACHE_E)

axiom invariant487'_def:
invariant487' <-> not (exists z1:int. wbMsg_Cmd' = WB_Wb /\
(cacheState' z1) = CACHE_E)

axiom invariantX151_def:
invariantX151 <-> not (exists z1:int. home <> z1 /\
uniMsg_Cmd_home = UNI_Put /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariantX151'_def:
invariantX151' <-> not (exists z1:int. home' <> z1 /\
uniMsg_Cmd_home' = UNI_Put /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX534_def:
invariantX534 <-> not (dir_Dirty = False /\
shWbMsg_Cmd = SHWB_ShWb)

axiom invariantX534'_def:
invariantX534' <-> not (dir_Dirty' = False /\
shWbMsg_Cmd' = SHWB_ShWb)

axiom invariantX784_def:
invariantX784 <-> not (dir_Dirty = False /\
wbMsg_Cmd = WB_Wb)

axiom invariantX784'_def:
invariantX784' <-> not (dir_Dirty' = False /\
wbMsg_Cmd' = WB_Wb)

axiom invariant49_def:
invariant49 <-> not (exists z1:int. uniMsg_Cmd_home = UNI_PutX /\
(cacheState z1) = CACHE_E)

axiom invariant49'_def:
invariant49' <-> not (exists z1:int. uniMsg_Cmd_home' = UNI_PutX /\
(cacheState' z1) = CACHE_E)

axiom invariantX654_def:
invariantX654 <-> not (uniMsg_Cmd_home = UNI_PutX /\
dir_Dirty = False)

axiom invariantX654'_def:
invariantX654' <-> not (uniMsg_Cmd_home' = UNI_PutX /\
dir_Dirty' = False)

axiom invariantX13_def:
invariantX13 <-> not (exists z1:int. home <> z1 /\
cacheState_home = CACHE_E /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariantX13'_def:
invariantX13' <-> not (exists z1:int. home' <> z1 /\
cacheState_home' = CACHE_E /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariantX77_def:
invariantX77 <-> not (exists z1:int. dir_Dirty = False /\
(cacheState z1) = CACHE_E)

axiom invariantX77'_def:
invariantX77' <-> not (exists z1:int. dir_Dirty' = False /\
(cacheState' z1) = CACHE_E)

axiom invariant2036_def:
invariant2036 <-> not (uniMsg_Cmd_home = UNI_PutX /\
wbMsg_Cmd = WB_Wb)

axiom invariant2036'_def:
invariant2036' <-> not (uniMsg_Cmd_home' = UNI_PutX /\
wbMsg_Cmd' = WB_Wb)

axiom invariantX396_def:
invariantX396 <-> not (cacheState_home = CACHE_E /\
uniMsg_Cmd_home = UNI_Put)

axiom invariantX396'_def:
invariantX396' <-> not (cacheState_home' = CACHE_E /\
uniMsg_Cmd_home' = UNI_Put)

axiom invariant1397_def:
invariant1397 <-> not (uniMsg_Cmd_home = UNI_Put /\
wbMsg_Cmd = WB_Wb)

axiom invariant1397'_def:
invariant1397' <-> not (uniMsg_Cmd_home' = UNI_Put /\
wbMsg_Cmd' = WB_Wb)

axiom invariantX135_def:
invariantX135 <-> not (exists z1:int. home <> z1 /\
dir_Dirty = False /\
(uniMsg_Cmd z1) = UNI_PutX)

axiom invariantX135'_def:
invariantX135' <-> not (exists z1:int. home' <> z1 /\
dir_Dirty' = False /\
(uniMsg_Cmd' z1) = UNI_PutX)

axiom invariant1785_def:
invariant1785 <-> not (uniMsg_Cmd_home = UNI_PutX /\
shWbMsg_Cmd = SHWB_ShWb)

axiom invariant1785'_def:
invariant1785' <-> not (uniMsg_Cmd_home' = UNI_PutX /\
shWbMsg_Cmd' = SHWB_ShWb)


end


theory Flash_nodata_trdecl

use import bool.Bool
use import int.Int
use import Flash_nodata_defs

predicate transition__pi_Remote_Get
predicate transition__pi_Local_Get_Get
predicate transition__pi_Local_Get_Put_InvM
predicate transition__pi_Local_Get_Put
predicate transition__pi_Remote_GetX
predicate transition__pi_Local_GetX_GetX
predicate transition__pi_Local_GetX_PutX_HeadVld
predicate transition__pi_Local_GetX_PutX
predicate transition__pi_Remote_PutX
predicate transition__pi_Local_PutX_pending
predicate transition__pi_Local_PutX
predicate transition__pi_Remote_Replace
predicate transition__pi_Local_Replace
predicate transition__ni_Nak
predicate transition__ni_Nak_home
predicate transition__ni_Nak_Clear
predicate transition__ni_Local_Get_Nak1
predicate transition__ni_Local_Get_Nak
predicate transition__ni_Local_Get_Nak_
predicate transition__ni_Local_Get_Get
predicate transition__ni_Local_Get_Put1_Head
predicate transition__ni_Local_Get_Put1
predicate transition__ni_Local_Get_Put2_dirty
predicate transition__ni_Remote_Get_Nak
predicate transition__ni_Remote_Get_Put
predicate transition__ni_Remote_Get_Put_home
predicate transition__ni_Local_GetX_Nak1
predicate transition__ni_Local_GetX_Nak
predicate transition__ni_Local_GetX_Nak_
predicate transition__ni_Local_GetX_GetX
predicate transition__ni_Local_GetX_PutX_1
predicate transition__ni_Local_GetX_PutX_2
predicate transition__ni_Local_GetX_PutX_3
predicate transition__ni_Local_GetX_PutX_4
predicate transition__ni_Local_GetX_PutX_5
predicate transition__ni_Local_GetX_PutX_6
predicate transition__ni_Local_GetX_PutX_7
predicate transition__ni_Local_GetX_PutX_8
predicate transition__ni_Local_GetX_PutX_8_home
predicate transition__ni_Local_GetX_PutX_9
predicate transition__ni_Local_GetX_PutX_10
predicate transition__ni_Local_GetX_PutX_10_home
predicate transition__ni_Local_GetX_PutX_11
predicate transition__ni_Remote_GetX_Nak
predicate transition__ni_Remote_GetX_Nak_home
predicate transition__ni_Remote_GetX_PutX_home
predicate transition__ni_Remote_GetX_PutX
predicate transition__ni_Local_Put_inv
predicate transition__ni_Local_Put
predicate transition__ni_Remote_Put_inv
predicate transition__ni_Remote_Put
predicate transition__ni_Local_PutXAcksDone
predicate transition__ni_Remote_PutX
predicate transition__ni_Inv_get
predicate transition__ni_Inv
predicate transition__ni_InvAck_exists
predicate transition__ni_InvAck_exists_home
predicate transition__ni_InvAck_done_1
predicate transition__ni_InvAck_done_2
predicate transition__ni_InvAck_done_3
predicate transition__ni_Wb
predicate transition__ni_FAck_dirty
predicate transition__ni_FAck
predicate transition__ni_ShWb_home
predicate transition__ni_ShWb
predicate transition__ni_Replace_shrvld
predicate transition__ni_Replace_shrvld_home
predicate transition__ni_Replace
predicate transition__ni_Replace_home

predicate tau

end


theory Flash_nodata_trdefs

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_trdecl

axiom transition__ni_Local_GetX_PutX_1_def:
transition__ni_Local_GetX_PutX_1 <-> (* transition ni_Local_GetX_PutX_1 *)
(exists src:int. 
( (* requires *)
home <> src /\
procCmd_home = NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadVld = False /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
invMarked_home' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j42:int.
if _j42 = src then
 uniMsg_Cmd' _j42 = UNI_PutX
else uniMsg_Cmd' _j42 = (uniMsg_Cmd _j42)) /\
(forall _j43:int.
if _j43 = src then
 uniMsg_Proc' _j43 = home
else uniMsg_Proc' _j43 = (uniMsg_Proc _j43)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_Get_Put_home_def:
transition__ni_Remote_Get_Put_home <-> (* transition ni_Remote_Get_Put_home *)
(exists dst:int. 
( (* requires *)
home <> dst /\
uniMsg_Cmd_home = UNI_Get /\
uniMsg_Proc_home = dst /\
(cacheState dst) = CACHE_E) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_Put /\
uniMsg_Proc_home' = dst /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j33:int.
if _j33 = dst then
 cacheState' _j33 = CACHE_S
else cacheState' _j33 = (cacheState _j33)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Wb_def:
transition__ni_Wb <-> (* transition ni_Wb *)
(( (* requires *)
wbMsg_Cmd = WB_Wb) /\
( (* actions *)
wbMsg_Cmd' = WB_None /\
dir_Dirty' = False /\
dir_HeadVld' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_Nak__def:
transition__ni_Local_GetX_Nak_ <-> (* transition ni_Local_GetX_Nak *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Local = False /\
dir_Dirty = True /\
dir_HeadPtr = src /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j38:int.
if _j38 = src then
 uniMsg_Cmd' _j38 = UNI_Nak
else uniMsg_Cmd' _j38 = (uniMsg_Cmd _j38)) /\
(forall _j39:int.
if _j39 = src then
 uniMsg_Proc' _j39 = home
else uniMsg_Proc' _j39 = (uniMsg_Proc _j39)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Remote_Get_def:
transition__pi_Remote_Get <-> (* transition pi_Remote_Get *)
(exists src:int. 
( (* requires *)
home <> src /\
(procCmd src) = NODE_None /\
(cacheState src) = CACHE_I) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j1:int.
if _j1 = src then
 procCmd' _j1 = NODE_Get
else procCmd' _j1 = (procCmd _j1)) /\
(forall _j2:int.
if _j2 = src then
 uniMsg_Cmd' _j2 = UNI_Get
else uniMsg_Cmd' _j2 = (uniMsg_Cmd _j2)) /\
(forall _j3:int.
if _j3 = src then
 uniMsg_Proc' _j3 = home
else uniMsg_Proc' _j3 = (uniMsg_Proc _j3)) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Get_def:
transition__ni_Local_Get_Get <-> (* transition ni_Local_Get_Get *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = True /\
dir_HeadPtr <> src /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
dir_Pending' = True /\
collecting' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall _j19:int.
if _j19 = src then
 uniMsg_Cmd' _j19 = UNI_Get
else uniMsg_Cmd' _j19 = (uniMsg_Cmd _j19)) /\
(forall _j20:int.
if _j20 = src then
 uniMsg_Proc' _j20 = dir_HeadPtr
else uniMsg_Proc' _j20 = (uniMsg_Proc _j20)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Put_inv_def:
transition__ni_Local_Put_inv <-> (* transition ni_Local_Put_inv *)
(( (* requires *)
invMarked_home = True /\
uniMsg_Cmd_home = UNI_Put) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_None /\
dir_Pending' = False /\
dir_Dirty' = False /\
dir_Local' = True /\
procCmd_home' = NODE_None /\
invMarked_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_10_home_def:
transition__ni_Local_GetX_PutX_10_home <-> (* transition ni_Local_GetX_PutX_10_home *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = False /\
dir_HeadVld = True /\
dir_HeadPtr = src /\
dir_ShrSet_home = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
collecting' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if p = src then
 dir_InvSet' p = False
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if p = src then
 invMsg_Cmd' p = INV_None
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall _j64:int.
if _j64 = src then
 uniMsg_Cmd' _j64 = UNI_PutX
else uniMsg_Cmd' _j64 = (uniMsg_Cmd _j64)) /\
(forall _j65:int.
if _j65 = src then
 uniMsg_Proc' _j65 = home
else uniMsg_Proc' _j65 = (uniMsg_Proc _j65)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_Get_Nak_def:
transition__ni_Remote_Get_Nak <-> (* transition ni_Remote_Get_Nak *)
(exists src dst:int. src <> dst /\ 
( (* requires *)
home <> dst /\
(cacheState dst) <> CACHE_E /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = dst) /\
( (* actions *)
nakcMsg_Cmd' = NAKC_Nakc /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
collecting' = collecting /\
(forall _j28:int.
if _j28 = src then
 uniMsg_Cmd' _j28 = UNI_Nak
else uniMsg_Cmd' _j28 = (uniMsg_Cmd _j28)) /\
(forall _j29:int.
if _j29 = src then
 uniMsg_Proc' _j29 = dst
else uniMsg_Proc' _j29 = (uniMsg_Proc _j29)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_2_def:
transition__ni_Local_GetX_PutX_2 <-> (* transition ni_Local_GetX_PutX_2 *)
(exists src:int. 
( (* requires *)
home <> src /\
procCmd_home <> NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadVld = False /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j44:int.
if _j44 = src then
 uniMsg_Cmd' _j44 = UNI_PutX
else uniMsg_Cmd' _j44 = (uniMsg_Cmd _j44)) /\
(forall _j45:int.
if _j45 = src then
 uniMsg_Proc' _j45 = home
else uniMsg_Proc' _j45 = (uniMsg_Proc _j45)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_GetX_PutX_def:
transition__pi_Local_GetX_PutX <-> (* transition pi_Local_GetX_PutX *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home <> CACHE_E /\
dir_Pending = False /\
dir_Dirty = False /\
dir_HeadVld = False) /\
( (* actions *)
dir_Local' = True /\
dir_Dirty' = True /\
procCmd_home' = NODE_None /\
invMarked_home' = False /\
cacheState_home' = CACHE_E /\
home' = home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Put1_def:
transition__ni_Local_Get_Put1 <-> (* transition ni_Local_Get_Put1 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Dirty = False /\
dir_HeadVld = False /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j24:int.
if _j24 = src then
 uniMsg_Cmd' _j24 = UNI_Put
else uniMsg_Cmd' _j24 = (uniMsg_Cmd _j24)) /\
(forall _j25:int.
if _j25 = src then
 uniMsg_Proc' _j25 = home
else uniMsg_Proc' _j25 = (uniMsg_Proc _j25)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_Put_def:
transition__ni_Remote_Put <-> (* transition ni_Remote_Put *)
(exists dst:int. 
( (* requires *)
home <> dst /\
(invMarked dst) = False /\
(uniMsg_Cmd dst) = UNI_Put) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j78:int.
if _j78 = dst then
 uniMsg_Cmd' _j78 = UNI_None
else uniMsg_Cmd' _j78 = (uniMsg_Cmd _j78)) /\
(forall _j79:int.
if _j79 = dst then
 procCmd' _j79 = NODE_None
else procCmd' _j79 = (procCmd _j79)) /\
(forall _j80:int.
if _j80 = dst then
 cacheState' _j80 = CACHE_S
else cacheState' _j80 = (cacheState _j80)) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_GetX_PutX_HeadVld_def:
transition__pi_Local_GetX_PutX_HeadVld <-> (* transition pi_Local_GetX_PutX_HeadVld *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home <> CACHE_E /\
dir_Pending = False /\
dir_Dirty = False /\
dir_HeadVld = True) /\
( (* actions *)
dir_Local' = True /\
dir_Dirty' = True /\
dir_Pending' = True /\
dir_HeadVld' = False /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
collecting' = True /\
procCmd_home' = NODE_None /\
invMarked_home' = False /\
cacheState_home' = CACHE_E /\
home' = home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_HeadPtr' = dir_HeadPtr /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if dir_HeadPtr = p then
 dir_InvSet' p = True
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_GetX_GetX_def:
transition__pi_Local_GetX_GetX <-> (* transition pi_Local_GetX_GetX *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home <> CACHE_E /\
dir_Pending = False /\
dir_Dirty = True) /\
( (* actions *)
procCmd_home' = NODE_GetX /\
dir_Pending' = True /\
uniMsg_Cmd_home' = UNI_GetX /\
uniMsg_Proc_home' = dir_HeadPtr /\
collecting' = False /\
home' = home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_FAck_def:
transition__ni_FAck <-> (* transition ni_FAck *)
(( (* requires *)
dir_Dirty = False /\
shWbMsg_Cmd = SHWB_FAck) /\
( (* actions *)
shWbMsg_Cmd' = SHWB_None /\
dir_Pending' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_InvAck_exists_home_def:
transition__ni_InvAck_exists_home <-> (* transition ni_InvAck_exists_home *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = True /\
dir_InvSet_home = True /\
(dir_InvSet src) = True /\
(invMsg_Cmd src) = INV_InvAck) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j92:int.
if _j92 = src then
 invMsg_Cmd' _j92 = INV_None
else invMsg_Cmd' _j92 = (invMsg_Cmd _j92)) /\
(forall _j93:int.
if _j93 = src then
 dir_InvSet' _j93 = False
else dir_InvSet' _j93 = (dir_InvSet _j93)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_PutXAcksDone_def:
transition__ni_Local_PutXAcksDone <-> (* transition ni_Local_PutXAcksDone *)
(( (* requires *)
uniMsg_Cmd_home = UNI_PutX) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_None /\
dir_Pending' = False /\
dir_Local' = True /\
dir_HeadVld' = False /\
procCmd_home' = NODE_None /\
invMarked_home' = False /\
cacheState_home' = CACHE_E /\
home' = home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Dirty' = dir_Dirty /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_10_def:
transition__ni_Local_GetX_PutX_10 <-> (* transition ni_Local_GetX_PutX_10 *)
(exists src pp:int. src <> pp /\ 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = False /\
dir_HeadVld = True /\
dir_HeadPtr = src /\
(dir_ShrSet pp) = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
collecting' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if p = src then
 dir_InvSet' p = False
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if p = src then
 invMsg_Cmd' p = INV_None
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall _j62:int.
if _j62 = src then
 uniMsg_Cmd' _j62 = UNI_PutX
else uniMsg_Cmd' _j62 = (uniMsg_Cmd _j62)) /\
(forall _j63:int.
if _j63 = src then
 uniMsg_Proc' _j63 = home
else uniMsg_Proc' _j63 = (uniMsg_Proc _j63)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_Get_Put_def:
transition__ni_Remote_Get_Put <-> (* transition ni_Remote_Get_Put *)
(exists src dst:int. src <> dst /\ 
( (* requires *)
home <> src /\
home <> dst /\
(cacheState dst) = CACHE_E /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = dst) /\
( (* actions *)
shWbMsg_Cmd' = SHWB_ShWb /\
shWbMsg_Proc' = src /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j30:int.
if _j30 = dst then
 cacheState' _j30 = CACHE_S
else cacheState' _j30 = (cacheState _j30)) /\
(forall _j31:int.
if _j31 = src then
 uniMsg_Cmd' _j31 = UNI_Put
else uniMsg_Cmd' _j31 = (uniMsg_Cmd _j31)) /\
(forall _j32:int.
if _j32 = src then
 uniMsg_Proc' _j32 = dst
else uniMsg_Proc' _j32 = (uniMsg_Proc _j32)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_PutX_def:
transition__pi_Local_PutX <-> (* transition pi_Local_PutX *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home = CACHE_E /\
dir_Pending = False) /\
( (* actions *)
cacheState_home' = CACHE_I /\
dir_Local' = False /\
dir_Dirty' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_11_def:
transition__ni_Local_GetX_PutX_11 <-> (* transition ni_Local_GetX_PutX_11 *)
(exists src:int. 
( (* requires *)
home <> src /\
cacheState_home = CACHE_E /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j66:int.
if _j66 = src then
 uniMsg_Cmd' _j66 = UNI_PutX
else uniMsg_Cmd' _j66 = (uniMsg_Cmd _j66)) /\
(forall _j67:int.
if _j67 = src then
 uniMsg_Proc' _j67 = home
else uniMsg_Proc' _j67 = (uniMsg_Proc _j67)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_InvAck_done_1_def:
transition__ni_InvAck_done_1 <-> (* transition ni_InvAck_done_1 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = True /\
dir_Local = True /\
dir_Dirty = False /\
dir_InvSet_home = False /\
(dir_InvSet src) = True /\
(invMsg_Cmd src) = INV_InvAck
/\ (forall p:int.src = p \/ 
((dir_InvSet p) = False))
) /\
( (* actions *)
dir_Pending' = False /\
dir_Local' = False /\
collecting' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall _j94:int.
if _j94 = src then
 invMsg_Cmd' _j94 = INV_None
else invMsg_Cmd' _j94 = (invMsg_Cmd _j94)) /\
(forall _j95:int.
if _j95 = src then
 dir_InvSet' _j95 = False
else dir_InvSet' _j95 = (dir_InvSet _j95)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_FAck_dirty_def:
transition__ni_FAck_dirty <-> (* transition ni_FAck_dirty *)
(( (* requires *)
dir_Dirty = True /\
shWbMsg_Cmd = SHWB_FAck) /\
( (* actions *)
shWbMsg_Cmd' = SHWB_None /\
dir_Pending' = False /\
dir_HeadPtr' = shWbMsg_Proc /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Nak_home_def:
transition__ni_Nak_home <-> (* transition ni_Nak_home *)
(( (* requires *)
uniMsg_Cmd_home = UNI_Nak) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_None /\
procCmd_home' = NODE_None /\
invMarked_home' = False /\
home' = home /\
cacheState_home' = cacheState_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_ShWb_home_def:
transition__ni_ShWb_home <-> (* transition ni_ShWb_home *)
(( (* requires *)
shWbMsg_Cmd = SHWB_ShWb /\
shWbMsg_Proc = home) /\
( (* actions *)
shWbMsg_Cmd' = SHWB_None /\
dir_Pending' = False /\
dir_Dirty' = False /\
dir_ShrVld' = True /\
dir_ShrSet_home' = True /\
dir_InvSet_home' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_InvSet' p = (dir_ShrSet p)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Inv_def:
transition__ni_Inv <-> (* transition ni_Inv *)
(exists dst:int. 
( (* requires *)
home <> dst /\
(procCmd dst) <> NODE_Get /\
(invMsg_Cmd dst) = INV_Inv) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j88:int.
if _j88 = dst then
 invMsg_Cmd' _j88 = INV_InvAck
else invMsg_Cmd' _j88 = (invMsg_Cmd _j88)) /\
(forall _j89:int.
if _j89 = dst then
 cacheState' _j89 = CACHE_I
else cacheState' _j89 = (cacheState _j89)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_Put_inv_def:
transition__ni_Remote_Put_inv <-> (* transition ni_Remote_Put_inv *)
(exists dst:int. 
( (* requires *)
home <> dst /\
(invMarked dst) = True /\
(uniMsg_Cmd dst) = UNI_Put) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j74:int.
if _j74 = dst then
 uniMsg_Cmd' _j74 = UNI_None
else uniMsg_Cmd' _j74 = (uniMsg_Cmd _j74)) /\
(forall _j75:int.
if _j75 = dst then
 procCmd' _j75 = NODE_None
else procCmd' _j75 = (procCmd _j75)) /\
(forall _j76:int.
if _j76 = dst then
 invMarked' _j76 = False
else invMarked' _j76 = (invMarked _j76)) /\
(forall _j77:int.
if _j77 = dst then
 cacheState' _j77 = CACHE_I
else cacheState' _j77 = (cacheState _j77)) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_3_def:
transition__ni_Local_GetX_PutX_3 <-> (* transition ni_Local_GetX_PutX_3 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = False /\
dir_HeadVld = False /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j46:int.
if _j46 = src then
 uniMsg_Cmd' _j46 = UNI_PutX
else uniMsg_Cmd' _j46 = (uniMsg_Cmd _j46)) /\
(forall _j47:int.
if _j47 = src then
 uniMsg_Proc' _j47 = home
else uniMsg_Proc' _j47 = (uniMsg_Proc _j47)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Replace_shrvld_home_def:
transition__ni_Replace_shrvld_home <-> (* transition ni_Replace_shrvld_home *)
(( (* requires *)
rpMsg_Cmd_home = RP_Replace /\
dir_ShrVld = True) /\
( (* actions *)
rpMsg_Cmd_home' = RP_None /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_GetX_def:
transition__ni_Local_GetX_GetX <-> (* transition ni_Local_GetX_GetX *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = True /\
dir_HeadPtr <> src /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
collecting' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall _j40:int.
if _j40 = src then
 uniMsg_Cmd' _j40 = UNI_GetX
else uniMsg_Cmd' _j40 = (uniMsg_Cmd _j40)) /\
(forall _j41:int.
if _j41 = src then
 uniMsg_Proc' _j41 = dir_HeadPtr
else uniMsg_Proc' _j41 = (uniMsg_Proc _j41)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Nak_def:
transition__ni_Nak <-> (* transition ni_Nak *)
(exists dst:int. 
( (* requires *)
(uniMsg_Cmd dst) = UNI_Nak) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j10:int.
if _j10 = dst then
 uniMsg_Cmd' _j10 = UNI_None
else uniMsg_Cmd' _j10 = (uniMsg_Cmd _j10)) /\
(forall _j11:int.
if _j11 = dst then
 procCmd' _j11 = NODE_None
else procCmd' _j11 = (procCmd _j11)) /\
(forall _j12:int.
if _j12 = dst then
 invMarked' _j12 = False
else invMarked' _j12 = (invMarked _j12)) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_7_def:
transition__ni_Local_GetX_PutX_7 <-> (* transition ni_Local_GetX_PutX_7 *)
(exists src:int. 
( (* requires *)
home <> src /\
procCmd_home <> NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadVld = True /\
dir_HeadPtr <> src /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
cacheState_home' = CACHE_I /\
collecting' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if p = src then
 dir_InvSet' p = False
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if p = src then
 invMsg_Cmd' p = INV_None
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall _j54:int.
if _j54 = src then
 uniMsg_Cmd' _j54 = UNI_PutX
else uniMsg_Cmd' _j54 = (uniMsg_Cmd _j54)) /\
(forall _j55:int.
if _j55 = src then
 uniMsg_Proc' _j55 = home
else uniMsg_Proc' _j55 = (uniMsg_Proc _j55)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_PutX_pending_def:
transition__pi_Local_PutX_pending <-> (* transition pi_Local_PutX_pending *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home = CACHE_E /\
dir_Pending = True) /\
( (* actions *)
cacheState_home' = CACHE_I /\
dir_Dirty' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_Get_Put_InvM_def:
transition__pi_Local_Get_Put_InvM <-> (* transition pi_Local_Get_Put_InvM *)
(( (* requires *)
procCmd_home = NODE_None /\
invMarked_home = True /\
cacheState_home = CACHE_I /\
dir_Pending = False /\
dir_Dirty = False) /\
( (* actions *)
dir_Local' = True /\
procCmd_home' = NODE_None /\
invMarked_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_InvAck_done_2_def:
transition__ni_InvAck_done_2 <-> (* transition ni_InvAck_done_2 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = True /\
dir_Local = False /\
dir_InvSet_home = False /\
(dir_InvSet src) = True /\
(invMsg_Cmd src) = INV_InvAck
/\ (forall p:int.src = p \/ 
((dir_InvSet p) = False))
) /\
( (* actions *)
dir_Pending' = False /\
collecting' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall _j96:int.
if _j96 = src then
 invMsg_Cmd' _j96 = INV_None
else invMsg_Cmd' _j96 = (invMsg_Cmd _j96)) /\
(forall _j97:int.
if _j97 = src then
 dir_InvSet' _j97 = False
else dir_InvSet' _j97 = (dir_InvSet _j97)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_PutX_def:
transition__ni_Remote_PutX <-> (* transition ni_Remote_PutX *)
(exists dst:int. 
( (* requires *)
home <> dst /\
(procCmd dst) = NODE_GetX /\
(uniMsg_Cmd dst) = UNI_PutX) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j81:int.
if _j81 = dst then
 uniMsg_Cmd' _j81 = UNI_None
else uniMsg_Cmd' _j81 = (uniMsg_Cmd _j81)) /\
(forall _j82:int.
if _j82 = dst then
 procCmd' _j82 = NODE_None
else procCmd' _j82 = (procCmd _j82)) /\
(forall _j83:int.
if _j83 = dst then
 invMarked' _j83 = False
else invMarked' _j83 = (invMarked _j83)) /\
(forall _j84:int.
if _j84 = dst then
 cacheState' _j84 = CACHE_E
else cacheState' _j84 = (cacheState _j84)) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_Nak_def:
transition__ni_Local_GetX_Nak <-> (* transition ni_Local_GetX_Nak *)
(exists src:int. 
( (* requires *)
home <> src /\
cacheState_home <> CACHE_E /\
dir_Local = True /\
dir_Dirty = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j36:int.
if _j36 = src then
 uniMsg_Cmd' _j36 = UNI_Nak
else uniMsg_Cmd' _j36 = (uniMsg_Cmd _j36)) /\
(forall _j37:int.
if _j37 = src then
 uniMsg_Proc' _j37 = home
else uniMsg_Proc' _j37 = (uniMsg_Proc _j37)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_Get_Get_def:
transition__pi_Local_Get_Get <-> (* transition pi_Local_Get_Get *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home = CACHE_I /\
dir_Pending = False /\
dir_Dirty = True) /\
( (* actions *)
procCmd_home' = NODE_Get /\
dir_Pending' = True /\
uniMsg_Cmd_home' = UNI_Get /\
uniMsg_Proc_home' = dir_HeadPtr /\
collecting' = False /\
home' = home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Put1_Head_def:
transition__ni_Local_Get_Put1_Head <-> (* transition ni_Local_Get_Put1_Head *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Dirty = False /\
dir_HeadVld = True /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
dir_ShrVld' = True /\
dir_InvSet_home' = dir_ShrSet_home /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrSet_home' = dir_ShrSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j21:int.
if _j21 = src then
 dir_ShrSet' _j21 = True
else dir_ShrSet' _j21 = (dir_ShrSet _j21)) /\
(forall p:int.
if p = src then
 dir_InvSet' p = True
else dir_InvSet' p = (dir_ShrSet p)) /\
(forall _j22:int.
if _j22 = src then
 uniMsg_Cmd' _j22 = UNI_Put
else uniMsg_Cmd' _j22 = (uniMsg_Cmd _j22)) /\
(forall _j23:int.
if _j23 = src then
 uniMsg_Proc' _j23 = home
else uniMsg_Proc' _j23 = (uniMsg_Proc _j23)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_GetX_PutX_home_def:
transition__ni_Remote_GetX_PutX_home <-> (* transition ni_Remote_GetX_PutX_home *)
(exists dst:int. 
( (* requires *)
home <> dst /\
uniMsg_Cmd_home = UNI_GetX /\
uniMsg_Proc_home = dst /\
(cacheState dst) = CACHE_E) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_PutX /\
uniMsg_Proc_home' = dst /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j70:int.
if _j70 = dst then
 cacheState' _j70 = CACHE_I
else cacheState' _j70 = (cacheState _j70)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Inv_get_def:
transition__ni_Inv_get <-> (* transition ni_Inv_get *)
(exists dst:int. 
( (* requires *)
home <> dst /\
(procCmd dst) = NODE_Get /\
(invMsg_Cmd dst) = INV_Inv) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j85:int.
if _j85 = dst then
 invMsg_Cmd' _j85 = INV_InvAck
else invMsg_Cmd' _j85 = (invMsg_Cmd _j85)) /\
(forall _j86:int.
if _j86 = dst then
 cacheState' _j86 = CACHE_I
else cacheState' _j86 = (cacheState _j86)) /\
(forall _j87:int.
if _j87 = dst then
 invMarked' _j87 = True
else invMarked' _j87 = (invMarked _j87)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_9_def:
transition__ni_Local_GetX_PutX_9 <-> (* transition ni_Local_GetX_PutX_9 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = False /\
dir_HeadVld = True /\
dir_HeadPtr <> src /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
collecting' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if p = src then
 dir_InvSet' p = False
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if p = src then
 invMsg_Cmd' p = INV_None
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall _j60:int.
if _j60 = src then
 uniMsg_Cmd' _j60 = UNI_PutX
else uniMsg_Cmd' _j60 = (uniMsg_Cmd _j60)) /\
(forall _j61:int.
if _j61 = src then
 uniMsg_Proc' _j61 = home
else uniMsg_Proc' _j61 = (uniMsg_Proc _j61)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Replace_def:
transition__ni_Replace <-> (* transition ni_Replace *)
(exists src:int. 
( (* requires *)
dir_ShrVld = False /\
(rpMsg_Cmd src) = RP_Replace) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j103:int.
if _j103 = src then
 rpMsg_Cmd' _j103 = RP_None
else rpMsg_Cmd' _j103 = (rpMsg_Cmd _j103)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) ))


axiom transition__ni_Replace_home_def:
transition__ni_Replace_home <-> (* transition ni_Replace_home *)
(( (* requires *)
rpMsg_Cmd_home = RP_Replace /\
dir_ShrVld = False) /\
( (* actions *)
rpMsg_Cmd_home' = RP_None /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Nak1_def:
transition__ni_Local_Get_Nak1 <-> (* transition ni_Local_Get_Nak1 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = True /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j13:int.
if _j13 = src then
 uniMsg_Cmd' _j13 = UNI_Nak
else uniMsg_Cmd' _j13 = (uniMsg_Cmd _j13)) /\
(forall _j14:int.
if _j14 = src then
 uniMsg_Proc' _j14 = home
else uniMsg_Proc' _j14 = (uniMsg_Proc _j14)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_GetX_Nak_home_def:
transition__ni_Remote_GetX_Nak_home <-> (* transition ni_Remote_GetX_Nak_home *)
(exists dst:int. 
( (* requires *)
home <> dst /\
uniMsg_Cmd_home = UNI_GetX /\
uniMsg_Proc_home = dst /\
(cacheState dst) <> CACHE_E) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_Nak /\
uniMsg_Proc_home' = dst /\
nakcMsg_Cmd' = NAKC_Nakc /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_Get_Put_def:
transition__pi_Local_Get_Put <-> (* transition pi_Local_Get_Put *)
(( (* requires *)
procCmd_home = NODE_None /\
invMarked_home = False /\
cacheState_home = CACHE_I /\
dir_Pending = False /\
dir_Dirty = False) /\
( (* actions *)
dir_Local' = True /\
procCmd_home' = NODE_None /\
cacheState_home' = CACHE_S /\
home' = home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_GetX_Nak_def:
transition__ni_Remote_GetX_Nak <-> (* transition ni_Remote_GetX_Nak *)
(exists src dst:int. src <> dst /\ 
( (* requires *)
home <> dst /\
(cacheState dst) <> CACHE_E /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = dst) /\
( (* actions *)
nakcMsg_Cmd' = NAKC_Nakc /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
collecting' = collecting /\
(forall _j68:int.
if _j68 = src then
 uniMsg_Cmd' _j68 = UNI_Nak
else uniMsg_Cmd' _j68 = (uniMsg_Cmd _j68)) /\
(forall _j69:int.
if _j69 = src then
 uniMsg_Proc' _j69 = dst
else uniMsg_Proc' _j69 = (uniMsg_Proc _j69)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_5_def:
transition__ni_Local_GetX_PutX_5 <-> (* transition ni_Local_GetX_PutX_5 *)
(exists src:int. 
( (* requires *)
home <> src /\
procCmd_home <> NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadPtr = src /\
dir_ShrSet_home = False /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home
/\ (forall p:int.src = p \/ 
((dir_ShrSet p) = False))
) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j50:int.
if _j50 = src then
 uniMsg_Cmd' _j50 = UNI_PutX
else uniMsg_Cmd' _j50 = (uniMsg_Cmd _j50)) /\
(forall _j51:int.
if _j51 = src then
 uniMsg_Proc' _j51 = home
else uniMsg_Proc' _j51 = (uniMsg_Proc _j51)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Remote_Replace_def:
transition__pi_Remote_Replace <-> (* transition pi_Remote_Replace *)
(exists src:int. 
( (* requires *)
home <> src /\
(procCmd src) = NODE_None /\
(cacheState src) = CACHE_S) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j8:int.
if _j8 = src then
 cacheState' _j8 = CACHE_I
else cacheState' _j8 = (cacheState _j8)) /\
(forall _j9:int.
if _j9 = src then
 rpMsg_Cmd' _j9 = RP_Replace
else rpMsg_Cmd' _j9 = (rpMsg_Cmd _j9)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) ))


axiom transition__ni_Replace_shrvld_def:
transition__ni_Replace_shrvld <-> (* transition ni_Replace_shrvld *)
(exists src:int. 
( (* requires *)
dir_ShrVld = True /\
(rpMsg_Cmd src) = RP_Replace) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j100:int.
if _j100 = src then
 rpMsg_Cmd' _j100 = RP_None
else rpMsg_Cmd' _j100 = (rpMsg_Cmd _j100)) /\
(forall _j101:int.
if _j101 = src then
 dir_ShrSet' _j101 = False
else dir_ShrSet' _j101 = (dir_ShrSet _j101)) /\
(forall _j102:int.
if _j102 = src then
 dir_InvSet' _j102 = False
else dir_InvSet' _j102 = (dir_InvSet _j102)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) ))


axiom transition__ni_InvAck_exists_def:
transition__ni_InvAck_exists <-> (* transition ni_InvAck_exists *)
(exists src pp:int. src <> pp /\ 
( (* requires *)
home <> src /\
dir_Pending = True /\
(dir_InvSet src) = True /\
(dir_InvSet pp) = True /\
(invMsg_Cmd src) = INV_InvAck) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j90:int.
if _j90 = src then
 invMsg_Cmd' _j90 = INV_None
else invMsg_Cmd' _j90 = (invMsg_Cmd _j90)) /\
(forall _j91:int.
if _j91 = src then
 dir_InvSet' _j91 = False
else dir_InvSet' _j91 = (dir_InvSet _j91)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Put_def:
transition__ni_Local_Put <-> (* transition ni_Local_Put *)
(( (* requires *)
invMarked_home = False /\
uniMsg_Cmd_home = UNI_Put) /\
( (* actions *)
uniMsg_Cmd_home' = UNI_None /\
dir_Pending' = False /\
dir_Dirty' = False /\
dir_Local' = True /\
procCmd_home' = NODE_None /\
cacheState_home' = CACHE_S /\
home' = home /\
invMarked_home' = invMarked_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_4_def:
transition__ni_Local_GetX_PutX_4 <-> (* transition ni_Local_GetX_PutX_4 *)
(exists src:int. 
( (* requires *)
home <> src /\
procCmd_home = NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadPtr = src /\
dir_ShrSet_home = False /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home
/\ (forall p:int.src = p \/ 
((dir_ShrSet p) = False))
) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
invMarked_home' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j48:int.
if _j48 = src then
 uniMsg_Cmd' _j48 = UNI_PutX
else uniMsg_Cmd' _j48 = (uniMsg_Cmd _j48)) /\
(forall _j49:int.
if _j49 = src then
 uniMsg_Proc' _j49 = home
else uniMsg_Proc' _j49 = (uniMsg_Proc _j49)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Local_Replace_def:
transition__pi_Local_Replace <-> (* transition pi_Local_Replace *)
(( (* requires *)
procCmd_home = NODE_None /\
cacheState_home = CACHE_S) /\
( (* actions *)
dir_Local' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Remote_PutX_def:
transition__pi_Remote_PutX <-> (* transition pi_Remote_PutX *)
(exists dst:int. 
( (* requires *)
home <> dst /\
(procCmd dst) = NODE_None /\
(cacheState dst) = CACHE_E) /\
( (* actions *)
wbMsg_Cmd' = WB_Wb /\
wbMsg_Proc' = dst /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j7:int.
if _j7 = dst then
 cacheState' _j7 = CACHE_I
else cacheState' _j7 = (cacheState _j7)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_8_home_def:
transition__ni_Local_GetX_PutX_8_home <-> (* transition ni_Local_GetX_PutX_8_home *)
(exists src:int. 
( (* requires *)
home <> src /\
procCmd_home <> NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadVld = True /\
dir_HeadPtr = src /\
dir_ShrSet_home = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
cacheState_home' = CACHE_I /\
collecting' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if p = src then
 dir_InvSet' p = False
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if p = src then
 invMsg_Cmd' p = INV_None
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall _j58:int.
if _j58 = src then
 uniMsg_Cmd' _j58 = UNI_PutX
else uniMsg_Cmd' _j58 = (uniMsg_Cmd _j58)) /\
(forall _j59:int.
if _j59 = src then
 uniMsg_Proc' _j59 = home
else uniMsg_Proc' _j59 = (uniMsg_Proc _j59)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__pi_Remote_GetX_def:
transition__pi_Remote_GetX <-> (* transition pi_Remote_GetX *)
(exists src:int. 
( (* requires *)
home <> src /\
(procCmd src) = NODE_None /\
(cacheState src) = CACHE_I) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j4:int.
if _j4 = src then
 procCmd' _j4 = NODE_GetX
else procCmd' _j4 = (procCmd _j4)) /\
(forall _j5:int.
if _j5 = src then
 uniMsg_Cmd' _j5 = UNI_GetX
else uniMsg_Cmd' _j5 = (uniMsg_Cmd _j5)) /\
(forall _j6:int.
if _j6 = src then
 uniMsg_Proc' _j6 = home
else uniMsg_Proc' _j6 = (uniMsg_Proc _j6)) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Put2_dirty_def:
transition__ni_Local_Get_Put2_dirty <-> (* transition ni_Local_Get_Put2_dirty *)
(exists src:int. 
( (* requires *)
home <> src /\
cacheState_home = CACHE_E /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = True /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
dir_Dirty' = False /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
cacheState_home' = CACHE_S /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j26:int.
if _j26 = src then
 uniMsg_Cmd' _j26 = UNI_Put
else uniMsg_Cmd' _j26 = (uniMsg_Cmd _j26)) /\
(forall _j27:int.
if _j27 = src then
 uniMsg_Proc' _j27 = home
else uniMsg_Proc' _j27 = (uniMsg_Proc _j27)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Nak_Clear_def:
transition__ni_Nak_Clear <-> (* transition ni_Nak_Clear *)
(( (* requires *)
nakcMsg_Cmd = NAKC_Nakc) /\
( (* actions *)
nakcMsg_Cmd' = NAKC_None /\
dir_Pending' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
collecting' = collecting /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_6_def:
transition__ni_Local_GetX_PutX_6 <-> (* transition ni_Local_GetX_PutX_6 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = False /\
dir_HeadPtr = src /\
dir_ShrSet_home = False /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home
/\ (forall p:int.src = p \/ 
((dir_ShrSet p) = False))
) /\
( (* actions *)
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
cacheState_home' = CACHE_I /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
dir_InvSet' p = False) /\
(forall _j52:int.
if _j52 = src then
 uniMsg_Cmd' _j52 = UNI_PutX
else uniMsg_Cmd' _j52 = (uniMsg_Cmd _j52)) /\
(forall _j53:int.
if _j53 = src then
 uniMsg_Proc' _j53 = home
else uniMsg_Proc' _j53 = (uniMsg_Proc _j53)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Remote_GetX_PutX_def:
transition__ni_Remote_GetX_PutX <-> (* transition ni_Remote_GetX_PutX *)
(exists src dst:int. src <> dst /\ 
( (* requires *)
home <> src /\
home <> dst /\
(cacheState dst) = CACHE_E /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = dst) /\
( (* actions *)
shWbMsg_Cmd' = SHWB_FAck /\
shWbMsg_Proc' = src /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j71:int.
if _j71 = dst then
 cacheState' _j71 = CACHE_I
else cacheState' _j71 = (cacheState _j71)) /\
(forall _j72:int.
if _j72 = src then
 uniMsg_Cmd' _j72 = UNI_PutX
else uniMsg_Cmd' _j72 = (uniMsg_Cmd _j72)) /\
(forall _j73:int.
if _j73 = src then
 uniMsg_Proc' _j73 = dst
else uniMsg_Proc' _j73 = (uniMsg_Proc _j73)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_PutX_8_def:
transition__ni_Local_GetX_PutX_8 <-> (* transition ni_Local_GetX_PutX_8 *)
(exists src pp:int. src <> pp /\ 
( (* requires *)
home <> src /\
procCmd_home <> NODE_Get /\
dir_Pending = False /\
dir_Local = True /\
dir_Dirty = False /\
dir_HeadVld = True /\
dir_HeadPtr = src /\
(dir_ShrSet pp) = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
dir_Pending' = True /\
dir_Local' = False /\
dir_Dirty' = True /\
dir_HeadVld' = True /\
dir_HeadPtr' = src /\
dir_ShrVld' = False /\
dir_ShrSet_home' = False /\
dir_InvSet_home' = False /\
invMsg_Cmd_home' = INV_None /\
cacheState_home' = CACHE_I /\
collecting' = True /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall p:int.
dir_ShrSet' p = False) /\
(forall p:int.
if p = src then
 dir_InvSet' p = False
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 dir_InvSet' p = True
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 dir_InvSet' p = True
else dir_InvSet' p = False) /\
(forall p:int.
if p = src then
 invMsg_Cmd' p = INV_None
else if dir_ShrVld = True /\
(dir_ShrSet p) = True then
 invMsg_Cmd' p = INV_Inv
else if dir_HeadVld = True /\
dir_HeadPtr = p then
 invMsg_Cmd' p = INV_Inv
else invMsg_Cmd' p = INV_None) /\
(forall _j56:int.
if _j56 = src then
 uniMsg_Cmd' _j56 = UNI_PutX
else uniMsg_Cmd' _j56 = (uniMsg_Cmd _j56)) /\
(forall _j57:int.
if _j57 = src then
 uniMsg_Proc' _j57 = home
else uniMsg_Proc' _j57 = (uniMsg_Proc _j57)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_ShWb_def:
transition__ni_ShWb <-> (* transition ni_ShWb *)
(( (* requires *)
shWbMsg_Cmd = SHWB_ShWb /\
shWbMsg_Proc <> home) /\
( (* actions *)
shWbMsg_Cmd' = SHWB_None /\
dir_Pending' = False /\
dir_Dirty' = False /\
dir_ShrVld' = True /\
dir_InvSet_home' = dir_ShrSet_home /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrSet_home' = dir_ShrSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall p:int.
if p = shWbMsg_Proc then
 dir_ShrSet' p = True
else dir_ShrSet' p = (dir_ShrSet p)) /\
(forall p:int.
if p = shWbMsg_Proc then
 dir_InvSet' p = True
else dir_InvSet' p = (dir_ShrSet p)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_InvAck_done_3_def:
transition__ni_InvAck_done_3 <-> (* transition ni_InvAck_done_3 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = True /\
dir_Dirty = True /\
dir_InvSet_home = False /\
(dir_InvSet src) = True /\
(invMsg_Cmd src) = INV_InvAck
/\ (forall p:int.src = p \/ 
((dir_InvSet p) = False))
) /\
( (* actions *)
dir_Pending' = False /\
collecting' = False /\
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
(forall _j98:int.
if _j98 = src then
 invMsg_Cmd' _j98 = INV_None
else invMsg_Cmd' _j98 = (invMsg_Cmd _j98)) /\
(forall _j99:int.
if _j99 = src then
 dir_InvSet' _j99 = False
else dir_InvSet' _j99 = (dir_InvSet _j99)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. uniMsg_Cmd' z1 = uniMsg_Cmd z1) /\
(forall z1:int. uniMsg_Proc' z1 = uniMsg_Proc z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_GetX_Nak1_def:
transition__ni_Local_GetX_Nak1 <-> (* transition ni_Local_GetX_Nak1 *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Pending = True /\
(uniMsg_Cmd src) = UNI_GetX /\
(uniMsg_Proc src) = home) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j34:int.
if _j34 = src then
 uniMsg_Cmd' _j34 = UNI_Nak
else uniMsg_Cmd' _j34 = (uniMsg_Cmd _j34)) /\
(forall _j35:int.
if _j35 = src then
 uniMsg_Proc' _j35 = home
else uniMsg_Proc' _j35 = (uniMsg_Proc _j35)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Nak__def:
transition__ni_Local_Get_Nak_ <-> (* transition ni_Local_Get_Nak *)
(exists src:int. 
( (* requires *)
home <> src /\
dir_Local = False /\
dir_Dirty = True /\
dir_HeadPtr = src /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j17:int.
if _j17 = src then
 uniMsg_Cmd' _j17 = UNI_Nak
else uniMsg_Cmd' _j17 = (uniMsg_Cmd _j17)) /\
(forall _j18:int.
if _j18 = src then
 uniMsg_Proc' _j18 = home
else uniMsg_Proc' _j18 = (uniMsg_Proc _j18)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom transition__ni_Local_Get_Nak_def:
transition__ni_Local_Get_Nak <-> (* transition ni_Local_Get_Nak *)
(exists src:int. 
( (* requires *)
home <> src /\
cacheState_home <> CACHE_E /\
dir_Local = True /\
dir_Dirty = True /\
(uniMsg_Cmd src) = UNI_Get /\
(uniMsg_Proc src) = home /\
(rpMsg_Cmd src) <> RP_Replace) /\
( (* actions *)
home' = home /\
procCmd_home' = procCmd_home /\
invMarked_home' = invMarked_home /\
cacheState_home' = cacheState_home /\
uniMsg_Cmd_home' = uniMsg_Cmd_home /\
uniMsg_Proc_home' = uniMsg_Proc_home /\
invMsg_Cmd_home' = invMsg_Cmd_home /\
rpMsg_Cmd_home' = rpMsg_Cmd_home /\
dir_Pending' = dir_Pending /\
dir_Local' = dir_Local /\
dir_Dirty' = dir_Dirty /\
dir_HeadVld' = dir_HeadVld /\
dir_HeadPtr' = dir_HeadPtr /\
dir_ShrVld' = dir_ShrVld /\
dir_ShrSet_home' = dir_ShrSet_home /\
dir_InvSet_home' = dir_InvSet_home /\
wbMsg_Cmd' = wbMsg_Cmd /\
wbMsg_Proc' = wbMsg_Proc /\
shWbMsg_Cmd' = shWbMsg_Cmd /\
shWbMsg_Proc' = shWbMsg_Proc /\
nakcMsg_Cmd' = nakcMsg_Cmd /\
collecting' = collecting /\
(forall _j15:int.
if _j15 = src then
 uniMsg_Cmd' _j15 = UNI_Nak
else uniMsg_Cmd' _j15 = (uniMsg_Cmd _j15)) /\
(forall _j16:int.
if _j16 = src then
 uniMsg_Proc' _j16 = home
else uniMsg_Proc' _j16 = (uniMsg_Proc _j16)) /\
(forall z1:int. procCmd' z1 = procCmd z1) /\
(forall z1:int. invMarked' z1 = invMarked z1) /\
(forall z1:int. cacheState' z1 = cacheState z1) /\
(forall z1:int. dir_ShrSet' z1 = dir_ShrSet z1) /\
(forall z1:int. dir_InvSet' z1 = dir_InvSet z1) /\
(forall z1:int. invMsg_Cmd' z1 = invMsg_Cmd z1) /\
(forall z1:int. rpMsg_Cmd' z1 = rpMsg_Cmd z1) ))


axiom tau_def:
tau <-> (transition__ni_Local_Get_Nak \/ transition__ni_Local_Get_Nak_ \/ transition__ni_Local_GetX_Nak1 \/ transition__ni_InvAck_done_3 \/ transition__ni_ShWb \/ transition__ni_Local_GetX_PutX_8 \/ transition__ni_Remote_GetX_PutX \/ transition__ni_Local_GetX_PutX_6 \/ transition__ni_Nak_Clear \/ transition__ni_Local_Get_Put2_dirty \/ transition__pi_Remote_GetX \/ transition__ni_Local_GetX_PutX_8_home \/ transition__pi_Remote_PutX \/ transition__pi_Local_Replace \/ transition__ni_Local_GetX_PutX_4 \/ transition__ni_Local_Put \/ transition__ni_InvAck_exists \/ transition__ni_Replace_shrvld \/ transition__pi_Remote_Replace \/ transition__ni_Local_GetX_PutX_5 \/ transition__ni_Remote_GetX_Nak \/ transition__pi_Local_Get_Put \/ transition__ni_Remote_GetX_Nak_home \/ transition__ni_Local_Get_Nak1 \/ transition__ni_Replace_home \/ transition__ni_Replace \/ transition__ni_Local_GetX_PutX_9 \/ transition__ni_Inv_get \/ transition__ni_Remote_GetX_PutX_home \/ transition__ni_Local_Get_Put1_Head \/ transition__pi_Local_Get_Get \/ transition__ni_Local_GetX_Nak \/ transition__ni_Remote_PutX \/ transition__ni_InvAck_done_2 \/ transition__pi_Local_Get_Put_InvM \/ transition__pi_Local_PutX_pending \/ transition__ni_Local_GetX_PutX_7 \/ transition__ni_Nak \/ transition__ni_Local_GetX_GetX \/ transition__ni_Replace_shrvld_home \/ transition__ni_Local_GetX_PutX_3 \/ transition__ni_Remote_Put_inv \/ transition__ni_Inv \/ transition__ni_ShWb_home \/ transition__ni_Nak_home \/ transition__ni_FAck_dirty \/ transition__ni_InvAck_done_1 \/ transition__ni_Local_GetX_PutX_11 \/ transition__pi_Local_PutX \/ transition__ni_Remote_Get_Put \/ transition__ni_Local_GetX_PutX_10 \/ transition__ni_Local_PutXAcksDone \/ transition__ni_InvAck_exists_home \/ transition__ni_FAck \/ transition__pi_Local_GetX_GetX \/ transition__pi_Local_GetX_PutX_HeadVld \/ transition__ni_Remote_Put \/ transition__ni_Local_Get_Put1 \/ transition__pi_Local_GetX_PutX \/ transition__ni_Local_GetX_PutX_2 \/ transition__ni_Remote_Get_Nak \/ transition__ni_Local_GetX_PutX_10_home \/ transition__ni_Local_Put_inv \/ transition__ni_Local_Get_Get \/ transition__pi_Remote_Get \/ transition__ni_Local_GetX_Nak_ \/ transition__ni_Wb \/ transition__ni_Remote_Get_Put_home \/ transition__ni_Local_GetX_PutX_1)


end


theory Flash_nodata_initialisation

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs

predicate init =
    forall p:int. (home <> p /\
procCmd_home = NODE_None /\
invMarked_home = False /\
cacheState_home = CACHE_I /\
uniMsg_Cmd_home = UNI_None /\
invMsg_Cmd_home = INV_None /\
rpMsg_Cmd_home = RP_None /\
dir_Pending = False /\
dir_Local = False /\
dir_Dirty = False /\
dir_HeadVld = False /\
dir_ShrVld = False /\
dir_ShrSet_home = False /\
dir_InvSet_home = False /\
wbMsg_Cmd = WB_None /\
shWbMsg_Cmd = SHWB_None /\
nakcMsg_Cmd = NAKC_None /\
collecting = False /\
(procCmd p) = NODE_None /\
(invMarked p) = False /\
(cacheState p) = CACHE_I /\
(dir_ShrSet p) = False /\
(dir_InvSet p) = False /\
(uniMsg_Cmd p) = UNI_None /\
(invMsg_Cmd p) = INV_None /\
(rpMsg_Cmd p) = RP_None)

goal initialisation:
    init -> (invariant1785 /\ invariantX135 /\ invariant1397 /\ invariantX396 /\ invariant2036 /\ invariantX77 /\ invariantX13 /\ invariantX654 /\ invariant49 /\ invariantX784 /\ invariantX534 /\ invariantX151 /\ invariant487 /\ invariantX410 /\ invariantX283 /\ invariantX475 /\ invariantX93 /\ invariantX733 /\ invariantX31 /\ invariantX801 /\ invariantX162 /\ invariantX419 /\ invariant220 /\ invariantX932 /\ invariantX677 /\ invariant986 /\ invariantX551 /\ invariantX105 /\ invariantX363 /\ invariantX878 /\ invariantX944 /\ invariantX113 /\ invariantX178 /\ invariantX824 /\ invariantX379 /\ invariantX123 /\ invariantX252 /\ invariantX574 /\ invariant1794 /\ invariant2 /\ invariant1)


end


theory Flash_nodata_property

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs

goal property:
    (invariant1785 /\ invariantX135 /\ invariant1397 /\ invariantX396 /\ invariant2036 /\ invariantX77 /\ invariantX13 /\ invariantX654 /\ invariant49 /\ invariantX784 /\ invariantX534 /\ invariantX151 /\ invariant487 /\ invariantX410 /\ invariantX283 /\ invariantX475 /\ invariantX93 /\ invariantX733 /\ invariantX31 /\ invariantX801 /\ invariantX162 /\ invariantX419 /\ invariant220 /\ invariantX932 /\ invariantX677 /\ invariant986 /\ invariantX551 /\ invariantX105 /\ invariantX363 /\ invariantX878 /\ invariantX944 /\ invariantX113 /\ invariantX178 /\ invariantX824 /\ invariantX379 /\ invariantX123 /\ invariantX252 /\ invariantX574 /\ invariant1794 /\ invariant2 /\ invariant1) -> (not (exists z1:int. cacheState_home = CACHE_E /\
(cacheState z1) = CACHE_E) /\
not (exists z1 z2:int. z1 <> z2 /\ (cacheState z1) = CACHE_E /\
(cacheState z2) = CACHE_E))


end


theory Flash_nodata_hint_1

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_1:
    (invariantX944 /\ invariantX932 /\ invariantX178 /\ invariantX162 /\ invariantX151 /\ invariantX135 /\ invariantX113 /\ invariantX93 /\ invariantX31 /\ invariantX13 /\ invariant220 /\ invariant986 /\ tau)
    -> invariantX944'



end


theory Flash_nodata_hint_2

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_2:
    (invariantX944 /\ invariantX932 /\ invariantX178 /\ invariantX123 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariantX77 /\ invariant1 /\ invariant2 /\ invariant49 /\ invariant487 /\ tau)
    -> invariantX932'



end


theory Flash_nodata_hint_3

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_3:
    (invariantX878 /\ invariantX824 /\ invariantX801 /\ invariantX654 /\ invariantX551 /\ invariantX113 /\ tau)
    -> invariantX878'



end


theory Flash_nodata_hint_4

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_4:
    (invariantX878 /\ invariantX824 /\ invariantX551 /\ invariantX113 /\ tau)
    -> invariantX824'



end


theory Flash_nodata_hint_5

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_5:
    (invariantX801 /\ invariantX784 /\ invariantX733 /\ invariantX551 /\ invariantX113 /\ invariant1 /\ invariant2036 /\ tau)
    -> invariantX801'



end


theory Flash_nodata_hint_6

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_6:
    (invariantX801 /\ invariantX784 /\ invariantX733 /\ invariantX654 /\ invariantX113 /\ invariantX93 /\ invariantX77 /\ invariant1397 /\ invariant1794 /\ tau)
    -> invariantX784'



end


theory Flash_nodata_hint_7

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_7:
    (invariantX784 /\ invariantX733 /\ invariantX475 /\ invariantX410 /\ invariantX283 /\ invariantX113 /\ invariantX93 /\ invariant2036 /\ tau)
    -> invariantX733'



end


theory Flash_nodata_hint_8

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_8:
    (invariantX677 /\ invariantX654 /\ invariantX574 /\ invariantX551 /\ invariantX113 /\ invariant1 /\ tau)
    -> invariantX677'



end


theory Flash_nodata_hint_9

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_9:
    (invariantX677 /\ invariantX654 /\ invariantX574 /\ invariantX113 /\ invariantX93 /\ invariantX77 /\ invariant1785 /\ invariant2036 /\ tau)
    -> invariantX654'



end


theory Flash_nodata_hint_10

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_10:
    (invariantX654 /\ invariantX574 /\ invariantX475 /\ invariantX410 /\ invariantX113 /\ invariantX93 /\ invariant2036 /\ tau)
    -> invariantX574'



end


theory Flash_nodata_hint_11

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_11:
    (invariantX551 /\ invariantX534 /\ invariantX475 /\ invariant1 /\ invariant1785 /\ tau)
    -> invariantX551'



end


theory Flash_nodata_hint_12

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_12:
    (invariantX551 /\ invariantX534 /\ invariantX475 /\ invariantX379 /\ invariantX93 /\ invariantX77 /\ invariant1794 /\ tau)
    -> invariantX534'



end


theory Flash_nodata_hint_13

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_13:
    (invariantX534 /\ invariantX475 /\ invariantX410 /\ invariantX283 /\ invariantX93 /\ invariant1785 /\ invariant1794 /\ tau)
    -> invariantX475'



end


theory Flash_nodata_hint_14

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_14:
    (invariantX475 /\ invariantX419 /\ invariantX410 /\ invariantX283 /\ invariantX135 /\ invariantX113 /\ invariantX93 /\ invariantX31 /\ invariantX13 /\ invariant220 /\ invariant986 /\ tau)
    -> invariantX419'



end


theory Flash_nodata_hint_15

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_15:
    (invariantX475 /\ invariantX419 /\ invariantX410 /\ invariantX283 /\ invariantX113 /\ invariantX93 /\ invariantX77 /\ invariant1 /\ invariant49 /\ invariant487 /\ tau)
    -> invariantX410'



end


theory Flash_nodata_hint_16

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_16:
    (invariantX396 /\ invariantX379 /\ invariantX363 /\ invariantX283 /\ invariantX113 /\ invariant1 /\ tau)
    -> invariantX396'



end


theory Flash_nodata_hint_17

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_17:
    (invariantX379 /\ invariantX363 /\ invariantX283 /\ invariantX178 /\ invariantX123 /\ invariantX105 /\ invariantX93 /\ tau)
    -> invariantX379'



end


theory Flash_nodata_hint_18

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_18:
    (invariantX396 /\ invariantX379 /\ invariantX363 /\ invariantX283 /\ invariantX113 /\ invariantX93 /\ invariantX77 /\ invariant1397 /\ tau)
    -> invariantX363'



end


theory Flash_nodata_hint_19

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_19:
    (invariantX410 /\ invariantX363 /\ invariantX283 /\ invariantX113 /\ invariantX93 /\ invariant1397 /\ tau)
    -> invariantX283'



end


theory Flash_nodata_hint_20

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_20:
    (invariantX252 /\ tau)
    -> invariantX252'



end


theory Flash_nodata_hint_21

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_21:
    (invariantX252 /\ invariantX178 /\ invariantX113 /\ tau)
    -> invariantX178'



end


theory Flash_nodata_hint_22

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_22:
    (invariantX932 /\ invariantX551 /\ invariantX534 /\ invariantX475 /\ invariantX379 /\ invariantX178 /\ invariantX162 /\ invariantX123 /\ invariantX93 /\ invariantX31 /\ invariant1785 /\ invariant1794 /\ tau)
    -> invariantX162'



end


theory Flash_nodata_hint_23

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_23:
    (invariantX932 /\ invariantX396 /\ invariantX379 /\ invariantX363 /\ invariantX283 /\ invariantX178 /\ invariantX151 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariantX31 /\ invariant1397 /\ tau)
    -> invariantX151'



end


theory Flash_nodata_hint_24

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_24:
    (invariantX654 /\ invariantX162 /\ invariantX151 /\ invariantX135 /\ invariantX113 /\ invariantX93 /\ invariantX77 /\ invariantX13 /\ invariant986 /\ tau)
    -> invariantX135'



end


theory Flash_nodata_hint_25

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_25:
    (invariantX551 /\ invariantX534 /\ invariantX475 /\ invariantX379 /\ invariantX178 /\ invariantX162 /\ invariantX123 /\ invariantX93 /\ invariant2 /\ invariant1785 /\ invariant1794 /\ tau)
    -> invariantX123'



end


theory Flash_nodata_hint_26

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_26:
    (invariantX113 /\ invariantX93 /\ tau)
    -> invariantX113'



end


theory Flash_nodata_hint_27

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_27:
    (invariantX396 /\ invariantX379 /\ invariantX363 /\ invariantX283 /\ invariantX178 /\ invariantX151 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariant2 /\ invariant1397 /\ tau)
    -> invariantX105'



end


theory Flash_nodata_hint_28

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_28:
    (invariantX178 /\ invariantX93 /\ tau)
    -> invariantX93'



end


theory Flash_nodata_hint_29

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_29:
    (invariantX654 /\ invariantX135 /\ invariantX123 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariantX77 /\ invariant1 /\ invariant487 /\ tau)
    -> invariantX77'



end


theory Flash_nodata_hint_30

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_30:
    (invariantX178 /\ invariantX123 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariantX77 /\ invariantX31 /\ invariant1 /\ invariant2 /\ invariant49 /\ invariant487 /\ tau)
    -> invariantX31'



end


theory Flash_nodata_hint_31

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_31:
    (invariantX878 /\ invariantX824 /\ invariantX801 /\ invariantX551 /\ invariantX135 /\ invariantX113 /\ invariantX13 /\ invariant1 /\ invariant220 /\ tau)
    -> invariantX13'



end


theory Flash_nodata_hint_32

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_32:
    (invariantX878 /\ invariantX824 /\ invariantX801 /\ invariantX551 /\ invariantX113 /\ invariantX77 /\ invariantX13 /\ invariant1 /\ invariant49 /\ tau)
    -> invariant1'



end


theory Flash_nodata_hint_33

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_33:
    (invariantX932 /\ invariantX178 /\ invariantX123 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariantX77 /\ invariant1 /\ invariant2 /\ invariant49 /\ invariant487 /\ tau)
    -> invariant2'



end


theory Flash_nodata_hint_34

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_34:
    (invariantX677 /\ invariantX654 /\ invariantX574 /\ invariantX178 /\ invariantX113 /\ invariantX93 /\ invariant2 /\ invariant49 /\ invariant220 /\ invariant1785 /\ invariant2036 /\ tau)
    -> invariant49'



end


theory Flash_nodata_hint_35

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_35:
    (invariantX932 /\ invariantX677 /\ invariantX654 /\ invariantX574 /\ invariantX178 /\ invariantX113 /\ invariantX93 /\ invariantX31 /\ invariant49 /\ invariant220 /\ invariant1785 /\ invariant2036 /\ tau)
    -> invariant220'



end


theory Flash_nodata_hint_36

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_36:
    (invariantX801 /\ invariantX784 /\ invariantX733 /\ invariantX178 /\ invariantX113 /\ invariantX93 /\ invariant2 /\ invariant487 /\ invariant986 /\ invariant1397 /\ invariant1794 /\ invariant2036 /\ tau)
    -> invariant487'



end


theory Flash_nodata_hint_37

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_37:
    (invariantX932 /\ invariantX801 /\ invariantX784 /\ invariantX733 /\ invariantX178 /\ invariantX113 /\ invariantX93 /\ invariantX31 /\ invariant487 /\ invariant986 /\ invariant1397 /\ invariant1794 /\ invariant2036 /\ tau)
    -> invariant986'



end


theory Flash_nodata_hint_38

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785_def
meta remove_prop prop invariant1785'_def

lemma hint_38:
    (invariantX396 /\ invariantX379 /\ invariantX363 /\ invariantX283 /\ invariantX178 /\ invariantX113 /\ invariantX105 /\ invariantX93 /\ invariant487 /\ invariant1397 /\ tau)
    -> invariant1397'



end


theory Flash_nodata_hint_39

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def

lemma hint_39:
    (invariantX551 /\ invariantX534 /\ invariantX475 /\ invariantX178 /\ invariantX123 /\ invariantX93 /\ invariant49 /\ invariant1785 /\ tau)
    -> invariant1785'



end


theory Flash_nodata_hint_40

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariantX574_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariant2036_def
meta remove_prop prop invariant2036'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_40:
    (invariantX551 /\ invariantX534 /\ invariantX475 /\ invariantX379 /\ invariantX178 /\ invariantX123 /\ invariantX93 /\ invariant487 /\ invariant1785 /\ invariant1794 /\ tau)
    -> invariant1794'



end


theory Flash_nodata_hint_41

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_invdefs
use import Flash_nodata_trdecl
use import Flash_nodata_trdefs

meta remove_prop prop invariant1_def
meta remove_prop prop invariant1'_def
meta remove_prop prop invariant2_def
meta remove_prop prop invariant2'_def
meta remove_prop prop invariant1794_def
meta remove_prop prop invariant1794'_def
meta remove_prop prop invariantX574'_def
meta remove_prop prop invariantX252_def
meta remove_prop prop invariantX252'_def
meta remove_prop prop invariantX123_def
meta remove_prop prop invariantX123'_def
meta remove_prop prop invariantX379_def
meta remove_prop prop invariantX379'_def
meta remove_prop prop invariantX824_def
meta remove_prop prop invariantX824'_def
meta remove_prop prop invariantX178'_def
meta remove_prop prop invariantX113'_def
meta remove_prop prop invariantX944_def
meta remove_prop prop invariantX944'_def
meta remove_prop prop invariantX878_def
meta remove_prop prop invariantX878'_def
meta remove_prop prop invariantX363_def
meta remove_prop prop invariantX363'_def
meta remove_prop prop invariantX105_def
meta remove_prop prop invariantX105'_def
meta remove_prop prop invariantX551_def
meta remove_prop prop invariantX551'_def
meta remove_prop prop invariant986_def
meta remove_prop prop invariant986'_def
meta remove_prop prop invariantX677'_def
meta remove_prop prop invariantX932_def
meta remove_prop prop invariantX932'_def
meta remove_prop prop invariant220_def
meta remove_prop prop invariant220'_def
meta remove_prop prop invariantX419_def
meta remove_prop prop invariantX419'_def
meta remove_prop prop invariantX162_def
meta remove_prop prop invariantX162'_def
meta remove_prop prop invariantX801_def
meta remove_prop prop invariantX801'_def
meta remove_prop prop invariantX31_def
meta remove_prop prop invariantX31'_def
meta remove_prop prop invariantX733_def
meta remove_prop prop invariantX733'_def
meta remove_prop prop invariantX93'_def
meta remove_prop prop invariantX475_def
meta remove_prop prop invariantX475'_def
meta remove_prop prop invariantX283_def
meta remove_prop prop invariantX283'_def
meta remove_prop prop invariantX410_def
meta remove_prop prop invariantX410'_def
meta remove_prop prop invariant487'_def
meta remove_prop prop invariantX151_def
meta remove_prop prop invariantX151'_def
meta remove_prop prop invariantX534_def
meta remove_prop prop invariantX534'_def
meta remove_prop prop invariantX784_def
meta remove_prop prop invariantX784'_def
meta remove_prop prop invariant49'_def
meta remove_prop prop invariantX654'_def
meta remove_prop prop invariantX13_def
meta remove_prop prop invariantX13'_def
meta remove_prop prop invariantX77_def
meta remove_prop prop invariantX77'_def
meta remove_prop prop invariantX396_def
meta remove_prop prop invariantX396'_def
meta remove_prop prop invariant1397_def
meta remove_prop prop invariant1397'_def
meta remove_prop prop invariantX135_def
meta remove_prop prop invariantX135'_def
meta remove_prop prop invariant1785'_def

lemma hint_41:
    (invariantX677 /\ invariantX654 /\ invariantX574 /\ invariantX178 /\ invariantX113 /\ invariantX93 /\ invariant49 /\ invariant487 /\ invariant1785 /\ invariant2036 /\ tau)
    -> invariant2036'



end


theory Flash_nodata_preservation

use import bool.Bool
use import int.Int
use import Flash_nodata_defs
use import Flash_nodata_invdecls
use import Flash_nodata_trdecl
use import Flash_nodata_hint_41
use import Flash_nodata_hint_40
use import Flash_nodata_hint_39
use import Flash_nodata_hint_38
use import Flash_nodata_hint_37
use import Flash_nodata_hint_36
use import Flash_nodata_hint_35
use import Flash_nodata_hint_34
use import Flash_nodata_hint_33
use import Flash_nodata_hint_32
use import Flash_nodata_hint_31
use import Flash_nodata_hint_30
use import Flash_nodata_hint_29
use import Flash_nodata_hint_28
use import Flash_nodata_hint_27
use import Flash_nodata_hint_26
use import Flash_nodata_hint_25
use import Flash_nodata_hint_24
use import Flash_nodata_hint_23
use import Flash_nodata_hint_22
use import Flash_nodata_hint_21
use import Flash_nodata_hint_20
use import Flash_nodata_hint_19
use import Flash_nodata_hint_18
use import Flash_nodata_hint_17
use import Flash_nodata_hint_16
use import Flash_nodata_hint_15
use import Flash_nodata_hint_14
use import Flash_nodata_hint_13
use import Flash_nodata_hint_12
use import Flash_nodata_hint_11
use import Flash_nodata_hint_10
use import Flash_nodata_hint_9
use import Flash_nodata_hint_8
use import Flash_nodata_hint_7
use import Flash_nodata_hint_6
use import Flash_nodata_hint_5
use import Flash_nodata_hint_4
use import Flash_nodata_hint_3
use import Flash_nodata_hint_2
use import Flash_nodata_hint_1

goal preservation:
    (invariant1785 /\ invariantX135 /\ invariant1397 /\ invariantX396 /\ invariant2036 /\ invariantX77 /\ invariantX13 /\ invariantX654 /\ invariant49 /\ invariantX784 /\ invariantX534 /\ invariantX151 /\ invariant487 /\ invariantX410 /\ invariantX283 /\ invariantX475 /\ invariantX93 /\ invariantX733 /\ invariantX31 /\ invariantX801 /\ invariantX162 /\ invariantX419 /\ invariant220 /\ invariantX932 /\ invariantX677 /\ invariant986 /\ invariantX551 /\ invariantX105 /\ invariantX363 /\ invariantX878 /\ invariantX944 /\ invariantX113 /\ invariantX178 /\ invariantX824 /\ invariantX379 /\ invariantX123 /\ invariantX252 /\ invariantX574 /\ invariant1794 /\ invariant2 /\ invariant1 /\ tau)
    ->
    (invariant1785' /\ invariantX135' /\ invariant1397' /\ invariantX396' /\ invariant2036' /\ invariantX77' /\ invariantX13' /\ invariantX654' /\ invariant49' /\ invariantX784' /\ invariantX534' /\ invariantX151' /\ invariant487' /\ invariantX410' /\ invariantX283' /\ invariantX475' /\ invariantX93' /\ invariantX733' /\ invariantX31' /\ invariantX801' /\ invariantX162' /\ invariantX419' /\ invariant220' /\ invariantX932' /\ invariantX677' /\ invariant986' /\ invariantX551' /\ invariantX105' /\ invariantX363' /\ invariantX878' /\ invariantX944' /\ invariantX113' /\ invariantX178' /\ invariantX824' /\ invariantX379' /\ invariantX123' /\ invariantX252' /\ invariantX574' /\ invariant1794' /\ invariant2' /\ invariant1')


end