Cache[#1] = Exclusive &&
Cache[#2] <> Invalid
Cache[#1] = Exclusive &&
Chan2[#2] = Gnts
Cache[#2] <> Invalid &&
Chan2[#1] = Gnte
Exgntd = False &&
Cache[#1] = Exclusive
Chan2[#1] = Gnte &&
Chan2[#2] = Gnts
Cache[#1] <> Invalid &&
Shrset[#1] = False
Chan2[#1] = Gnte &&
Chan2[#2] = Gnte
Cache[#1] = Exclusive &&
Chan3[#1] = Invack
Exgntd = False &&
Chan2[#1] = Gnte
Chan2[#1] = Gnts &&
Shrset[#1] = False
Cache[#1] <> Invalid &&
Chan3[#1] = Invack
Chan2[#1] = Gnte &&
Shrset[#1] = False
Chan2[#1] = Gnte &&
Chan3[#1] = Invack
Chan2[#1] = Gnts &&
Chan3[#1] = Invack
Chan3[#1] = Invack &&
Shrset[#1] = False
Exgntd = False &&
Curcmd = Reqs &&
Chan3[#1] = Invack
Chan2[#1] = Inv &&
Shrset[#1] = False
Curcmd = Empty1 &&
Chan3[#1] = Invack
Exgntd = False &&
Curcmd = Reqs &&
Chan2[#1] = Inv
Shrset[#1] = False &&
Invset[#1] = True
Chan2[#1] = Inv &&
Chan3[#1] = Invack
Curcmd = Empty1 &&
Chan2[#1] = Inv
Chan3[#1] = Invack &&
Invset[#1] = True
Flag = True &&
Chan3[#1] = Invack
Chan2[#1] = Inv &&
Invset[#1] = True
Flag = True &&
Chan2[#1] = Inv
Curcmd = Reqs &&
Flag = False &&
Chan2[#1] = Inv &&
Chan3[#2] = Invack
Curcmd = Reqs &&
Flag = False &&
Chan3[#1] = Invack &&
Chan3[#2] = Invack
Chan2[#1] = Gnte &&
Chan3[#2] = Invack
Cache[#1] = Exclusive &&
Chan3[#2] = Invack
Exgntd = True &&
Curcmd = Reqs &&
Flag = False &&
Chan2[#1] = Empty2 &&
Chan3[#2] = Invack &&
Invset[#1] = True
Curcmd = Reqs &&
Flag = False &&
Chan2[#1] = Inv &&
Chan2[#2] = Inv &&
Chan3[#2] = Empty3
Chan2[#1] = Gnte &&
Chan2[#2] = Inv
Cache[#1] = Exclusive &&
Chan2[#2] = Inv
Exgntd = True &&
Curcmd = Reqs &&
Flag = False &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Inv &&
Chan3[#2] = Empty3 &&
Invset[#1] = True
Exgntd = True &&
Chan2[#1] = Gnts
Chan2[#1] = Gnte &&
Invset[#2] = True
Cache[#1] = Exclusive &&
Invset[#2] = True
Exgntd = True &&
Curcmd = Reqs &&
Flag = False &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Invset[#1] = True &&
Invset[#2] = True
Chan2[#1] = Gnte &&
Shrset[#2] = True
Cache[#1] = Exclusive &&
Shrset[#2] = True
Exgntd = True &&
Curcmd = Reqs &&
Flag = True &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Invset[#1] = True &&
Invset[#1] = Shrset[#1] &&
Invset[#2] = True &&
Invset[#2] = Shrset[#2]
Exgntd = True &&
Curcmd = Empty1 &&
Flag = False &&
Chan1[#1] = Reqs &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Shrset[#1] = True &&
Shrset[#2] = True
Exgntd = True &&
Curcmd = Reqs &&
Flag = True &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Shrset[#1] = True &&
Invset[#2] = True &&
Invset[#2] = Shrset[#2]
Curcmd = Empty1 &&
Flag = True
Exgntd = True &&
Curcmd = Empty1 &&
Flag = False &&
Cache[#1] = Invalid &&
Chan1[#1] = Empty1 &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Shrset[#1] = True &&
Shrset[#2] = True
Exgntd = True &&
Curcmd = Reqs &&
Flag = True &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Shrset[#1] = True &&
Shrset[#2] = True
Exgntd = True &&
Curcmd = Empty1 &&
Flag = False &&
Chan1[#3] = Reqs &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Shrset[#1] = True &&
Shrset[#2] = True
Exgntd = True &&
Curcmd = Empty1 &&
Flag = False &&
Cache[#3] = Invalid &&
Chan1[#3] = Empty1 &&
Chan2[#1] = Empty2 &&
Chan2[#2] = Empty2 &&
Chan3[#2] = Empty3 &&
Shrset[#1] = True &&
Shrset[#2] = True