[Prev][Next][Index][Thread]
Best MathML 1.01 content code for multistep solutions/derivations/proofs?

To: wwwmath@w3.org

Subject: Best MathML 1.01 content code for multistep solutions/derivations/proofs?

From: Kofi WeusiPuryear <puryear@ils.nwu.edu>

Date: Mon, 18 Sep 2000 11:23:14 0500

From wwwmathrequest@tux.w3.org Mon Sep 18 12: 24:24 2000
What is the best way to write MathML 1.01 content code for multistep
solutions/derivations/proofs? I need to be able to programmatically
distinguish between the steps. I also want MathML code that displays
well using IBM's TechExplorer.
For example let say you want to code the simple multistep solution:
4*x = x + 6
3*x = 6
x = 2
I could just just have a list of <reln> nodes like this:
<math>
<reln>
<eq/>
<apply>
<times/>
<cn>4</cn>
<ci>x</ci>
</apply>
<apply>
<plus/>
<ci>x</ci>
<cn>6</cn>
</apply>
</reln>
<reln>
<eq/>
<apply>
<times/>
<cn>3</cn>
<ci>x</ci>
</apply>
<cn>6</cn>
</reln>
<reln>
<eq/>
<ci>x</ci>
<cn>2</cn>
</reln>
</math>
But TechExplorer will just scrunch each step together on one line so
it ends up looking like:
4*x = x + 63*x = 6x = 2
That way is also problematic in determining which step is what,
especially in more complicated examples.
I could use <semantics> nodes like this:
...
<semantics>
<reln>
...
</reln>
<annotationxml encoding="MySpecialCode">
<step ID="1"/>
</annotationxml>
</semantics>
...
Now while I process the MathML code I will definitely know which step
is which, but TechExplorer will still scrunch each step together on
one line. To solve that problem I could use the <tendsto> operator so
TechExplorer's presentation is like this:
4*x = x + 6 > 3*x = 6 > x = 2
Still on one line, but less misleading. However since <tendsto> is a
binary relational operator, I would have to nest allot of <reln>
nodes (each associated with a <tendto> node) inside each other.
I could avoid using <tendsto> by using my second option internally,
and displaying to users HTML code with MathML embedded in it, each
step is displayed on one line.
I hoping the MathML community can suggest a simpler solution that
only requires the use of MathML 1.01 that TechExplorer would be happy
with.
Kofi WeusiPuryear
Learning Sciences Ph.D. Student
Northwestern University
mailto:puryear@ils.northwestern.edu
http://www.ils.northwestern.edu/~puryear