This paper defines some precondltmn' predicate transformers, Investigates their healthi- ness properties, and apphes them to Dljkstra's language of guarded commands It shows that Dljkstra's w~ function is not the weakest healthy one, but it ~s clearly the best one for practical programming, because it proves the absence of bhnd alleys from a nondetermmlsac program A previous paper (10) has suggested that a computer programming language should be given several separate formal definitions, which should be proved consistent with each other. The definitions should be complementary, m the sense that one of them should satisfy the need of the programmer to prove the correctness of his program, and another should assist in the construction and proof of a correct implementation. The suggestion was illustrated by a simple deterministic language, for which the axioms of conditional correctness were proved consistent with an abstract model of ~ts implementation. The results of that previous paper are here extended and improved m the following ways: