W3C home > Mailing lists > Public > www-math@w3.org > June 2005

Re: MathML Content and Operators

From: General <maths@mathsonly.com>
Date: Tue, 14 Jun 2005 11:50:43 -0700 (PDT)
To: David Carlisle <davidc@nag.co.uk>
Cc: www-math@w3.org
Message-Id: <20050614185043.EE5747267@sitemail.everyone.net>

I can see the use of the <csymbol> element in defining new symbolic operators, although I'm put off using it a little by the spec. saying <csymbol> can be used for "unknown or *user-defined* functions and symbols". The phrase 'user-defined function' puts me off its use, since differential operators (a) are widely used and should not be 'defined' by any one user (unless they are being 'redefined' in a particular context), (b) they aren't functions or really symbols, but instead operators (and as such require things like bound variables?).

As I see it, operators and constructs are defined by (empty) elements, while functions and symbols are defined by the contents of other elements (like <ci> and <csymbol>). 

As a result, the way I would like to extend the Content ML is to use a new operator *empty element* in an <apply> - operators like <diff /> and <partialdiff /> already exist, so why can I not use <differential /> as a new child of <apply>? Since an unknown first child of <apply> is interpreted as being a user-defined function, is there any way to link this completely new element to a definition?

For example:

  <differential /> <!-- with a definition URI somewhere in the doc. -->

where "<ci>x</ci>" can be replaced with any expression.

What concerns me a little about the "definitionURL" attribute is that the syntax or encoding of the target are completely undefined. Additionally, most of the examples given in the spec. point to human-readable URIs and resources. This means that any operator defined by a MathML document using <csymbol> almost certainly cannot be interpreted by a computer algebra system correctly - although I see no easy way round this problem.

Just one comment on the example syntax you provided: the spec. states that "The diff element is the differentiation operator element for functions of a single variable." (section Since 'f' is a function of both 'x' and 'y', it is clearly not a function of just one variable (assuming 'x' and 'y' are independent). Therefore, according to the specification, it would be erroneous to use <diff /> in this case (although I agree totally with the use of <partialdiff /> here).

I'm not worried in the slightest about presentation (or the conversion of Content ML to presentation), but I want to get the semantics right so they can be interpreted by an algebraic system.

Any further thoughts?

Best regards,
Charles Lyons.

P.S. I've taken on-board your comments about my sloppy Presentation syntax and use of the &InvisibleTimes; - I agree, it was incorrect. However, it is also important for the &dd; and the following character not to line-break...

http://www.easypost.com Anti-Virus & Anti-Spam Web Mail thats hotter than hot
Received on Tuesday, 14 June 2005 18:53:21 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 20 February 2010 06:12:57 GMT