Typechecking Z

  • Ian Toyn
  • Samuel H. Valentine
  • Susan Stepney
  • Steve King
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1878)


This paper presents some of our requirements for a Z typechecker: that the typechecker accept all well-typeable formulations, however contrived; that it gather information about uses of declarations as needed to support interactive browsing and formal reasoning; that it fit the description given by draft standard Z; and that it be able to check some particular extensions to Z that are intended to allow explicit definitions of schema calculus operators. The paper presents a specification of such a Z typechecker, which we have implemented.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    L. Cardelli. Basic polymorphic typechecking. Science of Computer Programming, 8(2):147–172, April 1987.Google Scholar
  2. 2.
    P. Hancock. Polymorphic type-checking. In S.L. Peyton Jones, editor, The Implementation of Functional Programming Languages, 1987.Google Scholar
  3. 3.
    ISO/IEC 14977:1996(E). Information Technology—Syntactic Metalanguage—Extended BNF.Google Scholar
  4. 4.
    Xiaoping Jia. ZTC: A type checker for Z notation, user’s guide. Technical Report Version 2.03, Division of Software Engineering, School of Computer Science, Telecommunication, and Information Systems, DePaul University, August 1998.Google Scholar
  5. 5.
    L. Lamport and L.C. Paulson. Should your specification language be typed? Transactions on Programming Languages and Systems, 21(3):502–526, May 1999.Google Scholar
  6. 6.
    R. Milner. A theory of type polymorphism in programming languages. Journal of Computer and System Science, 17:348–357, 1978.MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    D. Neilson. Machine support for Z: the zedB tool. In Proceedings of the 5th Z User Meeting, 1990.Google Scholar
  8. 8.
    J.N. Reed and J.E. Sinclair. An algorithm for type-checking Z. Technical Monograph PRG-81, Oxford University Computing Laboratory, Programming Research Group, March 1990.Google Scholar
  9. 9.
    C.T. Sennett. Review of the type checking and scope rules of the specification language Z. Technical Report 87017, Royal Signals and Radar Establishment, Malvern, November 1987.Google Scholar
  10. 10.
    J.M. Spivey. Understanding Z: A Specification Language and its Formal Semantics. Cambridge University Press, 1988.Google Scholar
  11. 11.
    J.M. Spivey. The Z Notation: A Reference Manual, 2nd editon. Prentice Hall, 1992.Google Scholar
  12. 12.
    J.M. Spivey and B.A. Sufrin. Type inference in Z. In D. Bjørner, C.A.R. Hoare, and H. Langmaack, editors, VDM’90: VDM and Z—Formal Methods in Software Development, LNCS 428, pages 426–451. Springer, 1990.Google Scholar
  13. 13.
    S. Stepney. Formaliser Home Page. http://public.logica.com/~formaliser/.
  14. 14.
    B. Sufrin. Using the Hippo system. Technical report, Oxford University Computing Laboratory, Programming Research Group, June 1989.Google Scholar
  15. 15.
    I. Toyn. Innovations in the notation of standard Z. In ZUM’98: The Z Formal Specification Notation, LNCS 1493. Springer, September 1998.CrossRefGoogle Scholar
  16. 16.
    I. Toyn, editor. Z Notation: Final Committee Draft. http://www.cs.york.ac.uk/~ian/zstan/fcd.ps August 1999.
  17. 17.
    I. Toyn. CADiZ web pages. http://www.cs.york.ac.uk/~ian/cadiz/ 2000.
  18. 18.
    I. Toyn and J.A. McDermid. CADiZ: An architecture for Z tools and its implementation. Software — Practice and Experience, 25(3):305–330, March 1995.Google Scholar
  19. 19.
    I. Toyn and S.H. Valentine. Type inference rules for Z. ftp://ftp.cs.york.ac.uk/hisereports/cadiz/ZSTAN/rules.ps March 2000.
  20. 20.
    I. Toyn, S.H. Valentine, and D.A. Duffy. On mutually recursive free types in Z. In ZB2000: International Conference of B and Z Users, 2000.Google Scholar
  21. 21.
    S.H. Valentine, I. Toyn, S. Stepney, and S. King. Type-constrained generics. In ZB2000: International Conference of B and Z Users, 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Ian Toyn
    • 1
  • Samuel H. Valentine
    • 1
  • Susan Stepney
    • 2
  • Steve King
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkHeslingtonUK
  2. 2.Logica UK LtdCambridgeUK

Personalised recommendations