[sci.math] mathematical editor

moulis@tls-cs.UUCP (Gerald Moulis) (11/13/89)

I'am reacting to the article Jeff Butterworth posted in sci.math.symbolic
(and 6 others newsgroups) because he uses subject and keywords that fit very
well to my PhD work. However, I just use it to talk about what could be a
                       *mathematical editor*
and ask what you think about it. So it must be considered as an original news
article. Apologies for the length of the post: there are summary and questions
before the discussion.

SUMMARY:
        I propose a (non-built) kernel of a mathematical workshop called
SOFTMATH in order to provide computer assistance in formulas manipulations.
It provides an ENVIRONMENT with mathematical and pragmatic KNOWLEDGE
required to parse, edit and manipulate formulas. The formulas are
splitted into 3 structures (visual, syntactic and mathematical) tied
together in order to provide textual and mathematical manipulations.
It uses direct manipulation, programming environment techniques and
view formulas manipulations in a software engineering paradigm. It
makes the link between textual occurrences of a variable, knows their
type and how to generate 1 or 100 of new variables. It handles and knows
the meaning and the various notations available for an operator (by the
introduction of definitions)...
This provides "NATURAL" manipulations of formulas. Symbolic computations
facilities are not provided first: it acts as an editor + proof-checker.
On medium range, a mathematical workshop could provide experimental
support of AI and Interaction techniques, and elicit mathematical knowledge
(following its development methodology, it is first interested by concepts,
pragmatics and mathematical language as a Natural Language).

QUESTIONS:- Could you post or mail what you think about it?
          - Are they any project, intend or any work close to that way?
          - Could you mail me whether you or some friend feel interested,
            in which (practical or technical) aspect, in what intend...
          - Are they any project which ambition is to do software engineering
            specific to mathematics. That is bring formulas to programs
            (automatic and assisted generation), with knowledge about
            symbolic and numerical methods and their use.

DISCUSSION: (may be you could print it)

Jeff Butterworth writes:
(long time ago, apologies but a previous post was lost in the newspost system)
>	As a physics major and computer programmer, I've spent much of my
>life scratching away with pencil and paper, creating equations that would
>choke a horse.  Some of these babies take three lines of notebook paper and
                                           -----------------------------
>contain every special squiggle my math professor could dig out of his medieval
>calculus torture books.  I know that premature arthritis has always been a
>healthy part of every scientist's training, but I've suffered long enough.
>	What I want to know is, is there any editor out there that will allow
>me to manipulate equations and other mathematical symbols?  It doesn't have
>to do any calculations at all. (That's my job.)  I just want to be able to
    --------------------------   -------------   
>do my homework on the computer, like all the English and Psych majors.
>Surely there's something that will let me do the basic word processing tasks
>like cutting and pasting, but will also let me type in a messy fraction and
>then put a square root sign around it.
>	The only kind of program that I've seen that comes close is a paint
>program.  I wouldn't mind creating all of the special symbols in mac-draw,
>but actually putting them together in each new situation would be a tedious
>nightmare.  And I'm not even going to go near complicated text formating
>packages like eqn for UNIX.  Those require more time to use than just
>grabbing a no.2 pencil and a sheet of notebook paper, and the encoded info
>is far from WYSIWYG.
>	I would prefer something for the IBM PC, but I would even hop on a
>Mac or X-Windows if I could type in equations.
>	Can anyone give me some pointers?  Thanks in advance.
(I have underlined some of the text; I'am sure he received pointers enough)

The editor Jeff needs, assists him in his formulas manipulations. Let's see
what are the PROBLEMS:

    First, when you just need to build a visual and printable form of
a few formulas even "complicated text formating package" do that work
and are worth some extra-efforts. They provide build-in typographical
knowledge.

   Second, instead of text, and like programs, formulas have a "well
known" syntax and semantic. There are clever programming editors which know
abstract syntax and sometimes semantic. There is no software engineering
products in mathematic but there are plenty of (symbolic) computation ones.
Sometimes Mathematics should be considered as an "Assisted Design". An
editor which knows about mathematical practice could offer help in formula
acquisition (contextual completion helps in "special squiggles"...)

   Third, when you build sequences of long formulas you feel there should
be something to do. They are correlated, you pick parts of formulas, you 
have a simple mathematical transformation to do but it is a textual trick.
Even primitive operations like change a variable, manage notations or
index variable bounds, put parenthesis if needed,(...) are not available.

what COULD BE DONE in that way:

    First, conceive a working environment, and more specially an interface
which provide "NATURAL" manipulation of formulas with computer assistance.
There are many contextual Interaction techniques that could be developed.

    Second, manage all aspects of FORMULAS: mathematical, syntactical
and visual (as well as stylistic choices). Let's take a sigma operator:
-the visual structure is the bit-map one of the formula, with others
 visual aspects as a selected part, surrounding boxes...
-the syntactical structure is the lower, upper and main part of a sigma.
-the mathematical structure is a summation operator with its variable,
 domain and mathematical expression.
The trick is to maintain consistency from mathematical to visual
structures and manage action from visual to mathematical (with the help of
Knuth-like boxes as syntactical intermediate). The way proposed is to link
all information relevant to an operator to the mathematical structure.

    Third, provide KNOWLEDGE required to all intended manipulations. That
is knowledge of the syntax and semantics of the languages needed for the
representations of formulas, as that is done in programming environment
generators. That is also knowledge and organization of mathematical 
concepts of a domain, as there are Knowledge Based Systems and Object
Oriented organization. This implies to find a way to use that knowledge.

The EXPECTED RESULTS are:

-Provide a formula manipulation environment for a mathematical activity,
 which knows about mathematical practice.
-As all of this is done in a "natural" way: Assist the mathematician in
 its activity and do not provide alternative tools to make part of it in
 another space with a different working "logic".
-Provide experimental support of AI and interaction techniques, and elicit
 mathematical knowledge (for example domain and concept dependent heuristics)
-Be tied with computational knowledge (symbolic, numerical methods, 
 mathematical theorem proving, reasoning...) to benefit from these works.

The only problem is that users and developers don't *believe* that it's
feasible. Thanks for all, I will summarize some points if needed.

Nota: I know those marvelous things computer algebra like MACSYMA, SCRATCHPAD
MATHEMATICA and others can do (computation, text or code generation...) I just
want to talk about what they do *not*. A sample of innovative ideas are:

-D. ARNON, R. BEACH, K. MCISAAC and C. WALDSPURGER : "Caminoreal : an 
 interactive mathematical notebook"; Proc. of the Int. Conf. on Electronic
 Publishing, Document manipulation and typography, Nice, France, April 20-22,
 1988, pp. 1-18. (for providing integrated acces to numerical computation
 mathematical typesetting, computer algebra and technical electronic mail)

-M. KALTENBACH, C. FRASSON : "DYNABOARD: User animated display of deductive 
 proofs in mathematics"; Int. J. Man-Machine Studies (1989) 30, 149-170.
 (for its interesting ideas about interaction)

-M. VIVET : Expertise mathematique et informatique : CAMELIA, un logiciel
 pour  raisonner et calculer ;  these d'etat, Paris VI, juin 1984.
 (for using computer algebra within an Expert System intended for reasoning)


    >>>>>>> There is time to FIND, now is the time to SEARCH. >>>>>>> 

 "Dieu benit l'homme
  Non pour avoir trouve', mais pour avoir cherche'"          Victor Hugo.

  Disclaimer: These opinions are mine and I will burn to death!

-- 
        
  Gerald MOULIS                       ONERA/CERT-DERI  -  2 av Edouard Belin
  Email, UUCP :                       BP 4025, 31055 TOULOUSE CEDEX, FRANCE,  
  moulis@tls-cs.cert.fr                               phone: +33-61-55-71-64
  ...!seismo!mcvax!inria!tls-cs!moulis