Journal of Automated Reasoning

, Volume 55, Issue 4, pp 373–388 | Cite as

Reverse Complexity

Article

Abstract

Reverse Complexity is a long term research program aiming at discovering the abstract, logical principles underlying Complexity Theory, by means of a formal, reverse analysis of its proofs. The final goal is to get a cleaner, machine independent presentation of the foundation of Complexity Theory and a better, synergic integration with logic; in particular, we aim to provide abstract, axiomatic characterizations of Complexity Classes with the purpose to better grasp their essence, identify their distinctive properties, suggest new, possibly non-standard computational models and finally provide new tools for separating them. In this article, we introduce the program and illustrate its methodology through an investigation of the well known Hierarchy Theorems. The analysis is conducted with the assistance of an interactive theorem prover (in our case, Matita), not only used to check the formal correctness of proofs, but as an important driver of the actual research.

Keywords

Machine-independent complexity Reverse complexity  Interactive theorem proving Hierarchy theorems 

References

  1. 1.
    Arora, S., Barak, B.: Computational Complexity: A Modern Approach. Cambridge University Press, Cambridge (2009)CrossRefGoogle Scholar
  2. 2.
    Asperti, A.: The intensional content of Rice’s theorem. In: Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), 7–12 January, 2008. ACM, San Francisco, California, USA, pp. 113–119 (2008)Google Scholar
  3. 3.
    Asperti, A.: A formal proof of Borodin–Trakhtenbrot’s gap theorem. In: Proceedings of Certified Programs and Proofs—Third International Conference, CPP 2013, Melbourne, VIC, Australia, Lecture Notes in Computer Science, vol. 8307. Springer, pp. 163–177 (2013)Google Scholar
  4. 4.
    Asperti, A.: The speedup theorem in a primitive recursive framework. In: Proceedings of the 2015 Conference on Certified Programs and Proofs, CPP 2015, Mumbai, India. ACM, pp. 175–182 (2015)Google Scholar
  5. 5.
    Asperti, A., Ricciotti, W.: Formalizing turing machines. In: Logic, Language, Information and Computation—19th International Workshop, WoLLIC 2012, Buenos Aires, Argentina, Lecture Notes in Computer Science, vol. 7456, pp. 1–25 (2012)Google Scholar
  6. 6.
    Asperti, A., Ricciotti, W.: A proof of Bertrands’s postulate. J. Formaliz. Reason. 5(1), 37–57 (2012)MathSciNetGoogle Scholar
  7. 7.
    Asperti, A., Ricciotti, W.: A web interface for matita. In: Proceedings of Intelligent Computer Mathematics (CICM 2012), Bremen, Germany, Lecture Notes in Artificial Intelligence, vol. 7362. Springer, pp. 417–421 (2012)Google Scholar
  8. 8.
    Asperti, A., Ricciotti, W.: A formalization of multi-tape turing machines. Theor. Comput. Sci. (2015) (to appear)Google Scholar
  9. 9.
    Asperti, A., Ricciotti, W., Coen, C.S., Tassi, E.: The matita interactive theorem prover. In: Proceedings of the 23rd International Conference on Automated Deduction (CADE-2011), Wroclaw, Poland, LNCS, vol. 6803, pp. 64–69 (2011)Google Scholar
  10. 10.
    Asperti, Andrea, Ricciotti, Wilmer, Coen, Claudio Sacerdoti: Matita tutorial. J. Formaliz. Reason. 7(2), 91–199 (2014)MathSciNetGoogle Scholar
  11. 11.
    Avigad, J., Donnelly, K.: Formalizing O notation in Isabelle/Hol. In: Proceedings of Automated Reasoning - Second International Joint Conference, IJCAR 2004, Cork, Ireland, Lecture Notes in Computer Science, vol. 3097. Springer, pp. 357–371 (2004)Google Scholar
  12. 12.
    Baillot, P., Marion, J.-Y., Ronchi, S., Rocca, D. (eds.): Special Issue on Implicit Complexity. ACM Transactions on Computational Logic, vol. 10(4) (2009)Google Scholar
  13. 13.
    Bellantoni, S., Cook, S.A.: A new recursion-theoretic characterization of the polytime functions (extended abstract). In: Proceedings of the 24th Annual ACM Symposium on Theory of Computing, 4–6 May, 1992. ACM, Victoria, BC, Canada, pp. 283–293 (1992)Google Scholar
  14. 14.
    Blum, M.: A machine-independent theory of the complexity of recursive functions. J. ACM 14(2), 322–336 (1967)MATHCrossRefGoogle Scholar
  15. 15.
    Borodin, A.: Computational complexity and the existence of complexity gaps. J. ACM 19(1), 158–174 (1972)MATHCrossRefGoogle Scholar
  16. 16.
    Buchberger, B.: Certain decompositions of Gödel numbering and the semantics of programming languages. In: International Symposium on Theoretical Programming, 1972, Lecture Notes in Computer Science, vol. 5. Springer, pp. 152–171 (1974)Google Scholar
  17. 17.
    Clote, P., Takeuti, G.: On the computational complexity of algorithms. Ann. Pure Appl. Log. 56(1–3), 73–117 (1992)MATHMathSciNetCrossRefGoogle Scholar
  18. 18.
    Cobham, A.: The intrinsic computational difficulty of functions. In: Proceedings of the 1964 International Congress for Logic. Methodology, and Philosophy of Science. North-Holland, Amsterdam, pp. 24–30 (1965)Google Scholar
  19. 19.
    Cook, S., Nguyen, P.: Logical Foundations of Proof Complexity. Cambridge University Press, Cambridge (2010)MATHCrossRefGoogle Scholar
  20. 20.
    Friedman, H., Simpson, S.G.: Issues and problems in reverse mathematics. Contemp. Math. 257, 127–143 (2000)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Hartmanis, J., Stearns, R.E.: On the computational complexity of algorithms. Trans. Am. Math. Soc. 117, 285–306 (1965)MATHMathSciNetCrossRefGoogle Scholar
  22. 22.
    Landweber, L.H., Robertson, E.L.: Recursive properties of abstract complexity classes. J. ACM 19(2), 296–308 (1972)MATHMathSciNetCrossRefGoogle Scholar
  23. 23.
    Leivant, D.: A foundational delineation of computational feasibility. In: Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science (LICS). IEEE, pp. 2–11 (1991)Google Scholar
  24. 24.
    Lewis, F.D.: Unsolvability considerations in computational complexity. In: Proceedings of the snd Annual ACM Symposium on Theory of Computing (STOC), 4–6 May, 1970. ACM, Northampton, MA, USA, pp. 22–30 (1970)Google Scholar
  25. 25.
    McCreight, E.M., Meyer, A.R.: Classes of computable functions defined by bounds on computation. In: Proceedings of the 1st Annual ACM Symposium on Theory of Computing (STOC), 4–6 May, 1992. ACM, Victoria, BC, Canada, pp. 79–88 (1969)Google Scholar
  26. 26.
    Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, Boston (1994)MATHGoogle Scholar
  27. 27.
    Krueger, R., Rudnicki, P., Shelley, P.: Asymptotic notation. Part I: theory. Formaliz. Math. 9(1), 135–143 (2001)Google Scholar
  28. 28.
    Krueger, R., Rudnicki, P., Shelley, P.: Asymptotic notation. Part II: examples and problems. Formaliz. Math. 9(1), 143–154 (2001)Google Scholar
  29. 29.
    Rogers, H.: Theory of Recursive Functions and Effective Computability. MIT Press, Cambridge (1987)Google Scholar
  30. 30.
    Simpson, S.G.: Subsystems of Second Order Arithmetic. Cambridge University Press, Cambridge (2009)MATHCrossRefGoogle Scholar
  31. 31.
    Sipser, M.: Introduction to the Theory of Computation. PWS, Boston (1996)Google Scholar
  32. 32.
    Stearns, R.E., Hartmanis, J., Lewis, P.M.: Hierachies of memory limited computations. In: Proceedings of the 6th Annual Symposium on Switching Circuit Theory and Logical Design (SWCT 1965). FOCS, pp. 179–190 (1965)Google Scholar
  33. 33.
    Trevisan, L.: Notes on the Hierarchy Theorems. Handout of the course on Automata, Computability and Complexity, University of Berkeley. http://www.eecs.berkeley.edu/~luca/cs172/noteh
  34. 34.
    Wiedijk, F.: The seventeen provers of the world. LNAI, vol. 3600 (2006)Google Scholar
  35. 35.
    Xu, J., Zhang, X., Urban, C.: Mechanising turing machines and computability theory in Isabelle/HOL. In: Interactive Theorem Proving—4th International Conference, ITP 2013, Rennes, France, 22–26 July, 2013. Proceedings, Lecture Notes in Computer Science, vol. 7998. Springer, pp. 147–162 (2013)Google Scholar
  36. 36.
    Young, P.R.: Toward a theory of enumerations. J. ACM 16(2), 328–348 (1969)MATHCrossRefGoogle Scholar
  37. 37.
    Young, P.R.: Easy constructions in complexity theory: gap and speed-up theorems. Proc. AMS 37(2), 555–563 (1973)MATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2015

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of BolognaBolognaItaly

Personalised recommendations