MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Expression manipulation

  • To: mathgroup at
  • Subject: [mg88776] Re: Expression manipulation
  • From: David Bailey <dave at>
  • Date: Fri, 16 May 2008 05:32:28 -0400 (EDT)
  • References: <g0h4mp$lbo$>

John Fultz wrote:
> I'm no expert at this, but I've seen other experts within Wolfram using the
> AlgebraicManipulation palette to do simplifications on pieces of a large 
> expression similar to the ones you describe.  Basically, they select a piece by 
> hand, apply the appropriate button from the palette, possibly re-evaluate to
> combine like terms and/or save the current state of the expression, and iterate 
> again with the palette until they're satisfied.
> To aid in this, you may find structured selection in the user interface useful.  
> The user interface is aware of the structure of expressions and responds to
> multi-clicking by selecting successively larger structurally complete elements 
> (important since the buttons in the palette would fail on structurally 
> incomplete elements).  For example, double-clicking on an open or close 
> parenthesis will select the entire parenthesized contents. Double-click-drag 
> from there will then allow you to drag-select neighboring terms in their 
> entirety.  Triple-click, quadruple-click, quintuple-click, and so on from any 
> given point will select successively larger structural elements.  It's difficult 
> to explain in words, but easy to understand once you've observed it in action, 
> so feel free to experiment.
> The AlgebraicManipulation palette is available in both 5.2 and 6.0.
> Sincerely,
Back at version 4.0, I devised a package that did some algebraic 
manipulation using colour. The idea was that working on selections has 
two drawbacks - you can only select one piece of an expression at a 
time, and there is no audit trail of what happened in the notebook. 
Since, more often than not (at least with me) there is a need to 
backtrack, the lack of an audit trail can be very frustrating.

Selected sub-expressions were coloured red with a palette item that 
wrapped Red[] (you could use a range of colours) around the expression 
and MakeBoxes/ MakeExpression rules converted this to a coloured 
expression (one of the problems that arose at 5.0 was that names like 
Red got used as names of colours - I should have read the cautions on 
using names reserved for WRI!).

The package came with a lot of functions that picked out coloured 
expressions and did various things to them.

It also came with a set of inert operations - such as an inert form of 
integration - that could be manipulated passively, but displayed 
normally. The idea was that perhaps you wanted to study making certain 
substitutions in integrals (say), and it really wasn't helpful if 
Mathematica just jumped in and returned a result regardless.

Anyway, although I gave a talk about the package and it was downloaded 
by various people, there was not that much interest in the idea, and I 
never got round to updating the package. I also think in retrospect, 
there were probably better ways to do certain things.

My main point is that I really feel that this is a big hole in 
Mathematica - that you can't easily use it to help out with developing 
derivations/proofs - except perhaps to check transformations that you 
have generated by hand.

David Bailey

  • Prev by Date: Re: DSolve question
  • Next by Date: Re: Applying the Integration Function to a List Of Regions
  • Previous by thread: Re: Re: Expression manipulation
  • Next by thread: Re: Expression manipulation