[om] Re: Indexed vars
Andreas Strotmann
Strotmann at rrz.uni-koeln.de
Wed Dec 3 16:53:24 CET 2003
David Carlisle wrote:
> a) restrict content of a variable to foreign objects (e.g. MathML
> presentation XML) -- these are non-semantic by nature, anyway.
>
>I see no need to allow this in OM. Openmath objects (unlike MML ones)
>have no default presentation anyway so there is not a lot to be gained
>by saying that a variabe is red (say) if you can not colour the rest of
>the object.
>
>The fact that mathml bvar allows content greatly complicates the notion
>of equality how do you recognise that a variable in scope _is_ the
>bound variable. MathML 2 2nd ed has some clarifying words here
>(From Michael, originally if I recall) but teh end result is that the
>content does affect the semantics (you can have two separate bound
>variables: red x and blue x)
>
>http://www.w3.org/TR/MathML2/chapter4.html#contm.bvar
>
>
Good point -- equality of foreign objects would be undecidable by
definition. So this one's out, too.
> b) do not allow content of a variable, but use attribution (the
> non-semantic variety).
>
>I still prefer this. (either attribution, or using the bound variable as
>representing a structured object and using a selector function from
>some CD to gain the effect of indexed variables.
>
>
Me too, frankly (revert to OM1 on this, that is, which includes the
attribution solution). I'm just trying to be helpful in case you're
still considering the other alternative.
> Thus, an index "i" within a
> variable or within an attribute value of a non-semantic attribution
> would almost certainly be interpreted to be bound by a surrounding
> binding element with a bound variable "i".
>
>I must be confused as to what you intend here (perhaps you need to post
>an example) but I would certainly want to ensure that _all_ occurrences
>of an OMV name="i" were bound (and could be alpha-converted) if
>countained in an OMBIND specifiying OMV name="i".
>
>
The example that I had in mind was again the one where variable "i" is
bound to a constant, say "42", and you have both "x_i" and "x_42"
around. You might want an application to interpret x_i as x_42 in that
case, or again you might prefer it to leave it as x_i as distinct from
x_42. The latter is the case with "i" bound, semantically, and the
former, with "i" treated as a non-semantic piece with no binding.
In the case of variables with contents, this is a serious issue, as has
been discussed earlier.
In the case of attributions, you're safe from this problem at first
glance since you can't use the same variable x in both cases, you'd have
to use (say) variables x_42 and x_i and then add an attribute
containing x and 42 or i. However, the binding issue would catch you
again in deciding how to interpret the attribute: does it say "i" or
does it say "42" when it contains an "i" which happens to be bound to 42?
(Incidentally, the semantic problems all disappear with string "i"
instead of variable "i".)
-- Andreas
--
om at openmath.org - general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems
More information about the Om
mailing list