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