Advertisement

TkWinHOL: A tool for Window Inference in HOL

  • Thomas Långbacka
  • Rimvydas Rukšėnas
  • Joakim von Wright
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 971)

Abstract

Window inference is a method for contextual rewriting and refinement, supported by the HOL Window Inference Library. This paper describes a user-friendly interface for window inference. The interface permits the user to select subexpressions by pointing and clicking and to select transformations from menus. The correctness of each transformation step is proved automatically by the HOL system. The interface can be tailored to particular user-defined theories. One such extension, for program refinement, is described.

Keywords

Program Variable Proof Obligation High Order Logic Predicate Transformer Associative Operator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    F. Andersen. A Theorem Prover for UNITY in Higher Order Logic. PhD thesis, Technical University of Denmark, Lyngby, 1992.Google Scholar
  2. 2.
    Flemming Andersen, Kim Dam Petersen, and Jimmi S. Petterson. A Graphical Tool for Proving UNITY Progress. In T. F. Melham and J. Camilleri, editors, Higher Order Logic Theorem Proving and Its Applications — 7th International Workshop. Valletta, Malta, September 1994, volume 859 of Lecture Notes in Computer Science. Springer Verlag, 1994.Google Scholar
  3. 3.
    R.J.R. Back. Correctness Preserving Program Refinements: Proof Theory and Applications, volume 131 of Mathematical Center Tracts. Mathematical Centre, Amsterdam, 1980.Google Scholar
  4. 4.
    R.J.R. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988.CrossRefGoogle Scholar
  5. 5.
    R. J. R. Back, J. Hekanaho and K. Sere. Centipede — a Program Refinement Environment, Reports on Computer Science and Mathematics, Ser. A 139, åbo Akademi University, 1992.Google Scholar
  6. 6.
    R.J.R. Back and J. von Wright. Refinement calculus, part I: Sequential programs. In REX Workshop for Refinement of Distributed Systems, volume 430 of Lecture Notes in Computer Science, Nijmegen, The Netherlands, 1989. Springer-Verlag.Google Scholar
  7. 7.
    R. J. R. Back and J. von Wright. Refinement concepts formalized in higher order logic. Formal Aspects of Computing, 2:247–272, 1990.Google Scholar
  8. 8.
    A. Camillieri. Mechanizing CSP trace theory in Higher Order Logic. IEEE Transactions on Software Engineering, 16(9):993–1004, 1990.Google Scholar
  9. 9.
    E.W. Dijkstra A Discipline of Programming. Prentice-Hall, 1976.Google Scholar
  10. 10.
    M.J.C. Gordon and T.F. Melham, editors. Introduction to HOL. Cambridge University Press, 1993.Google Scholar
  11. 11.
    J. Grundy. A window inference tool for refinement. In Jones et al, editor, Proc. 5th Refinement Workshop, London, Jan. 1992. Springer-Verlag.Google Scholar
  12. 12.
    J. Grundy. HOL90 window library manual. 1994.Google Scholar
  13. 13.
    John Harrison and Laurent Théry. Extending the HOL Theorem Prover with a Computer Algebra System to Reason about the Reals. In Jeffrey J. Joyce and Carl-Johan H. Seger, editors, Higher Order Logic Theorem Proving and Its Applications — 6th International Workshop, HUG '93 Vancouver, B. C., Canada, August 1993, volume 780 of Lecture Notes in Computer Science, pages 174–184. Springer Verlag, 1993.Google Scholar
  14. 14.
    Don Libes. Exploring Expect: A Tcl-based Toolkit for Automating Interactive Programs. O'Reilly & Associates, 1994.Google Scholar
  15. 15.
    John K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994.Google Scholar
  16. 16.
    Thomas W. Reps and Tim Teitelbaum, editors. The Synthesizer Generator. A System for Constructing Language-Based Editors. Springer-Verlag, 1988.Google Scholar
  17. 17.
    P.J. Robinson and J. Staples. Formalising the hierarchical structure of practical mathematical reasoning. Techn. Rep. 138, Key Centre for Software Technology, University of Queensland, Australia, 1990.Google Scholar
  18. 18.
    Donald Syme. A New Interface for HOL — Ideas, Issues and Implementation, submitted to the HUG95.Google Scholar
  19. 19.
    Laurent Théry. A Proof Development System for the HOL Theorem Prover. In Jeffrey J. Joyce and Carl-Johan H. Seger, editors, Higher Order Logic Theorem Proving and Its Applications — 6th International Workshop, HUG '93 Vancouver, B. C., Canada, August 1993, volume 780 of Lecture Notes in Computer Science, pages 115–128. Springer Verlag, 1993.Google Scholar
  20. 20.
    J. von Wright, J. Hekanaho, P. Luostarinen and T. Långbacka. Mechanising some advanced refinement concepts. Formal Methods in Systems Design, 3:49–81, 1993.Google Scholar
  21. 21.
    J. von Wright. Program refinement by theorem prover. In BCS FACS Sixth Refinement Workshop — Theory and Practise of Formal Software Development. 5th–7th January, City University, London, UK., 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Thomas Långbacka
    • 1
  • Rimvydas Rukšėnas
    • 1
  • Joakim von Wright
    • 1
  1. 1.Department of Computer ScienceÅbo Akademi UniversityåboFinland

Personalised recommendations