Advertisement

Conditional specifications with inequational assumptions

  • Chilukuri K. Mohan
  • Mandayam K. Srivas
Part 1 Research Articles
Part of the Lecture Notes in Computer Science book series (LNCS, volume 308)

Abstract

Equational-Inequational Conditional Term Rewriting Systems (EI-CTRS) are a natural formalism for expressing data type and function specifications. EI-CTRS are sets of oriented conditional equations (rules) (eg.a=b Λ cd ::lhsrhs), whose antecedents are conjunctions of equations and inequations. The EI-CTRS formalism extends existing equational languages such as OBJ2, by allowing within the rules the direct use of the = (or ≠) relation being defined. Using = and ≠ in rules clearly enhances the expressive power of the formalism, but it poses termination and semantic problems in executing a specification. We define a conditional rewriting mechanism, called EI-rewriting, which assumes two terms to be equal if they can be rewritten to a common term and inequal otherwise. We show that ground EI-rewriting is sound and complete, and can hence be used to correctly execute specifications expressed as EI-CTRS which satisfy a sufficient completeness-like property We give syntactic conditions and procedures to check that a specification in the formalism denotes a well-defined total function. We illustrate that useful and meaningful specifications can be constructed using EI-CTRS.

Keywords

Ground Term Classical Semantic Abstract Data Type Conditional Equation Syntactic Condition 
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. [BeKl82]
    Bergstra J.A., Klop J.W., ‘Conditional Rewrite Rules: Confluency and Termination', Research Report IW 198/82, Mathematical Centre, Amsterdam, 1982.Google Scholar
  2. [BrDJ78]
    Brand D., Darringer J.A., Joyner W.H., ‘Completeness of Conditional Reductions', IBM Research Report RC7404, 1978.Google Scholar
  3. [ChLe73]
    Chang C.L., Lee R.C, 'symbolic Logic and Mechanical Theorem Proving', Academic Press, 1973.Google Scholar
  4. [Clar78]
    K.L. Clark, ‘Negation as Failure', in H. Gallaire and J. Minker (eds.), Logic and Databases, Plenum, New York, pp293–322, 1978.Google Scholar
  5. [Fitt85]
    Fitting M., ‘A Kripke-Kleene Semantics for Logic Programs', The Journal of Logic Programming, pp295–312, April 1985.Google Scholar
  6. [FGJM85]
    Futatsugi K., Goguen J., Jouannaud J.P., Meseguer J., ‘Principles of OBJ2', Proc. 12th Symp. on Princ. of Prog. Lang. (POPL), pp52–66, ACM, 1985.Google Scholar
  7. [GoTW78]
    Goguen J.A., Thatcher J.W., Wagner E., ‘An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types', in Current Trends in Programming Methodology, IV, ed. R.Yeh, Prentice-Hall, pp80–149, 1978.Google Scholar
  8. [GuHo78]
    Guttag J.V., Horning J.J., ‘The Algebraic Specification of Abstract Data Types', Acta Informatica 10, pp27–52, 1978.CrossRefGoogle Scholar
  9. [HuOp80]
    Huet G., Oppen D.S., ‘Equations and Rewrite Rules: A Survey', Tech.Rep. CSL-111, SRI Int'l, California, 1980.Google Scholar
  10. [HoOd82]
    Hoffman C.M., O'Donnell M.J., ‘Programming with Equations', ACM TOPLAS, Vol.4, No. 1, pp83–112, 1982.CrossRefGoogle Scholar
  11. [HsRu87]
    J.Hsiang, M.Rusinowitch, On Word Problems in Equational Theories, Proc. 14th ICALP, Karlsruhe, July 1987.Google Scholar
  12. [JoKo85]
    Jouannaud J.P., Kounalis E., Proofs by Induction in Equational Theories without Constructors, C.R.I.N., Nancy (France) 1985.Google Scholar
  13. [Kapl83]
    Kaplan S., ‘Conditional Rewrite Rules', Rapport de Recherche no 150, Universite de Paris-Sud, Orsay, France, 1983.Google Scholar
  14. [Kapl84]
    Kaplan S., ‘Fair Conditional Term Rewriting Systems: Unification, Termination and Confluence', Rapport de Recherche no 194, Universite de Paris-Sud, Orsay, France 1984.Google Scholar
  15. [Kapl87]
    Kaplan S., ‘A Compiler for Conditional Rewriting', Proc. II Conf. Rewriting Techniques and Applications, Bourdeaux, France 1987.Google Scholar
  16. [MoSK87]
    Mohan C.K., Srivas M.K., Kapur D., ‘Inference Rules and Proof Procedures for Inequations', to appear in the Journal of Logic Programming.Google Scholar
  17. [PIEE82]
    Pletat U., Engels G., Ehrich H.D., ‘Operational Semantics of algebraic specifications with Conditional Equations', 7eme C.A.A.P., Lille, France 1982.Google Scholar
  18. [Remy82]
    Remy J.L., ‘Etude des systemes de reecriture conditionnels et application aux specifications algebriques de types abstraits', Doctoral Thesis, INPL, Nancy, France (1982).Google Scholar
  19. [Remy83]
    Remy J.L., ‘Proving Conditional Identities by Equational Case Reasoning, Rewriting and Normalization', Proc. of 1982–83 Research Seminar, LITP, Paris, France 1983.Google Scholar
  20. [ReZh84]
    Remy J.L., Zhang H., ‘REVE4: A system for Validating Conditional Algebraic Specifications of Parameterized Abstract Data Types', Proc. of 6th ECAI Conf., Pisa, Italy 1984.Google Scholar
  21. [Thie83]
    Thiel J., 'stop losing sleep over Incomplete Specifications', Proc. 7th Princ. of Prog. Lang. (POPL), 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Chilukuri K. Mohan
    • 1
  • Mandayam K. Srivas
    • 1
  1. 1.Computer Science DepartmentSUNY at Stony Brook

Personalised recommendations