Assumptions (was re: Heaviside, etc. )

From: Richard Fateman (fateman_at_cs.berkeley.edu)
Date: 12/14/04


Date: Tue, 14 Dec 2004 16:56:27 GMT

There is some history of how to deal with assumptions
in computer algebra systems. Macsyma has had this
since about 1971, and used something it calls
contexts. I suggest that people refer to this
for a better, but not perfect alternative.
Especially since it is probably
more general than any subsequent design.
The major difficulty in Macsyma's assumptions is that
the facility was introduced after many of the other
design decisions (e.g. the simplifier, evaluator) were
made, and the was not enough time or money or impetus
to thoroughly re-examine those programs.

The tradition in CAS is not to build on the shoulders
of those who have gone before, but to build on their
toes. And so assumptions, viewed as the key design
feature unfortunately omitted in the initial design
of macsyma, were omitted from Maple, Mathematica, ... .

   The feeling I get from some
systems' design is that the programmers
decide, at each major release, that the previous
"assume" ideas didn't work, so why not just scrap
it and try something else. After 2 or 3 releases,
the designers figure that they won't get it right
and just let the last version alone.

Names in a programming language generally have
SCOPE. (It took Maple a decade or two to settle
on how to do this. Mathematica also messes this
up with Block, Module, and pattern variables).
Anyway, do the assumptions have the same scope
as variables?

Do we distinguish between variables (which have
values) and indeterminates (which do not have values).

The recent correspondence suggests that the design
should depend on whatever feels good in the example at hand.
This is not a dependable strategy.

There are copies of the Macsyma reference manual
http://www.cs.berkeley.edu/~fateman/macsyma/

RJF



Relevant Pages

  • Re: re-inventing the wheel... scope of assumptions.
    ... Assumptions were not properly integrated into Mathematica. ... I indicated in my earlier note that assumptions HAVE been added relatively recently to the post-1980 CAS. ... design from 1978 or so superior to the more recent ad-hoc additions ... Are the implementation details in Macsyma ...
    (sci.math.symbolic)
  • Re: A 6% fix from Microsoft Security Bulletin MS03-040 - 828750
    ... >> the vendor knows of a defect that's being exploited In The Wild, ... That's why I see prudent modular design as being as much in MS's ... complete the job before Windows starts writing to disk. ... ignoring personal data scope; that's what SR tries to do. ...
    (microsoft.public.security)
  • Re: A 6% fix from Microsoft Security Bulletin MS03-040 - 828750
    ... >> the vendor knows of a defect that's being exploited In The Wild, ... That's why I see prudent modular design as being as much in MS's ... complete the job before Windows starts writing to disk. ... ignoring personal data scope; that's what SR tries to do. ...
    (microsoft.public.security.virus)
  • Re: A 6% fix from Microsoft Security Bulletin MS03-040 - 828750
    ... >> the vendor knows of a defect that's being exploited In The Wild, ... That's why I see prudent modular design as being as much in MS's ... complete the job before Windows starts writing to disk. ... ignoring personal data scope; that's what SR tries to do. ...
    (microsoft.public.win2000.security)
  • Re: Is it possible to use the value of the PROGRAM ID within the source code?
    ... I see little new development in Cobol, only maintenance. ... Structured Design is Functional cohesion. ... >are created on the heap and drop out of scope in random ways. ...
    (comp.lang.cobol)