Exact Exploration and Hanging Algorithms

  • Andreas Blass
  • Nachum Dershowitz
  • Yuri Gurevich
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6247)


Recent analysis of sequential algorithms resulted in their axiomatization and in a representation theorem stating that, for any sequential algorithm, there is an abstract state machine (ASM) with the same states, initial states and state transitions. That analysis, however, abstracted from details of intra-step computation, and the ASM, produced in the proof of the representation theorem, may and often does explore parts of the state unexplored by the algorithm. We refine the analysis, the axiomatization and the representation theorem. Emulating a step of the given algorithm, the ASM, produced in the proof of the new representation theorem, explores exactly the part of the state explored by the algorithm. That frugality pays off when state exploration is costly. The algorithm may be a high-level specification, and a simple function call on the abstraction level of the algorithm may hide expensive interaction with the environment. Furthermore, the original analysis presumed that state functions are total. Now we allow state functions, including equality, to be partial so that a function call may cause the algorithm as well as the ASM to hang. Since the emulating ASM does not make any superfluous function calls, it hangs only if the algorithm does.


Representation Theorem Exacting Algorithm Sequential Algorithm Classical Algorithm Abstract State Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ASM Michigan Webpage,, maintained by J. K. Huggins (Viewed June 4, 2010)
  2. 2.
    Bernot, G., Bidoit, M., Choppy, C.: Abstract data types with exception handling. Theoret. Comp. Sci. 46, 13–45 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bishop, E.: Foundations of Constructive Analysis. McGraw-Hill, New York (1967)zbMATHGoogle Scholar
  4. 4.
    Blum, L., Shub, M., Smale, S.: On a theory of computation and complexity over the real numbers. Bulletin of Amer. Math. Soc. (NS) 21, 1–46 (1989)Google Scholar
  5. 5.
    Blass, A., Gurevich, Y.: Algorithms vs. Machines. Bull. European Assoc. Theoret. Comp. Sci. 77, 96–118 (2002); Reprinted in Paun, G., et al. (eds.): Current Trends in Theoretical Computer Science: The Challenge of the New Century, vol. 2, pp. 215–236. World Scientific, Singapore (2004)Google Scholar
  6. 6.
    Blass, A., Gurevich, Y.: Algorithms: A Quest for Absolute Definitions. Bull. Euro. Assoc. for Theor. Computer Sci. 81, 195–225 (2003); Reprinted in Paun, G., et al. (eds.): Current Trends in Theoretical Computer Science, 283–311, World Scientific, Singapore (2004); Olszewski, A., et al. (eds.) Church’s Thesis After 70 Years, 24–57, Ontos (2006)Google Scholar
  7. 7.
    Börger, E., Stärk, R.: Abstract State Machines. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Boker, U., Dershowitz, N.: The Church-Turing Thesis over arbitrary domains. In: Avron, A., Dershowitz, N., Rabinovich, A. (eds.) Pillars of Computer Science. LNCS, vol. 4800, pp. 199–229. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Dershowitz, N., Gurevich, Y.: A natural axiomatization of computability and proof of Church’s Thesis. Bulletin of Symbolic Logic 14, 299–350 (2008)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    xrc (exact reals in C), (viewed on June 4, 2010)
  11. 11.
    Gowland, P., Lester, D.: A survey of exact arithmetic implementations. In: Blanck, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 30–47. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Gurevich, Y.: Evolving algebras 1993: Lipari guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)Google Scholar
  13. 13.
    Gurevich, Y.: Sequential abstract state machines capture sequential algorithms. ACM Transactions on Computational Logic 1, 77–111 (2000)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Kolmogorov, A.N.: On the concept of algorithm. Uspekhi Matematicheskikh Nauk 8(4), 175–176 (1953) (in Russian); English version in [27, 18–19]Google Scholar
  15. 15.
    Korovina, M.: Gandy’s theorem for abstract structures without the equality test. In: Vardi, M.Y., Voronkov, A. (eds.) LPAR 2003. LNCS, vol. 2850, pp. 290–301. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Kushner, B.A.: Lectures on Constructive Mathematical Analysis. Translations of Mathematical Monographs, vol. 60. American Mathematical Society, Providence (1984); The Russian original published by Nauka (1973)Google Scholar
  17. 17.
    Lambov, B.: The RealLib Project, (viewed on June 4, 2010)
  18. 18.
    Markov, A.A.: The Theory of Algorithms. American Mathematical Society Translations, series 15(2), 1–14 (1960)zbMATHGoogle Scholar
  19. 19.
    Meseguer, J., Roşu, G.: A total approach to partial algebraic specification. In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 572–584. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. 20.
    Moschovakis, Y.: On founding the theory of algorithms. In: Dales, H.G., Olivieri, G. (eds.) Truth in Mathematics, pp. 71–104. Clarendon Press, Oxford (1998)Google Scholar
  21. 21.
    Moschovakis, Y.: What is an algorithm? In: Engquist, B., Schmid, W. (eds.) Mathematics Unlimited — 2001 and Beyond, pp. 919–936. Springer, Heidelberg (2001)Google Scholar
  22. 22.
    Müller, N.: iRRAM - Exact Arithmetic in C++, (viewed on June 4, 2010)
  23. 23.
    Naughton, T.J.: Continuous-space model of computation is Turing universal. Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, vol. 4109, pp. 121–128 (2000)Google Scholar
  24. 24.
    Nowack, A.: Complexity theory via abstract state machines. Master’s thesis, RWTH-Aachen (2000)Google Scholar
  25. 25.
    Spec. Explorer, (viewed on June 04, 2010)
  26. 26.
    Computable Real Numbers, (viewed on June 4, 2010)
  27. 27.
    Uspensky, V.A., Semenov, A.L.: Algorithms: Main Ideas and Applications. Kluwer, Dordrecht (1993)Google Scholar
  28. 28.
    Weihrauch, K.: Computable Analysis — An introduction. Springer, Heidelberg (2000)zbMATHGoogle Scholar
  29. 29.
    Winskel, G.: Event Structures — Lecture Notes for the Advanced Course on Petri Nets. Univ. of Cambridge Computer Lab. Tech. Report 95, UCAM-CL-TR-95 (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Andreas Blass
    • 1
  • Nachum Dershowitz
    • 2
  • Yuri Gurevich
    • 3
  1. 1.Mathematics DeptUniversity of MichiganAnn ArborUSA
  2. 2.School of Computer ScienceTel Aviv UniversityRamat AvivIsrael
  3. 3.Microsoft ResearchRedmondUSA

Personalised recommendations