(* 1 *) Cache[#1] = E &&
        Cache[#2] <> I

(* 2 *) Cache[#1] = E &&
        Shr[#2] = True

(* 3 *) Exg = False &&
        Cache[#1] = E

(* 4 *) Cache[#1] <> I &&
        Shr[#1] = False