Re: Semantic Markup: mrow's are needed

I agree that the operators should be part of the semantics. In fact I
realized that was essential last week and wrote up some email that I've
been sitting on since Friday. I'm going to send that in a separate thread.
I think we are getting really close to a solution with only some syntactic
differences.

     Neil


<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Tue, Jun 30, 2020 at 6:50 AM Deyan Ginev <deyan.ginev@gmail.com> wrote:

> Indeed, it is as Bruce suggests -- I was focusing on the argument
> scaffold when you have implicit mrows, to illustrate the point, which
> I see mostly took :> Thanks for adding the missing bits! To belabor
> the point some more, this approach lets you have a number of choices
> when you have "too many" mrows, but it makes sure you have at least
> one choice when the mrows are omitted/implied (choice being to float
> the annotation up).
>
> Maybe a good metaphor here is that Presentation MathML is like cooked
> meat - it has several levels of doneness and every culture has its
> favourite.
>
> Some of the variations that come to mind:
>
> 1. Implied mrows (as in Bruce's email, but I will use "semantic" as
> the attribute name for now, since we haven't formally set it in stone
> yet)
>
> <mrow semantic="times(@f1(@b1),@f2(@b2))">
>    <mi arg="b1">m</mi>
>    <mo arg="f1" semantic="factorial">!</mo>
>    <mi arg="b2">n</mi>
>    <mo arg="f2" semantic="factorial">!</mo>
> </mrow>
>
> 2. Content-tree aligned mrows, coarse-grained annotations
>
> <mrow semantic="times(@f1(@b1),@f2(@b2))">
>    <mrow>
>      <mi arg="b1">m</mi>
>      <mo arg="f1" semantic="factorial">!</mo>
>    </mrow>
>    <mrow>
>      <mi arg="b2">n</mi>
>      <mo arg="f2" semantic="factorial">!</mo>
>    </mrow>
> </mrow>
>
> 3. Overdone mrows, coarse-grained annotations
>
> <mrow notation="times(@f1(@b1),@f2(@b2))">
>    <mrow>
>      <mrow>
>        <mi arg="b1">m</mi>
>      </mrow>
>      <mrow>
>        <mo arg="f1" semantic="factorial">!</mo>
>      </mrow>
>    </mrow>
>    <mrow>
>      <mrow>
>        <mi arg="b2">n</mi>
>      </mrow>
>      <mrow>
>        <mo arg="f2" semantic="factorial">!</mo>
>      </mrow>
>    </mrow>
> </mrow>
>
>
> 4. Content-aligned mrows, fine-grained annotations
>
> <mrow notation="times(@lfactor,@rfactor)">
>    <mrow arg="lfactor" semantic="@op(@m)">
>      <mi arg="m">m</mi>
>      <mo arg="op" semantic="factorial">!</mo>
>    </mrow>
>    <mrow arg="rfactor" semantic="@op(@n)">
>      <mi arg="n">n</mi>
>      <mo arg="op" semantic="factorial">!</mo>
>    </mrow>
> </mrow>
>
> 5. Overdone mrows, fine-grained annotations
>
> <mrow notation="times(@lfactor,@rfactor)">
>    <mrow arg="lfactor" semantic="@op(@m)">
>      <mrow>
>        <mi arg="m">m</mi>
>      </mrow>
>      <mrow>
>        <mo arg="op" semantic="factorial">!</mo>
>      </mrow>
>    </mrow>
>    <mrow arg="rfactor" semantic="@op(@n)">
>      <mrow>
>        <mi arg="n">n</mi>
>      </mrow>
>      <mrow>
>        <mo arg="op" semantic="factorial">!</mo>
>      </mrow>
>    </mrow>
> </mrow>
>
> And one could indeed replace the literal "times" with a pointer to an
> <mo> containing invisible times, if it was available and preferred, or
> still keep this style of annotating even when such invisible times
> <mo> is available.
>
> FWIW, if we took a group vote, I have a feeling we will have at least
> 2 of these 5 choices get a vote for "best practice", depending on
> perspective. So we might as well leave the choice open with some
> illuminating examples how to make it?
>
> Deyan
>
> On Tue, Jun 30, 2020 at 9:11 AM Miller, Bruce R. (Fed) <miller@nist.gov>
> wrote:
> >
> > On 6/29/20 9:11 PM, Neil Soiffer wrote:
> > > Apologies for the delayed reply -- I put some blinders on for a few
> days
> > > to grind out some code to linebreak/indent MathML.
> > >
> > > I think David's second reply is the correct one as to my way of
> > > thinking. Using my current (but now old) proposal:
> > > <mrow notation="times(factorial(@1), factorial(#3))">
> > > <mi>m</mi>
> > > <mo>!</mo>
> > > <mi>n</mi>
> > > <mo>!</mo>
> > > </mrow>
> > >
> > > I think Deyan was aiming at something like that using his proposal's
> > > notation, but I don't think it is right. Nowhere is "factorial"
> present.
> >
> > Right, I think what he was *trying* to say was
> > <mrow notation="times(@f1(@b1),@f2(@b2))">
> >    <mi arg="b1">m</mi>
> >    <mo arg="f1" notation="factorial">!</mo>
> >    <mi arg="b2">n</mi>
> >    <mo arg="f2" notation="factorial">!</mo>
> > </mrow>
> >
> > Which is semantically equivalent to what you wrote, but has the
> > advantage that an agent can more easily track that each "!"
> > corresponds to factorial (for highlighting, navigation, ...
> >   or even linking ? :>
> >
> >
> > >      Neil
> > >
> > > On Fri, Jun 26, 2020 at 7:57 AM Deyan Ginev <deyan.ginev@gmail.com
> > > <mailto:deyan.ginev@gmail.com>> wrote:
> > >
> > >     Hi all,
> > >
> > >     The mini proposal also allows to annotate any presentation tree,
> but
> > >     you sacrifice the granularity of the annotation - it floats
> higher. So
> > >     Neil's tree can be annotated as (using the syntax that seemed to be
> > >     the consensus form after yesterday's meeting):
> > >
> > >     <mrow semantic="times(@factorial1(@base1),@factorial2(@base2))">
> > >        <mi arg="base1">m</mi>
> > >        <mo arg="factorial1">!</mo>
> > >        <mi arg="base2">n</mi>
> > >        <mo arg="factorial2">!</mo>
> > >     </mrow>
> > >
> > >     Greetings,
> > >     Deyan
> > >
> > >     On Fri, Jun 26, 2020 at 10:48 AM David Carlisle <davidc@nag.co.uk
> > >     <mailto:davidc@nag.co.uk>> wrote:
> > >      >
> > >      > On 26/06/2020 15:39, Neil Soiffer wrote:
> > >      >
> > >      > We have talked a little about needing proper mrow structure in
> > >     order to mark up prefix/posfix/infix operators. For example, the
> > >     following can not be semantically marked up:
> > >      > <mrow>
> > >      >   <mi>m</mi>
> > >      >   <mo>!</mo>
> > >      >   <mi>n</mi>
> > >      >   <mo>!</mo>
> > >      > </mrow>
> > >      >
> > >      > It needs an extra layer of mrows around the postfix factorials
> in
> > >     the mrow.
> > >      > <mrow>
> > >      >   <mrow>
> > >      >     <mi>m</mi>
> > >      >     <mo>!</mo>
> > >      >   </mrow>
> > >      >   <mrow>
> > >      >     <mi>n</mi>
> > >      >     <mo>!</mo>
> > >      >   </mrow>
> > >      > </mrow>
> > >      >
> > >      >
> > >      >
> > >      > It seems the main problem (with both forms) is the missing
> > >     invisible times.  Using the notation of one of the current
> proposals
> > >     (semantics-mini)  you could do
> > >      >
> > >      >
> > >      > <mrow
> > >      >
> > >      > semantic="@3(@2(@1),@5(@4))
> > >      > >
> > >      >
> > >      >   <mi>m</mi>
> > >      >   <mo semantic=factorial>!</mo>
> > >      >   <mo>&invisibletimes;</mo>
> > >      >   <mi>n</mi>
> > >      >   <mo semantic=factorial>!</mo>
> > >      >
> > >      > </mrow>
> > >      >
> > >      >
> > >      > Here's a case we haven't talked about: implicit mrows.
> > >      > <msqrt>
> > >      >   <mi>n</mi>
> > >      >   <mo>!</mo>
> > >      > </msqrt>
> > >      >
> > >      >
> > >      > again can't you do
> > >      >
> > >      >
> > >      > <msqrt semantic="sqrt(@2(@1))">
> > >      >   <mi>n</mi>
> > >      >   <mo semantic=factorial>!</mo>
> > >      > </msqrt>
> > >      >
> > >      >
> > >      >
> > >      > David
> > >      >
> > >      >
> > >      >
> > >      >
> > >      > Disclaimer
> > >      >
> > >      > The Numerical Algorithms Group Ltd is a company registered in
> > >     England and Wales with company number 1249803. The registered
> office
> > >     is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United
> > >     Kingdom. Please see our Privacy Notice for information on how we
> > >     process personal data and for details of how to stop or limit
> > >     communications from us.
> > >      >
> > >      > This e-mail has been scanned for all viruses and malware, and
> may
> > >     have been automatically archived by Mimecast Ltd, an innovator in
> > >     Software as a Service (SaaS) for business.
> > >
> > >
> >
> >
> > --
> > bruce.miller@nist.gov
> > http://math.nist.gov/~BMiller/
> >
> >
>
>

Received on Wednesday, 1 July 2020 06:50:39 UTC