Skip to main content
Log in

Ordinal Arithmetic: Algorithms and Mechanization

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

Termination proofs are of critical importance for establishing the correct behavior of both transformational and reactive computing systems. A general setting for establishing termination proofs involves the use of the ordinal numbers, an extension of the natural numbers into the transfinite that were introduced by Cantor in the nineteenth century and are at the core of modern set theory. We present the first comprehensive treatment of ordinal arithmetic on compact ordinal notations and give efficient algorithms for various operations, including addition, subtraction, multiplication, and exponentiation. Using the ACL2 theorem proving system, we implemented our ordinal arithmetic algorithms, mechanically verified their correctness, and developed a library of theorems that can be used to significantly automate reasoning involving the ordinals. To enable users of the ACL2 system to fully utilize our work required that we modify ACL2, e.g., we replaced the underlying representation of the ordinals and added a large library of definitions and theorems. Our modifications are available starting with ACL2 version 2.8.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Apt, K. R. and Olderog, E.-R.: Verification of Sequential and Concurrent Programs, Springer, Berlin Heidelberg New York, 1991.

    MATH  Google Scholar 

  2. Baader, F. and Nipkow, T.: Term Rewriting and All That, Cambridge University Press, Cambridge, UK, 1998.

    Google Scholar 

  3. Bancerek, G.: The reflection theorem, J. Formaliz. Math. 2 (1990). See URL http://megrez.mizar.org/mirror/JFM/Vol2/zf refle.html.

  4. Belinfante, J. G.: Computer proofs in Gödel's class theory with equational definitions for composite and cross, J. Autom. Reason. 22(3) (1999), 311–339.

    Article  MATH  MathSciNet  Google Scholar 

  5. Belinfante, J. G. F.: On computer-assisted proofs in ordinal number theory, J. Autom. Reason. 22(3) (1999), 341–378.

    Article  MATH  MathSciNet  Google Scholar 

  6. Belinfante, J. G. F.: Reasoning about iteration in Gödel's class theory, in F. Baader (ed.), Automated Deduction-CADE-19, Proceedings of the 19th International Conference on Automated Deduction, volume 2741 of LNAI, Springer-Verlag, 2003, pp. 228–242.

  7. Bertot, Y. and Castéran, P.: Interactive Theorem Proving and Program Development, Coq'Art: The calculus of inductive constructions. Texts in Theoretical Computer Science. Springer, May 2004.

  8. Boyer, R. S. and Moore, J S.: A Computational Logic Handbook, 2nd edition, Academic Press, New York, 1997.

    Google Scholar 

  9. Brock, B., Kaufmann, M. and Moore, J S.: ACL2 theorems about commercial microprocessors, in M. Srivas and A. Camilleri (eds.), Formal Methods in Computer-Aided Design (FMCAD'96), Springer, 1996, pp. 275–293.

  10. Cantor, G.: Beiträge zur Begründung der transfiniten Mengenlehre, Math. Ann. xlvi (1895), 481–512.

    Article  Google Scholar 

  11. Cantor, G.: Beiträge zur Bgründung der transfiniten Mengenlehre, Math. Ann. xlix (1897), 207–246.

    Article  MathSciNet  Google Scholar 

  12. Cantor, G.: Contributions to the Founding of the Theory of Transfinite Numbers. Dover, 1952. Translated by Philip E. B. Jourdain.

  13. Church, A. and Kleene, S. C.: Formal definitions in the theory of ordinal numbers, Fundam. Math. 28 (1937), 11–21.

    MATH  Google Scholar 

  14. Dennis, L. A. and Smaill, A.: Ordinal arithmetic: A case study for rippling in a higher order domain, in R. Boulton and P. Jackson (eds.), Theorem Proving in Higher Order Logics: 14th International Conference, TPHOLs 2001, volume 2152 of LNCS, Springer, 2001, pp. 185–200.

  15. Dershowitz, N. and Okada, M.: Proof-theoritic techniques for term rewriting theory, in 3rd IEEE Symp. on Logic in Computer Science, 1988, pp. 104–111.

  16. Dershowitz, N. and Reingold, E. M.: Ordinal arithmetic with list structures, in Logical Foundations of Computer Science, 1992, pp. 117–126.

  17. Devlin, K.: The Joy of Sets: Fundamentals of Contemporary Set Theory, 2nd edition, Springer, New York, 1992.

  18. Doner, J.: Definability in the extended arithmetic of ordinal numbers, Diss. Math. 96 (1972).

  19. Doner, J. and Tarski, A.: An extended arithmetic of ordinal numbers, Fundam. Math. 65 (1969), 95–127.

    MATH  MathSciNet  Google Scholar 

  20. Gallier, J. H.: What's so special about Kruskal's theorem and the ordinal Γ0? A survey of some results in proof theory, Ann. Pure Appl. Logic, 53 (1991) 199–260.

    Article  MATH  MathSciNet  Google Scholar 

  21. Gentzen, G.: Die Widerspruchsfreiheit der reinen Zahlentheorie, Math. Ann. 112 (1936), 493–565. English translation in M. E. Szabo (ed.), The Collected Works of Gerhard Gentzen, North-Holland, Amsterdam, 1969, pp. 132–213.

    Article  MATH  MathSciNet  Google Scholar 

  22. Gordon, M. J. C. and Melham, T. F. (eds.): Introduction to HOL: A Theorem Proving Environment for Higher Order Logic, Cambridge University Press, Cambridge, UK, 1993.

    MATH  Google Scholar 

  23. Greve, D., Wilding, M. and Hardin, D.: High-speed, analyzable simulators, in Kaufmann et al. [25], 2000, pp. 113-135.

  24. Greve, D. A.: Symbolic simulation of the JEM1 microprocessor, in Formal Methods in Computer-Aided Design – FMCAD, LNCS. Springer, 1998.

  25. Kaufmann, M., Manolios, P. and Moore, J S. (eds.), Computer-Aided Reasoning: ACL2 Case Studies, Kluwer, Boston, MA, June 2000.

    Google Scholar 

  26. Kaufmann, M., Manolios, P. and Moore, J S.: Computer-Aided Reasoning: An Approach, Kluwer, Boston, MA, July 2000.

  27. Kaufmann, M. and Moore, J S.: ACL2 homepage. See URL http://www.cs.-utexas.edu/users/moore/acl2.

  28. Kaufmann, M. and Moore, J. S. (eds.), Proceedings of the ACL2 Workshop 2000. The University of Texas at Austin, Technical Report TR-00-29, November 2000.

  29. Kaufmann, M. and Moore, J. S. (eds.), Fourth International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2003), July 2003. See URL http://www.cs.utexas.edu/users/moore/acl2/workshop-2003/.

  30. Kunen, K.: Set Theory – An Introduction to Independence Proofs, volume 102 of Studies in Logic and the Foundations of Mathematics, North-Holland, Amsterdam, 1980.

    Google Scholar 

  31. Manolios, P.: Correctness of pipelined machines, in W. A. Hunt Jr. and S. D. Johnson (eds.), Formal Methods in Computer-Aided Design – FMCAD 2000, volume 1954 of LNCS, Springer, London, UK, 2000, pp. 161–178.

  32. Manolios, P.: Mechanical verification of reactive systems. PhD thesis, University of Texas at Austin, August 2001. See URL http://www.cc.gatech.edu/_manolios/publications.html.

  33. Manolios, P. and Moore, J S.: Partial functions in ACL2, in M. Kaufmann and J S. Moore (eds.), Proceedings of the ACL2 Workshop 2000. The University of Texas at Austin, Technical Report TR-00-29, November 2000.

  34. Manolios, P. and Moore, J S.: Partial functions in ACL2, J. Autom. Reason. 31(2) (2003), 107–127.

    Article  MATH  MathSciNet  Google Scholar 

  35. Manolios, P., Namjoshi, K. and Sumners, R.: Linking theorem proving and model-checking with well-founded bisimulation, in N. Halbwachs and D. Peled (eds.), Computer-Aided Verification-CAV '99, volume 1633 of LNCS, Springer, 1999, pp. 369–379.

  36. Manolios, P. and Vroon, D.: Algorithms for ordinal arithmetic, in F. Baader, (ed.), 19th International Conference on Automated Deduction – CADE-19, volume 2741 of LNAI, Springer, July/August 2003, pp. 243–257.

  37. Manolios, P. and Vroon, D.: Ordinal arithmetic in ACL2, in Kaufmann, M. and Moore, J S. (eds.), Fourth International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2003), July 2003. See URL http://www.cs.utexas.edu/users/moore/acl2/workshop-2003/.

  38. Manolios, P. and Vroon, D.: Integrating reasoning about ordinal arithmetic into ACL2, in Formal Methods in Computer-Aided Design: 5th International Conference – FMCAD-2004, LNCS, Springer, November 2004.

  39. Medina-Bulo, I., Palomo-Lozano, F. and Alonso-Jimenez, J. A.: Implementation in ACL2 of well-founded polynomial orderings, in M. Kaufmann and J S. Moore (eds.), Proceedings of the ACL2 Workshop 2002, 2002.

  40. Miller, L. W.: Normal functions and constructive ordinal notations, J. Symbolic Logic 41 (June 1976), 439–459.

    Article  MATH  Google Scholar 

  41. Moore, J S., Lynch, T. and Kaufmann, M.: A mechanically checked proof of the AMD5K86 floating-point division program, IEEE Trans. Comput. 47(9) (September 1998), 913–926.

    Article  MathSciNet  Google Scholar 

  42. Morris, F. and Jones, C.: An early program proof by Alan Turing, IEEE Ann. Hist. Comput. 6(2) (April–June 1984), 139–143.

    Article  MATH  MathSciNet  Google Scholar 

  43. Owre, S. Rushby, J. and Shankar, N.: PVS: A prototype verification system, in D. Kapur (ed), 11th International Conference on Automated Deduction (CADE), Lecture Notes in Artificial Intelligence, vol. 607, Springer, June 1992, pp. 748–752.

  44. Paulson, L. C.: Set theory for verification: I. From foundations to functions, J. Autom. Reason. 11(3) (1993), 353–389.

    Article  MATH  MathSciNet  Google Scholar 

  45. Paulson, L. C.: Isabelle: A Generic Theorem Prover, Springer LNCS 828, New York, NY, 1994.

  46. Paulson, L. C.: Set theory for verification: II. Induction and recursion, J. Autom. Reason. 15(2) (1995), 167–215.

    Article  MATH  MathSciNet  Google Scholar 

  47. Paulson, L. C.: The reflection theorem: A study in meta-theoretic reasoning, in A. Voronkov (ed.), 18th International Conf. on Automated Deduction: CADE-18, number 2392 in LNAI, Springer, 2002, pp. 377–391.

  48. Paulson, L. C.: The relative consistency of the axiom of choice mechanized using Isabelle, LMS J. Comput. Math. 6 (2003), 198–248.

    MATH  MathSciNet  Google Scholar 

  49. Paulson, L. C. and Grabczewski, K.: Mechanizing set theory: Cardinal arithmetic and the axiom of choice, J. Autom. Reason. 17 (1996), 291–323.

    Article  MATH  MathSciNet  Google Scholar 

  50. Rogers Jr, H.: Theory of Recursive Functions and Effective Computability, MIT Press, Cambridge, MA, 1987.

  51. Rudnicki, P.: An overview of the MIZAR project, in 1992 Workshop on Types for Proofs and Programs, 1992.

  52. Ruiz-Reina, J.-L., Alonso, J.-A., Hidalgo, M.-J. and Martin, F.-J.: Multiset relations: A tool for proving termination, in Kaufmann, M. and Moore, J S. (eds.), Proceedings of the ACL2 Workshop 2000, The University of Texas at Austin, Technical Report TR-00-29, November 2000.

  53. Russinoff, D. M.: A mechanically checked proof of correctness of the AMD5K86 floating-point square root microcode, Formal Methods in System Design Special Issue on Arithmetic Circuits, 1997.

  54. Russinoff, D. M.: A mechanically checked proof of IEEE compliance of a register-transfer-level specification of the AMD-K7 floating-point multiplication, division, and square root instructions, LMS J. Comput. Math. 1 (December 1998), 148–200.

    MATH  MathSciNet  Google Scholar 

  55. Russinoff, D. M.: A mechanically checked proof of correctness of the AMDK5 floating-point square root microcode, Form. Methods Syst. Des. 14 (1999), 75–125.

    Article  Google Scholar 

  56. Russinoff, D. M. and Flatau, A.: RTL verification: A floating-point multiplier, Kaufmann, M., Manolios, P. and Moore, J S. (eds.), Computer-Aided Reasoning: ACL2 Case Studies, Kluwer, Boston, MA, 2000, pp. 201–231.

    Google Scholar 

  57. Schütte, K.: Proof Theory. Springer, 1977. Translation from German by J. N. Crossley. The book is a completely rewritten version of Beweistheorie, Springer, 1960.

  58. Setzer, A.: Ordinal systems, in B. Cooper and J. Truss (eds.), Sets and Proofs, Cambridge University Press, Cambridge, 1999, pp. 301–331.

    Google Scholar 

  59. Setzer, A.: Ordinal systems part 2: One inaccessible, in Logic Colloquium '98, volume 13 of ASL Lecture Notes in Logic, 2000, pp. 426–448.

  60. Sumners, R.: An incremental stuttering refinement proof of a concurrent program in ACL2, in Kaufmann, M. and Moore, J S. (eds.), Proceedings of the ACL2 Workshop 2000. The University of Texas at Austin, Technical Report TR-00-29, November 2000.

  61. Sustik, M.: Proof of Dixon's lemma using the ACL2 theorem prover via an explicit ordinal mapping, in Kaufmann, M. and Moore, J S. (eds.), Fourth International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2003), July 2003. See URL http://www.cs.utexas.edu/users/moore/acl2/workshop-2003/.

  62. Troelstra, A. S. and Schwichtenberg, H.: Basic Proof Theory, 2nd edition, Cambridge University Press, Cambridge, 2000.

    MATH  Google Scholar 

  63. Turing, A. M.: Systems of logic based on ordinals, Proc. Lond. Math. Soc. 45(2) (1939), 161–228. See URL http://www.- turingarchive.org/.

    Article  MATH  Google Scholar 

  64. Turing, A. M.: Checking a large routine, in Report of a Conference on High Speed Automatic Calculating Machines, University Mathematical Laboratory, Cambridge, June 1949, pp. 67–69.

  65. Veblen, O.: Continuous increasing functions of finite and transfinite ordinals, Trans. Am. Math. Soc. 9 (1908), 280–292.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Panagiotis Manolios.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Manolios, P., Vroon, D. Ordinal Arithmetic: Algorithms and Mechanization. J Autom Reasoning 34, 387–423 (2005). https://doi.org/10.1007/s10817-005-9023-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-005-9023-9

Key words

Navigation