A Unified-Algebra-Based Specification Language for Symbolic Computing

A precise and perspicuous specification of mathematical domains of computation and their inherently related type inference mechanisms is a prerequisite for the design and systematic development of a system for symbolic computing. This paper describes Formal, a language for giving modular and well-structured specifications of such domains and particularly of “mathematical objects”. A novel framework for algebraic specification involving so-called “unified algebras” has been adopted, where sorts are treated as values. The adoption of this framework aims also at being capable of specifying polymorphism, unifying the notions of “parametric” and “inclusion” polymorphisms. Furthermore, the operational nature of the specification formalisms allows a straightforward transformation into an executable form.

[1]  Jacques Calmet,et al.  MANTRA: a shell for hybrid knowledge representation , 1991, [Proceedings] Third International Conference on Tools for Artificial Intelligence - TAI 91.

[2]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[3]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[4]  Philippe Schnoebelen,et al.  A Rewrite-Based Type Discipline for a Subset of Computer Algebra , 1991, J. Symb. Comput..

[5]  Joseph A. Goguen,et al.  Institutions : abstract model theory for computer science , 1985 .

[6]  Jacques Calmet,et al.  Unified Domains and Abstract Computational Structures , 1992, AISMC.

[7]  Peter D. Mosses,et al.  Unified algebras and institutions , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[8]  Claude Kirchner,et al.  OBJ: Programming with Equalities, Subsorts, Overloading and Parameterization , 1988, ALP.

[9]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[10]  T. Lehmann The specification language of Obscure , 1988 .

[11]  Martin Wirsing,et al.  Structured Algebraic Specifications: A Kernel Language , 1986, Theor. Comput. Sci..

[12]  Jan A. Bergstra,et al.  Algebraic specification , 1989 .

[13]  Donald Sannella,et al.  Program specification and development in standard ML , 1985, POPL.

[14]  Peter D. Mosses Action Semantics , 1986, ADT.

[15]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[16]  Julian Padget,et al.  Enlarging the REDUCE domain of computation , 1986, SYMSAC '86.