- From: Andreas Strotmann <Strotmann@rrz.uni-koeln.de>
- Date: Tue, 06 May 2003 17:58:52 +0200
- To: Robert Miner <RobertM@dessci.com>
- CC: www-math@w3.org

I stand corrected then, Robert. However, it does say "should", not "must", so any content element is OK, sort of, except reln, which is explicitly depracated. You may have to fix the validation grammar then (though it should issue a warning, I suppose). Still, the original poster appears to have hit upon a serious problem here. I can't think of a single case where insisting on a specific type of argument would be OK in all cases. In this particular case, just replace the body, variable x, with a logical constant such as true or false, and you have a perfectly sensible mathematical statement that should be representable in a straight-forward way without inserting an identity function into it somehow. This reminds me of a problem that I posted a long, long time ago, about having interval both as a constructor and as a qualifier element. That's a dangerous syntactic ambiguity: is an apply with an integral operator and an interval element a) an operator on functions which returns the integral of an argument function over that interval, or b) the indefinite integral of an interval-valued function? -- Andreas >>The misunderstanding may be about <forall/> being required to be used >>within the context of an apply element. That refers to the apply >>element within which the forall element is embedded, however, and >>therefore there is no problem if there is no apply element as a sibling >>of the forall element. >> >> > >That may be the sensible interpretation, but it isn't how the spec is >written. From 4.3.17: > > "The forall element represents the universal quantifier of logic. It > must be used in conjunction with one or more bound variables, an > optional condition element, and an assertion, which should take the > form of an apply element. In MathML 1.0, the reln element was also > permitted here: this usage is now deprecated." > >And from the validation grammer, C.2.3.18: > > "Signature > > (bvar*,condition?,apply) -> boolean > (bvar*,condition?,(reln)) -> boolean " > >--Robert > > >

Received on Tuesday, 6 May 2003 11:59:05 UTC