TL;DR: A correctness proof of Parnas' solution to the Cigarette Smokers' Problem leads to an obvious generalization and in connection with it the question of an optimal set of distinguishable codewords is addressed.
Abstract: : The author of the Cigarette Smokers' Problem (S. Patil, MIT) tried to show that the problem could not be solved using Dijkstra's P- and V-operations without conditional statements. D. L. Parnas (CMU) showed that Patil's proof was false by presenting a solution using P- and V-operations, but no conditional statements. The paper presents first a correctness proof of Parnas' solution. This solution leads to an obvious generalization and in connection with it the question of an optimal set of distinguishable codewords is addressed. Finally a more natural approach to the problem is discussed and a solution for this variation is presented with its correctness proof. (Author)
TL;DR: It is shown that Patil's proof overlooks important capabilities for P and V which were used by Dijkstra in his original report and the need for the generalized operators suggested by Patil is discussed.
Abstract: This report discusses a problem first introduced by Patil [l]. Patil has presented a proof that the problem cannot be solved using the P and V operations introduced by Dijkstra [3] unless conditional statements are used. This report contains a solution to the problem as defined by Patil and shows that Patils proof overlooks important capabilities for P and V which were used by Dijkstra in his original report. This report also discusses the need for the generalized operators suggested by Patil.