Skip to main content

Matching and unification for the object-oriented symbolic computation system AlgBench

  • Conference paper
  • First Online:
  • 225 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 722))

Abstract

Term matching has become one of the most important primitive operations for symbolic computation. This paper describes the extension of the object-oriented symbolic computation system AlgBench with pattern matching and unification facilities. The various pattern objects are organized in subclasses of the class of the composite expressions. This leads to a clear design and to a distributed implementation of the pattern matcher in the subclasses. New pattern object classes can consequently be added easily to the system. Huet's and our simple mark and retract algorithm for standard unification as well as Stickel's algorithm for associative commutative unification have been implemented in an object-oriented style. Unifiers are selected at runtime. We extend Mathematica's type-constrained pattern matching by taking into account inheritance information from a user-defined hierarchy of object types. The argument unification is basically instance variable unification. The improvement of the pattern matching operation of a rule- and object-based symbolic computation system with unification in an object-oriented way seems to be very appropriate.

Research supported by the Swiss National Science Foundation

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. A. Aho, J. Hopcroft, and J. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.

    Google Scholar 

  2. H. Ait-Kaci and R. Nasr. Login: A logic programming language with built-in in-heritance. J. of Logic Programming, 3:185–215, 1986.

    Article  Google Scholar 

  3. P. America. Inheritance and subtyping in a parallel object-oriented language. In ECOOP'87, 1987.

    Google Scholar 

  4. H. Buerckert. Opening the AC-unification race. J. of Automated Reasoning, 4, 1988.

    Google Scholar 

  5. B.W. Char, K.O. Geddes, G.H. Gonnet, M.B. Monagan, and S.M. Watt. MAPLE: Reference Manual. University of Waterloo, 1988. 5th edition.

    Google Scholar 

  6. D. de Champeaux. About the Paterson-Wegman linear unification algorithm. J. of Computer and System Sciences, 32, 1986.

    Google Scholar 

  7. F. Fages. Associative commutative unification. J. of Symbolic Computation, 3:257–275, 1987.

    Google Scholar 

  8. R. Fateman. A review of Mathematica. J. of Symbolic Computation, May 1992.

    Google Scholar 

  9. M. Fay. First order unification in equational theories. In 4th CADE'79, 1979.

    Google Scholar 

  10. P. Hudak, S. Peyton-Jones, and P. Wadler. Report on the programming language Haskell. Technical report, Department of Computer Science, Yale University, August 1991.

    Google Scholar 

  11. R. Jenks and R. Sutor. AXIOM, The Scientific Computation System, Springer-Verlag, 1992.

    Google Scholar 

  12. M. Kay. Functional grammar. 5th Annual Meeting of the Berkeley Linguistics Society, Berkeley, California, 1979.

    Google Scholar 

  13. Roman E. Maeder. AlgBench: An object-oriented symbolic core system. In J. H. Davenport, editor, Proc. of Design and Implementation of Symbolic Computation Systems DISCO '92. To appear.

    Google Scholar 

  14. Roman E. Maeder. Programming in Mathematica. Addison-Wesley, second edition, 1991.

    Google Scholar 

  15. R. Milner, M. Tofte, and R. Harper. The definition of Standard ML. MIT Press, Cambridge, MA, 1990.

    Google Scholar 

  16. J.A. Robinson. A machine-oriented logic based on the resolution principle. J. of the ACM, 1965.

    Google Scholar 

  17. D. Turner. Miranda: A non-strict functional language with polymorphic types. In Functional Programming Languages and Computer Architecture FPCA '85, September 1985.

    Google Scholar 

  18. J. Vitter and R. Simons. New classes for parallel complexity: A study of unification and other complete problems for P. IEEE Transactions on Computers, C-35(5), May 1986.

    Google Scholar 

  19. Stephen Wolfram. Mathematica: A System for Doing Mathematics by Computer. Addison-Wesley, second edition, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alfonso Miola

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Grivas, G., Maeder, R.E. (1993). Matching and unification for the object-oriented symbolic computation system AlgBench . In: Miola, A. (eds) Design and Implementation of Symbolic Computation Systems. DISCO 1993. Lecture Notes in Computer Science, vol 722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013176

Download citation

  • DOI: https://doi.org/10.1007/BFb0013176

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57235-0

  • Online ISBN: 978-3-540-47985-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics