--> **************************************************************** --> PROOF score for the initial states condition --> **************************************************************** --> ---------------------------------------------------------------- --> require qlock-prop require qlock-prop --> ---------------------------------------------------------------- --> INITcheck: module for checking initial condition --> ---------------------------------------------------------------- mod INITcheck { inc(INIT + MX + HQ=C) pred check-init_ : State . eq (check-init S:State) = (init S) implies ((mx S) and (hq=c S)) . -- fresh constants op aq : -> Aq . ops as-r as-w as-c : -> As . -- initial condition proposition op initCheck : -> Bool . eq initCheck = check-init [aq r as-r w as-w c as-c] . } --> ================================================================ --> check that (init implies q=wc) --> ---------------------------------------------------------------- select INITcheck . :goal{eq initCheck = true .} :def csp-q = :csp{eq aq = empQ . eq (aq =aq empQ) = false .} :def csp-r = :csp{eq as-r = empS . eq (as-r =as empS) = false .} :def csp-w = :csp{eq as-w = empS . eq (as-w =as empS) = false .} :def csp-c = :csp{eq as-c = empS . eq (as-c =as empS) = false .} :apply(csp-q rd- csp-r rd- csp-w rd- csp-c rd-) --> QED --> ================================================================ --> **************************************************************** --> end of file eof --> ****************************************************************