Skip to main content

Diagram Combinators in MMT

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 11617))

Abstract

Formal libraries, especially large ones, usually employ modularity to build and maintain large theories efficiently. Although the techniques used to achieve modularity vary between systems, most of them can be understood as operations in the category of theories and theory morphisms. This yields a representation of libraries as diagrams in this category, with all theory-forming operations extending the diagram.

However, as libraries grow even bigger, it is starting to become important to build these diagrams modularly as well, i.e., we need languages and tools that support computing entire diagrams at once. A simple example would be to systematically apply the same operation to all theories in a diagram and return both the new diagram and the morphisms that relate the old one to the new one.

In this work, we introduce such diagram combinators as an extension to the MMT language and tool. We provide many important combinators, and our extension allows library developers to define arbitrary new ones. We evaluate our framework by building a library of algebraic theories in an extremely compact way.

The authors were supported by DFG grant RA-18723-1 OAF and EU grant Horizon 2020 ERI 676541 OpenDreamKit.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    The Scala code is available at https://github.com/UniFormal/MMT/blob/devel/src/mmt-lf/src/info/kwarc/mmt/moduleexpressions/Combinators.scala.

References

  1. Autexier, S., Hutter, D., Mantel, H., Schairer, A.: Towards an evolutionary formal software-development using CASL. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 73–88. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-540-44616-3_5

    Chapter  MATH  Google Scholar 

  2. Carette, J., O’Connor, R.: Theory presentation combinators. In: Jeuring, J., et al. (eds.) CICM 2012. LNCS (LNAI), vol. 7362, pp. 202–215. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31374-5_14

    Chapter  Google Scholar 

  3. Mossakowski, T., Rabe, F., Codescu, M.: Canonical selection of colimits. In: James, P., Roggenbach, M. (eds.) WADT 2016. LNCS, vol. 10644, pp. 170–188. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-72044-9_12

    Chapter  Google Scholar 

  4. Mosses, P.D. (ed.): CASL Reference Manual. LNCS, vol. 2960. Springer, Heidelberg (2004). https://doi.org/10.1007/b96103. CoFI (The Common Framework Initiative)

    Book  MATH  Google Scholar 

  5. The distributed ontology, modeling, and specification language. Technical report, Object Management Group (OMG) (2018). version 1.0

    Google Scholar 

  6. Farmer, W.M., Guttman, J.D., Javier Thayer, F.: Little theories. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 567–581. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55602-8_192

    Chapter  Google Scholar 

  7. Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.: Introducing OBJ. In: Goguen, J., Coleman, D., Gallimore, R. (eds.) Applications of Algebraic Specification using OBJ, Cambridge (1993)

    Google Scholar 

  8. Kammüller, F., Wenzel, M., Paulson, L.C.: Locales a sectioning concept for isabelle. In: Bertot, Y., Dowek, G., Théry, L., Hirschowitz, A., Paulin, C. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 149–165. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48256-3_11

    Chapter  Google Scholar 

  9. Mossakowski, T., Maeder, C., Lüttich, K.: The heterogeneous tool set, Hets. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 519–522. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71209-1_40

    Chapter  Google Scholar 

  10. Müller, D., Rabe, F.: Structuring theories with implicit morphisms. In: Fiadeiro, J., Tutu, I. (eds.) Recent Trends in Algebraic Development Techniques. Springer (2019, to appear)

    Google Scholar 

  11. Rabe, F.: How to identify, translate, and combine logics? J. Log. Comput. 27(6), 1753–1798 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  12. Rabe, F.: A modular type reconstruction algorithm. ACM Trans. Comput. Log. 19(4), 1–43 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  13. Rabe, F., Kohlhase, M.: A scalable module system. Inf. Comput. 230(1), 1–54 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  14. Sannella, D., Wirsing, M.: A kernel language for algebraic specification and implementation extended abstract. In: Karpinski, M. (ed.) FCT 1983. LNCS, vol. 158, pp. 413–427. Springer, Heidelberg (1983). https://doi.org/10.1007/3-540-12689-9_122

    Chapter  Google Scholar 

  15. Srinivas, Y.V., Jüllig, R.: Specware: formal support for composing software. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, pp. 399–422. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60117-1_22

    Chapter  Google Scholar 

Download references

Acknowledgment

We would like to thank Jacques Carette, William Farmer, and Michael Kohlhase for fruitful discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yasmine Sharoda .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Rabe, F., Sharoda, Y. (2019). Diagram Combinators in MMT. In: Kaliszyk, C., Brady, E., Kohlhase, A., Sacerdoti Coen, C. (eds) Intelligent Computer Mathematics. CICM 2019. Lecture Notes in Computer Science(), vol 11617. Springer, Cham. https://doi.org/10.1007/978-3-030-23250-4_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-23250-4_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-23249-8

  • Online ISBN: 978-3-030-23250-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics