The Böhm–Jacopini Theorem Is False, Propositionally
 Dexter Kozen,
 WeiLung Dustin Tseng
 … show all 2 hide
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 while program. The theorem is usually formulated at the firstorder interpreted or firstorder 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 multilevel 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 automatatheoretic counterpart to Kleene algebra with tests. Whereas the classical approaches do not distinguish between firstorder 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.
 Ashcroft, E., Manna, Z. The translation of goto programs into while programs. In: Freiman, C.V., Griffith, J.E., Rosenfeld, J.L. eds. (1972) Proceedings of IFIP Congress 71. NorthHolland, Amsterdam, pp. 250255
 Böhm, C., Jacopini, G.: Flow diagrams, Turing machines and languages with only two formation rules. In: Communications of the ACM, pp. 366–371 (May 1966)
 Kaplan, D.M. (1969) Regular expressions and the equivalence of programs. J. Comput. Syst. Sci. 3: pp. 361386
 Kosaraju, S.R. (1973) Analysis of structured programs. Proc. 5th ACM Symp. Theory of Computing (STOC 1973). ACM, New York, pp. 240252 CrossRef
 Kozen, D. (2003) Automata on guarded strings and applications. Matématica Contemporânea 24: pp. 117139
 D. Kozen.: Nonlocal flow of control and Kleene algebra with tests. Technical Report http://hdl.handle.net/1813/10595 Computing and Information Science, Cornell University (April 2008); Proc. 23rd IEEE Symp. Logic in Computer Science (LICS 2008) (to appear, June 2008)
 Morris, P.H., Gray, R.A., Filman, R.E. (1997) Goto removal based on regular expressions. J. Software Maintenance: Research and Practice 9: pp. 4766 CrossRef
 Oulsnam, G. (1982) Unraveling unstructured programs. The Computer Journal 25: pp. 379387
 Peterson, W., Kasami, T., Tokura, N. (1973) On the capabilities of while, repeat, and exit statements. Comm. Assoc. Comput. Mach. 16: pp. 503512
 Ramshaw, L. (1988) Eliminating goto’s while preserving program structure. Journal of the ACM 35: pp. 893920 CrossRef
 Williams, M., Ossher, H. (1978) Conversion of unstructured flow diagrams into structured form. The Computer Journal 21: pp. 161167
 Title
 The Böhm–Jacopini Theorem Is False, Propositionally
 Book Title
 Mathematics of Program Construction
 Book Subtitle
 9th International Conference, MPC 2008, Marseille, France, July 1518, 2008. Proceedings
 Pages
 pp 177192
 Copyright
 2008
 DOI
 10.1007/9783540705949_11
 Print ISBN
 9783540705932
 Online ISBN
 9783540705949
 Series Title
 Lecture Notes in Computer Science
 Series Volume
 5133
 Series ISSN
 03029743
 Publisher
 Springer Berlin Heidelberg
 Copyright Holder
 SpringerVerlag Berlin Heidelberg
 Additional Links
 Topics
 Industry Sectors
 eBook Packages
 Editors
 Authors

 Dexter Kozen ^{(1)}
 WeiLung Dustin Tseng ^{(1)}
 Author Affiliations

 1. Department of Computer Science, Cornell University, Ithaca, New York, 148537501, USA
Continue reading...
To view the rest of this content please follow the download PDF link above.