Encoding Z-style Schemas in type theory

  • Savi Maharaj
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 806)


A distinctive feature of the Z specification language is its Schema Calculus which allows specifications to be packaged and put together to form new specifications. We investigate methods of transporting the Schema Calculus to the type theory UTT. We first attempt a direct encoding of schemas as Σ-types. This turns out to be unsatisfactory because encoding the operations of the Schema Calculus requires the ability to perform computations on the syntax of schemas, so we develop methods in which this syntax is also represented. These methods also depend upon Σ-types but use them in an unconventional fashion. We define a notion of implementation of a schema and use the LEGO proof-checker to prove some theorems about the interaction between implementations and our encodings of the operations of the Z Schema Calculus.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J. Bowen and M. Gordon. Z and HOL, 1994. submitted to the '94 Z User Meeting.Google Scholar
  2. 2.
    S. Brien, J. Nicholls, et al. Z Base Standard version 1.0. Technical Report ZIP/PRG/92/121, Oxford University Computing Laboratory, 1992.Google Scholar
  3. 3.
    Dowek, Felty, et al. The Coq proof assistant user's guide, version 5.8. Technical report, INRIA-Rocquencourt, February 1993.Google Scholar
  4. 4.
    W. Harwood. Proof rules for Balzac. Technical Report WTH/P7/001, Imperial Software Technology, Cambridge, 1991.Google Scholar
  5. 5.
    I. Hayes. Specification Case Studies. Prentice-Hall International, 1987.Google Scholar
  6. 6.
    C. Jones and S. Maharaj. The LEGO library. Technical Report (forthcoming), LFCS, University of Edinburgh, 1994.Google Scholar
  7. 7.
    Z. Luo. Computation and Reasoning: A Type Theory for Computer Science. Oxford University Press (forthcoming).Google Scholar
  8. 8.
    Z. Luo. Program Specification and Data Refinement in Type Theory. Technical Report ECS-LFCS-91-131, LFCS, University of Edinburgh, 1991.Google Scholar
  9. 9.
    Z. Luo. A Unifying Theory of Dependent Types: the Schematic Approach. In Logical Foundations of Computer Science—Tver '92. Springer-Verlag, 1992.Google Scholar
  10. 10.
    Z. Luo and R. Pollack. LEGO Proof Development System: user's manual. Technical Report ECS-LFCS-92-211, LFCS, University of Edinburgh, 1992.Google Scholar
  11. 11.
    S. Maharaj. Implementing Z in LEGO. MSc thesis, University of Edinburgh, 1990.Google Scholar
  12. 12.
    A. Martin. Encoding W: A logic for Z in 2OBJ. In FME '93: Industrial-Strength Formal Methods, Lecture Notes in Computer Science. Springer-Verlag, 1993.Google Scholar
  13. 13.
    M. Saaltink. Z and EVES. Technical Report TR-91-5449-02, Odyssey Research Associates, Ottawa, Canada, 1991.Google Scholar
  14. 14.
    ProofPower server. Send email to ProofPower-server@win.icl.co.uk.Google Scholar
  15. 15.
    J.M. Spivey. Understanding Z: a specification language and its formal semantics. Cambridge University Press, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Savi Maharaj
    • 1
  1. 1.LFCS, Department of Computer ScienceUniversity of EdinburghEdinburgh

Personalised recommendations