Monoid Theory in Alonzo: A Little Theories Formalization in Simple Type Theory (2312.05658v2)
Abstract: Alonzo is a practice-oriented classical higher-order logic that extends first-order logic and that admits undefined expressions. Named in honor of Alonzo Church, Alonzo is based on Church's type theory, Church's formulation of simple type theory. The little theories method is a method for formalizing mathematical knowledge as a network of theories called a theory graph consisting of theories as nodes and theory morphisms as directed edges. The development of a mathematical topic is done in the "little theory" in the theory graph that has the most convenient level of abstraction and the most convenient vocabulary, and then the definitions and theorems produced in the development are transported, as needed, to other theories via the theory morphisms in the theory graph. The purpose of this paper is to illustrate how a body of mathematical knowledge can be formalized in Alonzo using the little theories method. This is done by formalizing monoid theory -- the body of mathematical knowledge about monoids -- in Alonzo.
- P. B. Andrews. An Introduction to Mathematical Logic and Type Theory: To Truth through Proof. Springer, second edition, 2002.
- TPS: A theorem proving system for classical type theory. Journal of Automated Reasoning, 16:321–353, 1996.
- CASL: The Common Algebraic Specification Language. Theoretical Computer Science, 286:153–196, 2002.
- Towards an evolutionary formal software-development using CASL. In D. Bert, C. Choppy, and P. Mosses, editors, Recent Trends in Algebraic Development Techniques (WADT 1999), volume 1827 of Lecture Notes in Computer Science, pages 73–88. Springer, 1999.
- C. Ballarin. Locales: A module system for mathematical theories. Journal of Automated Reasoning, 52:123–153, 2014.
- Simple type theory is not too simple: Grothendieck’s schemes without dependent types. Experimental Mathematics, 31:364–382, 2022.
- A brief overview of Agda — A functional language with dependent types. In S. Berghofer, T. Nipkow, C. Urban, and M. Wenzel, editors, Theorem Proving in Higher Order Logics, volume 5674 of Lecture Notes in Computer Science, pages 73–78. Springer, 2009.
- A. Church. A formulation of the simple theory of types. Journal of Symbolic Logic, 5:56–68, 1940.
- Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986.
- The Lean theorem prover (system description). In A. P. Felty and A. Middeldorp, editors, Automated Deduction — CADE-25, volume 9195, pages 378–388, 2015.
- Epigram: Marking Dependent Types matter. http://www.e-pig.org/. Access on 17 August 2022.
- F*. https://www.fstar-lang.org/. Access on 17 August 2022.
- W. M. Farmer. A partial functions version of Church’s simple theory of types. Journal of Symbolic Logic, 55:1269–91, 1990.
- W. M. Farmer. A simple type theory with partial functions and subtypes. Annals of Pure and Applied Logic, 64:211–240, 1993.
- W. M. Farmer. Theory interpretation in simple type theory. In J. Heering, K. Meinke, B. Möller, and T. Nipkow, editors, Higher-Order Algebra, Logic, and Term Rewriting, volume 816 of Lecture Notes in Computer Science, pages 96–123. Springer, 1994.
- W. M. Farmer. Formalizing undefinedness arising in calculus. In D. A. Basin and M. Rusinowitch, editors, Automated Reasoning — IJCAR 2004, volume 3097 of Lecture Notes in Computer Science, pages 475–489. Springer, 2004.
- W. M. Farmer. The seven virtues of simple type theory. Journal of Applied Logic, 6:267–286, 2008.
- W. M. Farmer. Formal mathematics for the masses. In J. Blanchette, Davenport J, P. Koepke, M. Kohlhase, A. Kohlhase, A. Naumowicz, D. Müller, Y. Sharoda, and C. Sacerdoti Coen, editors, Workshop Papers of the 14th Conference on Intelligent Computer Mathematics (CICM 2021), volume 3377 of CEUR Workshop Proceedings. CEUR-WS.org, 2023.
- W. M. Farmer. LaTeX for Alonzo. https://imps.mcmaster.ca/doc/latex-for-alonzo.pdf, 2023.
- W. M. Farmer. Simple Type Theory: A Practical Logic for Expressing and Reasoning About Mathematical Ideas. Computer Science Foundations and Applied Logic. Birkhäuser/Springer, 2023.
- Little theories. In D. Kapur, editor, Automated Deduction — CADE-11, volume 607 of Lecture Notes in Computer Science, pages 567–581. Springer, 1992.
- IMPS: An Interactive Mathematical Proof System. Journal of Automated Reasoning, 11:213–248, 1993.
- F. Garillot. Generic Proof Tools and Finite Group Theory. PhD thesis, Ecole Polytechnique X, 2011.
- Introducing OBJ. In J. Goguen and G. Malcolm, editors, Software Engineering with OBJ: Algebraic Specification in Action, volume 2 of Advances in Formal Methods, pages 3–167. Springer, 2000.
- A modular formalisation of finite group theory. In K. Schneider and J. Brandt, editors, Theorem Proving in Higher Order Logics (TPHOLs 2007), volume 4732 of Lecture Notes in Computer Science, pages 86–101. Springer, 2007.
- Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.
- J. Harrison. HOL Light: An overview. In S. Berghofer, T. Nipkow, C. Urban, and M. Wenzel, editors, Theorem Proving in Higher Order Logics, volume 5674 of Lecture Notes in Computer Science, pages 60–66. Springer, 2009.
- L. Henkin. Completeness in the theory of types. Journal of Symbolic Logic, 15:81–91, 1950.
- Idris: A Language for Type-Driven Development. https://www.idris-lang.org/. Access on 17 August 2022.
- F. Kachapova. Formalizing groups in type theory. Computing Research Repository (CoRR), abs/2102.09125, 2021.
- Towards MKM in the large: Modular representation and scalable software architecture. In S. Autexier, J. Calmet, D. Delahaye, P. D. F. Ion, L. Rideau, R. Rioboo, and A. P. Sexton, editors, Intelligent Computer Mathematics, volume 6167 of Lecture Notes in Computer Science, pages 370–384. Springer, 2010.
- The heterogeneous tool set. In O. Grumberg and M. Huth, editors, Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2007), volume 4424 of Lecture Notes in Computer Science, pages 519–522. Springer, 2007.
- R. Nakajima and T. Yuasa, editors. The IOTA Programming System, volume 160 of Lecture Notes in Computer Science. Springer, 1982.
- Selected Papers on Automath, volume 133 of Studies in Logic and the Foundations of Mathematics. North Holland, 1994.
- Cogito Ergo Sum — Providing structured theorem prover support for specification formalisms. In K. Ramamohanarao, editor, Proceedings of the Nineteenth Australasian Computer Science Conference, volume 18 of Australian Computer Science Communications, pages 149–158, 1997.
- U. Norell. Towards a Practical Programming Language based on Dependent Type Theory. PhD thesis, Chalmers University of Technology, 2007.
- PVS: Combining specification, proof checking, and model checking. In R. Alur and T. A. Henzinger, editors, Computer Aided Verification, volume 1102 of Lecture Notes in Computer Science, pages 411–414. Springer, 1996.
- S. Owre and N. Shankar. Theory interpretations in PVS. Technical Report NASA/CR-2001-211024), NASA, 2001.
- L. C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer, 1994.
- L. C. Paulson. Formalising mathematics in simple type theory. In S. Centrone, D. Kant, and D. Sarikaya, editors, Reflections on the Foundations of Mathematics, volume 407 of Synthese Library, pages 437–453. Springer, 2019.
- L. C. Paulson. Large-scale formal proof for the working mathematician — lessons learnt from the ALEXANDRIA Project. Computing Research Repository (CoRR), abs/2305.14407, 2023.
- Proof Power. http://www.lemma-one.com/ProofPower/index/index.html. Access on 17 August 2022.
- F. Rabe and M. Kohlhase. A scalable module system. Information and Computation, 230:1–54, 2013.
- F. Rabe and C. Schürmann. A practical module system for LF. In J. Cheney and A. Felty, editors, Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2009), pages 40–48. ACM Press, 2009.
- An introduction to formal specification and verification using EHDM. Technical Report SRI-CSL-91-02, SRI International, 1991.
- D. M. Russinoff. A formalization of finite group theory. Computing Research Repository (CoRR), abs/2205.13347, 2022.
- D. Sannella and M. Wirsing. A kernel language for algebraic specification and implementation. In M. Karpinski, editor, Fundamentals of Computation Theory (FCS 1983), volume 158 of Lecture Notes in Computer Science. Springer, 1983.
- D. R. Smith. KIDS: A knowledge-based software development system. IEEE Transactions on Software Engineering, 16:483–514, 1991.
- Y. V. Srinivas and R. Jüllig. Specware: Formal support for composing software. In B. Möller, editor, Mathematics of Program Construction, volume 947 of Lecture Notes in Computer Science, pages 399–422. Springer, 1995.
- The Coq Proof Assistant. https://coq.inria.fr/. Access on 17 August 2022.
- Formalizing abstract algebra in type theory with dependent records. In 16th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2003), Emerging Trends Proceedings, pages 13–27, 2013.
- A. Zipperer. A Formalization of Elementary Group Theory in the Proof Assistant Lean. PhD thesis, Carnegie Mellon University, 2016.