Abstract
This paper introduces Clide , a collaborative web interface for the Isabelle theorem prover. The interface allows a document-oriented interaction very much like Isabelle’s desktop interface. Moreover, it allows users to jointly edit Isabelle proof scripts over the web; editing operations are synchronised in real-time to all users.
The paper describes motivation, user experience, implementation and system architecture of Clide . The implementation is based on the theory of operational transformations; its key concepts have been formalised in Isabelle, its correctness proven and critical parts of the implementation on the server are generated from the formalisation, thus increasing confidence in the system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lüth, C., Ring, M.: A web interface for Isabelle: The next generation. In: Carette, J., Aspinall, D., Lange, C., Sojka, P., Windsteiger, W. (eds.) CICM 2013. LNCS (LNAI), vol. 7961, pp. 326–329. Springer, Heidelberg (2013)
Wenzel, M.: Isabelle/jEdit – A prover IDE within the PIDE framework. In: Jeuring, J., Campbell, J.A., Carette, J., Dos Reis, G., Sojka, P., Wenzel, M., Sorge, V. (eds.) CICM 2012. LNCS (LNAI), vol. 7362, pp. 468–471. Springer, Heidelberg (2012)
ProofPeer web page, http://www.proofpeer.net (accessed: January 29, 2014)
Dourish, P., Bellotti, V.: Awareness and coordination in shared workspaces. In: Proceedings of the 1992 ACM Conference on Computer-supported Cooperative Work, CSCW 1992, pp. 107–114. ACM (1992)
Sun, C., Jia, X., Zhang, Y., Yang, Y., Chen, D.: Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Trans. Comput.-Hum. Interact. 5(1), 63–108 (1998)
Ellis, C.A., Gibbs, S.J.: Concurrency control in groupware systems. SIGMOD Rec. 18(2), 399–407 (1989)
Wang, D., Mah, A., Lassen, S.: Google Wave operational transformation, http://www.waveprotocol.org/whitepapers/operational-transform/operational-transform.html (accessed: January 30, 2014)
Haftmann, F., Nipkow, T.: A code generator framework for Isabelle/HOL. In: Theorem Proving in Higher Order Logics (TPHOLs 2007), Emerging Trends Proceedings, Dept. of Computer Science, University of Kaiserslautern, pp. 128–143 (2007)
Doeraene, S.: Scala.js website, http://www.scala-js.org (accessed: January 29, 2014)
Typesafe Inc.: Typesafe reactive platform overview, http://typesafe.com/platform (accessed: January 29, 2014)
Wyatt, D.: Akka Concurrency. Artima Press (2013)
Greenberg, S., Marwood, D.: Real time groupware as a distributed system: Concurrency control and its effect on the interface. In: Proc. ACM 1994 Conference on Computer Supported Cooperative Work, CSCW 1994, pp. 207–217. ACM (1994)
Sun, C., Ellis, C.: Operational transformation in real-time group editors: Issues, algorithms, and achievements. In: Proc. 1998 ACM Conference on Computer Supported Cooperative Work, CSCW 1998, pp. 59–68. ACM (1998)
Kaliszyk, C.: Web interfaces for proof assistants. In: Autexier, S., Benzmüller, C. (eds.) Proc. of the Workshop on User Interfaces for Theorem Provers (UITP 2006). ENTCS, vol. 174(2), pp. 49–61 (2007)
Urban, J., Alama, J., Rudnicki, P., Geuvers, H.: A wiki for Mizar: Motivation, considerations, and initial prototype. In: Autexier, S., Calmet, J., Delahaye, D., Ion, P.D.F., Rideau, L., Rioboo, R., Sexton, A.P. (eds.) AISC 2010. LNCS, vol. 6167, pp. 455–469. Springer, Heidelberg (2010)
Alama, J., Brink, K., Mamane, L., Urban, J.: Large formal wikis: Issues and solutions. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) Calculemus/MKM 2011. LNCS, vol. 6824, pp. 133–148. Springer, Heidelberg (2011)
Tankink, C.: Proof in context — web editing with rich, modeless contextual feedback. In: Kaliszyk, C., Lüth, C. (eds.) Proc. 10th International Workshop on User Interfaces for Theorem Provers (UITP 2012). EPTCS, vol. 118, pp. 42–56 (2013)
Komendantskaya, E., Heras, J., Grov, G.: Machine learning in Proof General: Interfacing interfaces. In: Kaliszyk, C., Lüth, C. (eds.) Proceedings 10th International Workshop on User Interfaces for Theorem Provers, UITP 2012. EPTCS, vol. 118, pp. 15–41 (2013)
Aspinall, D., Lüth, C., Wolff, B.: Assisted proof document authoring. In: Kohlhase, M. (ed.) MKM 2005. LNCS (LNAI), vol. 3863, pp. 65–80. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Ring, M., Lüth, C. (2014). Collaborative Interactive Theorem Proving with Clide. In: Klein, G., Gamboa, R. (eds) Interactive Theorem Proving. ITP 2014. Lecture Notes in Computer Science, vol 8558. Springer, Cham. https://doi.org/10.1007/978-3-319-08970-6_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-08970-6_30
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08969-0
Online ISBN: 978-3-319-08970-6
eBook Packages: Computer ScienceComputer Science (R0)