General Conjunction and Disjunction Rules for unless
暂无分享,去创建一个
1 The Rules The conjunction and disjunction rules for unless, as given in 1], are as follows. p unless q ; p 0 unless q 0 p ^ p 0 unless (p ^ q 0) _ (p 0 ^ q) _ (q ^ q 0) fconjunctiong p _ p 0 unless (:p ^ q 0) _ (:p 0 ^ q) _ (q ^ q 0) fdisjunctiong The generalizations of these rules to arbitrary|possibly innnite|sets of unless properties is the subject of this note. These generalizations were discovered independently by Ernie Cohen 2] and Carel S. Scholten 4]. In the following, i is a dummy variable that takes on values from an arbitrary set and p:i; q:i are predicates in which i is free. 2 Proofs of the Rules In a program we have the restriction that every statement is deterministic and execution of any statement in any program state terminates. Then we have, (1) (These facts can be justiied by observing that for any s, the weakest precondition function , wp:s, is positively conjunctive, and for deterministic s, wp:s is universally disjunctive. For details see Dijkstra and Scholten 3].) Furthermore, we have
[1] Mark G. Staskauskas. The Formal Specification and Design of a Distributed fElectronic Funds-Transfer System , 1988, IEEE Trans. Computers.
[2] K. Mani Chandy,et al. Parallel program design - a foundation , 1988 .
[3] Edsger W. Dijkstra,et al. Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.