The Böhm---Jacopini Theorem Is False, Propositionally

  • Authors:
  • Dexter Kozen;Wei-Lung Dustin Tseng

  • Affiliations:
  • Department of Computer Science, Cornell University, Ithaca, New York, USA 14853-7501;Department of Computer Science, Cornell University, Ithaca, New York, USA 14853-7501

  • Venue:
  • MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Böhm---Jacopini theorem (Böhm and Jacopini, 1966) is a classical result of program schematology. It states that any deterministic flowchart program is equivalent to a whileprogram. The theorem is usually formulated at the first-order interpreted or first-order uninterpreted (schematic) level, because the construction requires the introduction of auxiliary variables. Ashcroft and Manna (1972) and Kosaraju (1973) showed that this is unavoidable. As observed by a number of authors, a slightly more powerful structured programming construct, namely loop programs with multi-level breaks, is sufficient to represent all deterministic flowcharts without introducing auxiliary variables. Kosaraju (1973) established a strict hierarchy determined by the maximum depth of nesting allowed. In this paper we give a purely propositional account of these results. We reformulate the problems at the propositional level in terms of automata on guarded strings, the automata-theoretic counterpart to Kleene algebra with tests. Whereas the classical approaches do not distinguish between first-order and propositional levels of abstraction, we find that the purely propositional formulation allows a more streamlined mathematical treatment, using algebraic and topological concepts such as bisimulation and coinduction. Using these tools, we can give more mathematically rigorous formulations and simpler and more revealing proofs.