skip to main content
10.1145/3609437.3609460acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
research-article

Isabelle/Cloud: Delivering Isabelle/HOL as a Cloud IDE for Theorem Proving

Published: 05 October 2023 Publication History

Abstract

As online coding technology advances, various related products are emerging, but we observe that there are not many examples of introducing online coding into the field of theorem proving. We introduce Isabelle/Cloud, an online coding platform and user environment for the Isabelle theorem proving assistant. The primary objective of Isabelle/Cloud is to cloudify Isabelle using online coding technology, thereby addressing the issue of loading large projects. Leveraging the understanding of the Isabelle architecture, we have modified, replaced, and added some modules, encapsulated the Isabelle environment using containers, and developed the front-end and back-end. As a cloud platform, Isabelle/Cloud enables users to create a complete Isabelle environment with different versions that are isolated from each other, while providing basic cloud coding and theorem proving services. The current version integrates most of the popular Isabelle libraries with excellent tutorials and cases, enabling users to directly create projects from the tutorial code for practical exercises. Evaluation of the platform shows that Isabelle/Cloud performs better when dealing with large projects. The new platform opens up new possibilities for interaction and presentation, and it is currently in use.

References

[1]
Agda. 2023. The Agda Wiki. Retrieved March 11, 2023 from https://wiki.portal.chalmers.se/agda/pmwiki.php
[2]
Emilio Jesú s Gallego Arias, Benoît Pin, and Pierre Jouvelot. 2017. jsCoq: Towards Hybrid Theorem Proving Interfaces. Electronic Proceedings in Theoretical Computer Science 239 (jan 2017), 15–27. https://doi.org/10.4204/eptcs.239.2
[3]
Holger Blasum, Sergey Tverdyshev, Burkhart Wolff, Yakoub Nemouchi, Cyril Proch, Bruno Langenstein, Werner Stephan, Abderrahmane Feliachi, Freek Verbeek, Oto Havle, and Julien Schmaltz. 2015. Used Formal Methods.
[4]
Ingo Blechschmidt. 2023. Agdapad. Retrieved March 11, 2023 from https://agdapad.quasicoherent.io/
[5]
CodeSandbox B.V.2023. CodeSandbox. Retrieved April 15, 2023 from https://codesandbox.io/
[6]
Inc Coder Technologies. 2023. Home - code-server Docs. Retrieved March 31, 2023 from https://coder.com/docs/code-server/latest
[7]
EduCoder. 2023. EduCoder. Retrieved April 20, 2023 from https://www.educoder.net/
[8]
Gitpod. 2023. Gitpod. Retrieved April 15, 2023 from https://www.gitpod.io/
[9]
gitpod samples. 2021. gitpod-samples/template-coq: A template for Coq, configured for Gitpod (www.gitpod.io) to give you pre-built, ephemeral formal proof management environments in the cloud.Retrieved March 21, 2023 from https://github.com/gitpod-samples/template-coq
[10]
Google. 2023. The Go Programming Language. Retrieved March 23, 2023 from https://go.dev/
[11]
Docker Inc.2023. Get Docker | Docker Documentation. Retrieved March 20, 2023 from https://docs.docker.com/get-docker/
[12]
GitHub Inc.2023. Github codespaces. Retrieved April 15, 2023 from https://github.com/features/codespaces
[13]
Isabelle. 2023. Archive of Formal Proofs. Retrieved April 12, 2023 from https://www.isa-afp.org/index.html
[14]
Isabelle. 2023. Installation. Retrieved March 21, 2023 from https://isabelle.in.tum.de/installation.html
[15]
Isabelle. 2023. isa-afp. Retrieved March 12, 2023 from https://foss.heptapod.net/isa-afp
[16]
Isabelle. 2023. Isabelle. Retrieved April 13, 2023 from https://isabelle.in.tum.de/index.html
[17]
Isabelle. 2023. Isabelle NEWS – history of user-relevant changes. Retrieved March 21, 2023 from https://isabelle.in.tum.de/dist/Isabelle2022/doc/NEWS.html
[18]
Martin Desharnais Jasmin Blanchette and Lawrence C. Paulson. 2022. User’s Guide to Sledgehammer. Retrieved March 5, 2023 from https://isabelle.in.tum.de/dist/Isabelle2022/doc/sledgehammer.pdf
[19]
jsCoq Dev Team. 2023. jsCoq – Use Coq in Your Browser. Retrieved April 15, 2023 from https://coq.vercel.app/
[20]
Gerwin Klein, June Andronick, Kevin Elphinstone, Toby Murray, Thomas Sewell, Rafal Kolanski, and Gernot Heiser. 2014. Comprehensive Formal Verification of an OS Microkernel. ACM Transactions on Computer Systems (TOCS) 32 (02 2014). https://doi.org/10.1145/2560537
[21]
Lean. 2023. Lean. Retrieved April 21, 2023 from https://leanprover.github.io/
[22]
leanprover. 2023. leanprover/vscode-lean: An extension for VS Code which provides support for the Lean language.Retrieved April 10, 2023 from https://github.com/leanprover/vscode-lean
[23]
David Matthews. 2021. Poly/ML Home Page. Retrieved April 21, 2023 from https://polyml.org/
[24]
Microsoft. 2023. Language Server Extension Guide | Visual Studio Code Extension API. Retrieved April 21, 2023 from https://code.visualstudio.com/api/language-extensions/language-server-extension-guide
[25]
Microsoft. 2023. Visual Studio Code. Retrieved April 3, 2023 from https://vscode.dev/
[26]
Microsoft. 2023. Visual Studio Code - Code Editing. Redefined. Retrieved March 21, 2023 from https://code.visualstudio.com/
[27]
Microsoft. 2023. Visual Studio Code Server. Retrieved February 1, 2023 from https://code.visualstudio.com/docs/remote/vscode-server
[28]
Toby Murray, Daniel Matichuk, Matthew Brassil, Peter Gammie, Timothy Bourke, Sean Seefried, Corey Lewis, Xin Gao, and Gerwin Klein. 2013. seL4: From General Purpose to a Proof of Information Flow Enforcement. In 2013 IEEE Symposium on Security and Privacy. 415–429. https://doi.org/10.1109/SP.2013.35
[29]
József Sallai. 2023. Fiber. Retrieved March 23, 2023 from https://gofiber.io/
[30]
seL4. 2023. seL4/l4v: seL4 specification and proofs. Retrieved April 21, 2023 from https://github.com/seL4/l4v
[31]
siegebell. 2017. siegebell/vscoq: Coq Support for Visual Studio Code. Retrieved April 10, 2023 from https://github.com/siegebell/vscoq
[32]
Coq Team. 2023. Welcome! | The Coq Proof Assistant. Retrieved April 20, 2023 from https://coq.inria.fr/
[33]
Freek Verbeek, Oto Havle, Julien Schmaltz, Sergey Tverdyshev, Holger Blasum, Bruno Langenstein, Werner Stephan, Burkhart Wolff, and Yakoub Nemouchi. 2015. Formal API Specification of the PikeOS Separation Kernel. In NASA Formal Methods, Klaus Havelund, Gerard Holzmann, and Rajeev Joshi (Eds.). Springer International Publishing, Cham, 375–389.
[34]
Freek Verbeek, Sergey Tverdyshev, Oto Havle, Holger Blasum, Bruno Langenstein, Werner Stephan, Yakoub Nemouchi, Abderrahmane Feliachi, Burkhart Wolff, and Julien Schmaltz. 2014. Formal Specification of a Generic Separation Kernel. Arch. Formal Proofs 2014 (2014).
[35]
Makarius Wenzel. 2022. The Isabelle System Manual. Retrieved April 3, 2023 from https://isabelle.in.tum.de/dist/Isabelle2022/doc/system.pdf
[36]
Makarius Wenzel. 2022. Isabelle/jEdit. Retrieved April 10, 2023 from https://isabelle.in.tum.de/doc/jedit.pdf
[37]
Makarius Wenzel. 2023. Isabelle/VSCode in January 2017. Retrieved April 20, 2023 from http://sketis.net/wp-content/uploads/2017/01/isabelle-vscode-jan-2017.pdf
[38]
Makarius Wenzel and Burkhart Wolff. 2012. Isabelle/PIDE as Platform for Educational Tools. Electronic Proceedings in Theoretical Computer Science 79 (feb 2012), 143–153. https://doi.org/10.4204/eptcs.79.9
[39]
Evan You. 2023. Vue.js - The Progressive JavaScript Framework | Vue.js. Retrieved March 23, 2023 from https://vuejs.org/

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '23: Proceedings of the 14th Asia-Pacific Symposium on Internetware
August 2023
332 pages
ISBN:9798400708947
DOI:10.1145/3609437
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 October 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Cloud-based IDEs
  2. Isabelle
  3. cloud applications

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Zhejiang Science and Technology Plan Project
  • National Major Science and Technology Plan Project
  • the Natural Science Foundation of China

Conference

Internetware 2023

Acceptance Rates

Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 63
    Total Downloads
  • Downloads (Last 12 months)42
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media