MikiBeta : A General GUI Library for Visualizing Proof Trees

System Description and Demonstration
  • Kanako Sakurai
  • Kenichi Asai
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6564)

Abstract

This paper describes and demonstrates MikiBeta, a general graphical user interface (GUI) library we are developing for visualizing proof trees. Using MikiBeta, one can construct a proof tree step by step by selecting a judgement and clicking an inference rule to apply, without worrying about instanciating metavariables with their contents, copying similar expressions for each judgement, or how much space is necessary to visualize the complete proof tree. To cope with different kinds of proof trees, MikiBeta is parameterized with user-defined judgements and inference rules. Because MikiBeta allows arbitrary side-effect-free user code in inference rules, one can construct GUIs with complex operations such as environment lookup and substitution. We have successfully visualized typing derivations for λ calculi with let polymorphism and with shift and reset, System F, as well as a simple deduction system for Combinatory Logic.

Keywords

graphical user interface (GUI) proof tree type system two-level type λ calculus shift and reset System F OCaml LablTk 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development Coq’Art: The Calculus of Inductive Constructions. EATCS Series. Springer, Berlin (2004)CrossRefMATHGoogle Scholar
  2. 2.
    Danvy, O., Filinski, A.: A Functional Abstraction of Typed Contexts. Technical Report 89/12, DIKU, University of Copenhagen (July 1989)Google Scholar
  3. 3.
    Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex. MIT Press, Cambridge (2009)MATHGoogle Scholar
  4. 4.
    Geuvers, H., Jojgov, G.I.: Open Proofs and Open Terms: A Basis for Interactive Logic. In: Bradfield, J.C. (ed.) CSL 2002 and EACSL 2002. LNCS, vol. 2471, pp. 537–552. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)MATHGoogle Scholar
  6. 6.
    Yakushev, A.R., Holdermans, S., Löh, A., Jeuring, J.: Generic Programming with Fixed Points for Mutually Recursive Datatypes. In: Proceedings of the 2009 ACM SIGPLAN International Conference on Functional Programming (ICFP 2009), pp. 233–244 (August 2009)Google Scholar
  7. 7.
    Sheard, T., Pasalic, E.: Two-Level Types and Parameterized Modules. Journal of Functional Programming 14(5), 547–587 (2004)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Kanako Sakurai
    • 1
  • Kenichi Asai
    • 1
  1. 1.Ochanomizu UniversityJapan

Personalised recommendations