Skip to main content

Conditional specifications with inequational assumptions

  • Part 1 Research Articles
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bergstra J.A., Klop J.W., ‘Conditional Rewrite Rules: Confluency and Termination', Research Report IW 198/82, Mathematical Centre, Amsterdam, 1982.

    Google Scholar 

  2. Brand D., Darringer J.A., Joyner W.H., ‘Completeness of Conditional Reductions', IBM Research Report RC7404, 1978.

    Google Scholar 

  3. Chang C.L., Lee R.C, 'symbolic Logic and Mechanical Theorem Proving', Academic Press, 1973.

    Google Scholar 

  4. 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. Fitting M., ‘A Kripke-Kleene Semantics for Logic Programs', The Journal of Logic Programming, pp295–312, April 1985.

    Google Scholar 

  6. 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. 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. Guttag J.V., Horning J.J., ‘The Algebraic Specification of Abstract Data Types', Acta Informatica 10, pp27–52, 1978.

    Article  Google Scholar 

  9. Huet G., Oppen D.S., ‘Equations and Rewrite Rules: A Survey', Tech.Rep. CSL-111, SRI Int'l, California, 1980.

    Google Scholar 

  10. Hoffman C.M., O'Donnell M.J., ‘Programming with Equations', ACM TOPLAS, Vol.4, No. 1, pp83–112, 1982.

    Article  Google Scholar 

  11. J.Hsiang, M.Rusinowitch, On Word Problems in Equational Theories, Proc. 14th ICALP, Karlsruhe, July 1987.

    Google Scholar 

  12. Jouannaud J.P., Kounalis E., Proofs by Induction in Equational Theories without Constructors, C.R.I.N., Nancy (France) 1985.

    Google Scholar 

  13. Kaplan S., ‘Conditional Rewrite Rules', Rapport de Recherche no 150, Universite de Paris-Sud, Orsay, France, 1983.

    Google Scholar 

  14. 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. Kaplan S., ‘A Compiler for Conditional Rewriting', Proc. II Conf. Rewriting Techniques and Applications, Bourdeaux, France 1987.

    Google Scholar 

  16. 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. 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. 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. 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. 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. Thiel J., 'stop losing sleep over Incomplete Specifications', Proc. 7th Princ. of Prog. Lang. (POPL), 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

S. Kaplan J. -P. Jouannaud

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mohan, C.K., Srivas, M.K. (1988). Conditional specifications with inequational assumptions. In: Kaplan, S., Jouannaud, J.P. (eds) Conditional Term Rewriting Systems. CTRS 1987. Lecture Notes in Computer Science, vol 308. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19242-5_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-19242-5_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19242-8

  • Online ISBN: 978-3-540-39166-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics