-- ======================================================================== -- QLOCK Proof score for invariant properties -- the initial states condition -- ======================================================================== -- ======================================================================== require qlock-prop -- ======================================================================== -- initial condition check mod INITcheck {ex(INIT + MX + HQ=C) pred initCheck : State . eq initCheck(S:State) = (init S) implies ((mx S) and (hq=c S)) . -- ops st1 st2 st3 st4 : -> State . op aq : -> Aq . ops as2 as3 as4 : -> As . ops a1 a3 a4 : -> Aid . eq st1 = [(a1 | aq) r as2 w as3 c as4 ] . eq st2 = [aq r as2 w (a3 as3) c as4 ] . eq st3 = [aq r as2 w as3 c (a4 as4) ] . eq st4 = [empQ r as2 w empS c empS ] . ** st1,st2,st3,st4 cover all the possible state configurations } -- ======================================================================== -- check that (init implies (mx hq=c)) select INITcheck . red initCheck(st1) . red initCheck(st2) . red initCheck(st3) . red initCheck(st4) . -- ======================================================================== eof