Abstract
Mathematical software systems offer two major paradigms for interacting with mathematical knowledge. One is static files with semantically annotated representations that define mathematical knowledge and can be compiled into documents (PDF, html, etc.), and the other dynamically build mathematical objects in interactive read-eval-print loops (REPL) such as notebooks. Many author-facing interfaces offer both features in some way. However, reader-facing interfaces usually show only one or the other.
In this paper we present an integration of the approaches in the context of the MMT system. Firstly, we present a Jupyter kernel for MMT which provides web-ready REPL functionality for MMT. Secondly, we integrate the resulting Jupyter notebooks into MathHub, a web-based frontend for mathematical documents. This allows users to context-sensitively open a Jupyter notebook as a dynamic subdocument anywhere inside a static MathHub document. Vice versa, any such highly interactive and often ephemeral notebook can be saved persistently in the MathHub backend at which point it becomes available as a static document. We also show how Jupyter widgets can be deeply integrated with the MMT knowledge management facilities to give semantics-aware interaction facilities.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In our current implementation we compute using MMT, which models it of using term simplification. However in principle it is possible to use any kind of computation engine here. We want to integrate the active computation widget with our work on the Math-In-The-Middle paradigm (such as in [D6.518]) which would be ideally suited for further applications.
- 2.
Technically, each kernel has a separate MMT instance in addition to the primary one. Except for the ephemeral document representing each Notebook, these are identical to the main instance. These exist only to isolate different users from one another, and prevent scenarios where they could unintentionally break each others notebook sessions.
- 3.
References
Cremona, J., et al.: Report on OpenDreamKit deliverable D6.5: GAP/SAGE/LMFDB interface theories and alignment in OM-Doc/MMT for system interoperability. Deliverable D6.5. Open-DreamKit (2018). https://github.com/OpenDreamKit/OpenDreamKit/raw/master/WP6/D6.5/report-final.pdf
Dehaye, P.-O., et al.: Interoperability in the OpenDreamKit project: the math-in-the-middle approach. In: Kohlhase, M., Johansson, M., Miller, B., de de Moura, L., Tompa, F. (eds.) CICM 2016. LNCS (LNAI), vol. 9791, pp. 117–131. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42547-4_9. ISBN 978-3-319-08434-3, https://github.com/OpenDreamKit/OpenDreamKit/blob/master/WP6/CICM2016/published.pdf
Advanced Stencil-Code Engineering (ExaStencils). http://exastencils.org. Accessed 25 Apr 2018
What is Jupyter. http://jupyter-notebook-beginner-guide.readthedocs.org/en/latest/what_is_jupyter.html. Accessed 22 Aug 08 2017
The Jupyter Notebook Format. https://nbformat.readthedocs.io/en/latest/. Accedded 13 Mar 2018
Marcus, R., Kohlhase, M., Rabe, F.: TGView3D system description: 3-dimensional visualization of theory graphs. Submitted to CICM (2019). https://kwarc.info/kohlhase/submit/cicm19-tgview.pdf
Rabe, F.: The MMT system. https://uniformal.github.io/doc/. Accessed 16 July 2014
Wiesing, T., Amann, K.: MMT jupyter kernel: a jupyter kernel for MMT, 16 October 2017. https://github.com/UniFormal/mmt_jupyter_kernel. Accessed 08 Nov 2017
Py4J. https://www.py4j.org/. Accessed 16 July 2018
Pollinger, T., Kohlhase, M., Köstler, H.: Knowledge amalgamation for computational science and engineering. In: Rabe, F., Farmer, W.M., Passmore, G.O., Youssef, A. (eds.) CICM 2018. LNCS (LNAI), vol. 11006, pp. 232–247. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96812-4_20
Sharoda, Y., Rabe, F.: Diagram combinators in MMT. In: Kaliszyk, C., et al. (eds.) CICM 2019. LNAI, vol. 11617, pp. 211–226. Springer, Heidelberg (2019)
Acknowledgements
We acknowledge financial support from the OpenDreamKit Horizon 2020 European Research Infrastructures project (#676541). The authors gratefully acknowledge the support of the Jupyter team and in particular the advice of Benjamin Ragan-Kelly. The MoSIS system was developed in collaboration with Theresa Pollinger [PKK18].
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Amann, K., Kohlhase, M., Rabe, F., Wiesing, T. (2019). Integrating Semantic Mathematical Documents and Dynamic Notebooks. 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_19
Download citation
DOI: https://doi.org/10.1007/978-3-030-23250-4_19
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)