Skip to main content

ProofViz: An Interactive Visual Proof Explorer

  • 271 Accesses

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 12834)

Abstract

We introduce ProofViz, an extension to the Cur proof assistant that enables interactive visualization and exploration of in-progress proofs. The tool displays a representation of the underlying proof tree, information about each node in the tree, and the partially-completed proof term at each node. Users can interact with the proof by executing tactics, changing the focus, or undoing previous actions. We anticipate that ProofViz will be useful both to students new to tactic-based theorem provers, and to advanced users developing new tactics.

Keywords

  • Proof assistants
  • IDEs
  • GUI tools

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-83978-9_6
  • Chapter length: 20 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   39.99
Price excludes VAT (USA)
  • ISBN: 978-3-030-83978-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   49.99
Price excludes VAT (USA)
Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.
Fig. 10.
Fig. 11.

References

  1. Chang, S., Ballantyne, M., Turner, M., Bowman, W.J.: Dependent type systems as macros. In: Proceedings ACM Programming Language 4(POPL), December 2019. https://doi.org/10.1145/3371071

  2. Chang, S., Knauth, A., Greenman, B.: Type systems as macros. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages. POPL 2017, pp. 694–705. Association for Computing Machinery, New York, NY, USA (2017). https://doi.org/10.1145/3009837.3009886

  3. Curry, H.B.: Functionality in combinatory logic. Proc. Nat. Acad. Sci. 20(11), 584–590 (1934). https://doi.org/10.1073/pnas.20.11.584

    CrossRef  MATH  Google Scholar 

  4. Dybjer, P.: Inductive families. Formal Aspects Comput. 6(4), 440–465 (1994)

    CrossRef  Google Scholar 

  5. Erbsen, A., Philipoom, J., Gross, J., Sloan, R., Chlipala, A.: Simple high-level code for cryptographic arithmetic - with proofs, without compromises. In: 2019 IEEE Symposium on Security and Privacy (SP), pp. 1202–1219, May 2019. https://doi.org/10.1109/SP.2019.00005

  6. Felleisen, M., et al.: The racket manifesto. In: 1st Summit on Advances in Programming Languages (SNAPL 2015), pp. 113–128 (2015)

    Google Scholar 

  7. Friedman, D.P., Christiansen, D.T., Bibby, D., Harper, R., McBride, C.: The Little Typer. The Massachusetts Institute of Technology, Cambridge, Massuchesetts (2018)

    Google Scholar 

  8. Howard, W.A.: The Formulae-as-Types Notion of Construction. To HB Curry: essays on combinatory logic, lambda calculus and formalism 44, 479–490 (1980)

    Google Scholar 

  9. Kawabata, H., Tanaka, Y., Kimura, M., Hironaka, T.: Traf: a graphical proof tree viewer cooperating with Coq through proof general. In: Ryu, S. (ed.) APLAS 2018. LNCS, vol. 11275, pp. 157–165. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02768-1_9

    CrossRef  Google Scholar 

  10. Libal, T., Riener, M., Rukhaia, M.: Advanced proof viewing in ProofTool. Electron. Proc. Theoretical Comput. Sci. 167, 35–47 (2014). https://doi.org/10.4204/EPTCS.167.6

    CrossRef  MathSciNet  Google Scholar 

  11. McBride, C.: Dependently Typed Functional Programs and Their Proofs. Ph.D. thesis, University of Edinburgh (2000)

    Google Scholar 

  12. de Mol, M., van Eekelen, M., Plasmeijer, R.: Theorem proving for functional programmers. In: Arts, T., Mohnen, M. (eds.) IFL 2001. LNCS, vol. 2312, pp. 55–71. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46028-4_4

    CrossRef  MATH  Google Scholar 

  13. Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55602-8_217

    CrossRef  Google Scholar 

  14. Pierce, B., et al.: Logical Foundations, Software Foundations, vol. 1, September 2020. https://softwarefoundations.cis.upenn.edu/lf-current/index.html

  15. Pit-Claudel, C.: Untangling mechanized proofs. In: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering. SLE 2020, pp. 155–174. Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3426425.3426940

  16. Siekmann, J., et al.: L\({\Omega }\)UI: lovely \({\Omega }\)MEGA user interface. Formal Aspects Comput. 11(3), 326–342 (1999). https://doi.org/10.1007/s001650050053

    CrossRef  Google Scholar 

  17. Tews, H.: Prooftree: Proof Tree Visualization for Proof General (2017). http://askra.de/software/prooftree/. Accessed 05 Nov 2020

  18. Wadler, P.: Propositions as types. Commun. ACM 58(12), 75–84 (2015). https://doi.org/10.1145/2699407

    CrossRef  Google Scholar 

  19. Zinzindohoué, J.K., Bhargavan, K., Protzenko, J., Beurdouche, B.: Hacl*: a verified modern cryptographic library. In: Conference on Computer and Communications Security (CCS) (2017). https://doi.org/10.1145/3133956.3134043

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Melcer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Melcer, D., Chang, S. (2021). ProofViz: An Interactive Visual Proof Explorer. In: Zsók, V., Hughes, J. (eds) Trends in Functional Programming. TFP 2021. Lecture Notes in Computer Science(), vol 12834. Springer, Cham. https://doi.org/10.1007/978-3-030-83978-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-83978-9_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-83977-2

  • Online ISBN: 978-3-030-83978-9

  • eBook Packages: Computer ScienceComputer Science (R0)