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.
Similar content being viewed by others
References
Apt, K. R. and Olderog, E.-R.: Verification of Sequential and Concurrent Programs, Springer, Berlin Heidelberg New York, 1991.
Baader, F. and Nipkow, T.: Term Rewriting and All That, Cambridge University Press, Cambridge, UK, 1998.
Bancerek, G.: The reflection theorem, J. Formaliz. Math. 2 (1990). See URL http://megrez.mizar.org/mirror/JFM/Vol2/zf refle.html.
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.
Belinfante, J. G. F.: On computer-assisted proofs in ordinal number theory, J. Autom. Reason. 22(3) (1999), 341–378.
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.
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.
Boyer, R. S. and Moore, J S.: A Computational Logic Handbook, 2nd edition, Academic Press, New York, 1997.
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.
Cantor, G.: Beiträge zur Begründung der transfiniten Mengenlehre, Math. Ann. xlvi (1895), 481–512.
Cantor, G.: Beiträge zur Bgründung der transfiniten Mengenlehre, Math. Ann. xlix (1897), 207–246.
Cantor, G.: Contributions to the Founding of the Theory of Transfinite Numbers. Dover, 1952. Translated by Philip E. B. Jourdain.
Church, A. and Kleene, S. C.: Formal definitions in the theory of ordinal numbers, Fundam. Math. 28 (1937), 11–21.
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.
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.
Dershowitz, N. and Reingold, E. M.: Ordinal arithmetic with list structures, in Logical Foundations of Computer Science, 1992, pp. 117–126.
Devlin, K.: The Joy of Sets: Fundamentals of Contemporary Set Theory, 2nd edition, Springer, New York, 1992.
Doner, J.: Definability in the extended arithmetic of ordinal numbers, Diss. Math. 96 (1972).
Doner, J. and Tarski, A.: An extended arithmetic of ordinal numbers, Fundam. Math. 65 (1969), 95–127.
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.
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.
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.
Greve, D., Wilding, M. and Hardin, D.: High-speed, analyzable simulators, in Kaufmann et al. [25], 2000, pp. 113-135.
Greve, D. A.: Symbolic simulation of the JEM1 microprocessor, in Formal Methods in Computer-Aided Design – FMCAD, LNCS. Springer, 1998.
Kaufmann, M., Manolios, P. and Moore, J S. (eds.), Computer-Aided Reasoning: ACL2 Case Studies, Kluwer, Boston, MA, June 2000.
Kaufmann, M., Manolios, P. and Moore, J S.: Computer-Aided Reasoning: An Approach, Kluwer, Boston, MA, July 2000.
Kaufmann, M. and Moore, J S.: ACL2 homepage. See URL http://www.cs.-utexas.edu/users/moore/acl2.
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.
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/.
Kunen, K.: Set Theory – An Introduction to Independence Proofs, volume 102 of Studies in Logic and the Foundations of Mathematics, North-Holland, Amsterdam, 1980.
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.
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.
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.
Manolios, P. and Moore, J S.: Partial functions in ACL2, J. Autom. Reason. 31(2) (2003), 107–127.
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.
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.
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/.
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.
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.
Miller, L. W.: Normal functions and constructive ordinal notations, J. Symbolic Logic 41 (June 1976), 439–459.
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.
Morris, F. and Jones, C.: An early program proof by Alan Turing, IEEE Ann. Hist. Comput. 6(2) (April–June 1984), 139–143.
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.
Paulson, L. C.: Set theory for verification: I. From foundations to functions, J. Autom. Reason. 11(3) (1993), 353–389.
Paulson, L. C.: Isabelle: A Generic Theorem Prover, Springer LNCS 828, New York, NY, 1994.
Paulson, L. C.: Set theory for verification: II. Induction and recursion, J. Autom. Reason. 15(2) (1995), 167–215.
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.
Paulson, L. C.: The relative consistency of the axiom of choice mechanized using Isabelle, LMS J. Comput. Math. 6 (2003), 198–248.
Paulson, L. C. and Grabczewski, K.: Mechanizing set theory: Cardinal arithmetic and the axiom of choice, J. Autom. Reason. 17 (1996), 291–323.
Rogers Jr, H.: Theory of Recursive Functions and Effective Computability, MIT Press, Cambridge, MA, 1987.
Rudnicki, P.: An overview of the MIZAR project, in 1992 Workshop on Types for Proofs and Programs, 1992.
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.
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.
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.
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.
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.
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.
Setzer, A.: Ordinal systems, in B. Cooper and J. Truss (eds.), Sets and Proofs, Cambridge University Press, Cambridge, 1999, pp. 301–331.
Setzer, A.: Ordinal systems part 2: One inaccessible, in Logic Colloquium '98, volume 13 of ASL Lecture Notes in Logic, 2000, pp. 426–448.
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.
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/.
Troelstra, A. S. and Schwichtenberg, H.: Basic Proof Theory, 2nd edition, Cambridge University Press, Cambridge, 2000.
Turing, A. M.: Systems of logic based on ordinals, Proc. Lond. Math. Soc. 45(2) (1939), 161–228. See URL http://www.- turingarchive.org/.
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.
Veblen, O.: Continuous increasing functions of finite and transfinite ordinals, Trans. Am. Math. Soc. 9 (1908), 280–292.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-005-9023-9