Re: MathML 3 - section 4.6 "The Strict Content MathML Transformation"

On 26/03/12 07:57, Andrew Miller wrote:
> Hi all,
>
> Section 4.6 includes the following text under point 4b:
>
> "Rewrite interval, vectors, matrices, and matrix rows as described in 
> Section 4.4.1.1 Interval |<interval>| 
> <http://www.w3.org/TR/MathML/chapter4.html#contm.interval>, 
> Section 4.4.9.1 Vector |<vector>| 
> <http://www.w3.org/TR/MathML/chapter4.html#contm.vector>, 
> Section 4.4.9.2 Matrix |<matrix>| 
> <http://www.w3.org/TR/MathML/chapter4.html#contm.matrix> and 
> Section 4.4.9.3 Matrix row |<matrixrow>| 
> <http://www.w3.org/TR/MathML/chapter4.html#contm.matrixrow>".
>
> However, sections 4.4.9.1, 4.4.9.2, and 4.4.9.3 do not describe any 
> rules on how to rewrite vector, matrix, and matrixrow elements.
>
> Given that vectors (and matrices, and matrixrows) can have domain 
> qualifiers, I presume that there is supposed to be a transformation 
> like the one for sets, although it is not clear what OpenMath the 
> following is supposed to map into:
> <vector>
> <bvar><ci>x</ci></bvar>
> <domainofapplication><set><cn>1</cn><cn>2</cn><cn>3</cn></set></domainofapplication>
> <apply><plus/>
> <ci>x</ci>
> <cn>1</cn>
> </apply>
> </vector>
>
> The OpenMath linalg7 CD has a list_to_vector symbol, but it is a 
> binary function that requires the ring of the vector to be specified 
> explicitly.
>
It looks like 4.3.1.2 suggests that the unusual non-strict MathML:
<apply>
<vector/>
<bvar><ci>x</ci></bvar>
<domainofapplication><set><cn>1</cn><cn>2</cn><cn>3</cn></set></domainofapplication>
<apply><plus/>
<ci>x</ci>
<cn>1</cn>
</apply>
</apply>
can be transformed to:
<apply><csymbol cd="fns2">apply_to_list</csymbol>
<csymbol cd="linalg2">vector</csymbol>
<apply><csymbol cd="set1">map</csymbol>
<bind><bvar><ci>x</ci></bvar>
<csymbol cd="fns1">lambda</csymbol>
<apply><csymbol cd="arith1">plus</csymbol><ci>x</ci><cn>1</cn></apply>
</bind>
<apply><csymbol cd="set1">set</csymbol>
<cn>1</cn><cn>2</cn><cn>3</cn>
</apply>
</apply>
</apply>

So maybe the rule in 4.3.1.2 should be adjusted so it applies to the 
more usual form <vector>...</vector>, and 4.6 updated so that it refers 
to the newly added rule (and likewise for matrix and matrixrow).

Best wishes,
Andrew

Received on Monday, 26 March 2012 03:35:35 UTC