[Om] Tutorial or example collection for OpenMath?
Michael Kohlhase
m.kohlhase at jacobs-university.de
Wed Feb 26 12:46:49 CET 2014
Dear all,
I made an STS to RelaxNG compiler a couple of years back, I will see if
I can dig that out.
Michael
On 26.2.14 12:01, Alberto González Palomo wrote:
> Konrad Hinsen wrote: (25/02/14 10:07)
>> [...]
>> For the particular case of "sum", I find the definition in arith1 a
>> bit vague:
>>
>> An operator taking two arguments, the first being the range of
>> summation, e.g. an integral interval, ...
>>
>> There is no definition of "range of summation", just an example. You
>> use a
>> set in your example, which is fine, but there's nothing in the
>> definition
>> of "sum" that tells me that sets are a valid specification for a
>> "range of
>> summation".
>>
>> Which leads to another question: is there any validation tool for
>> OpenMath that checks the semantics? The XML schemas and the XSLT
>> stylesheet from the OpenMath Web site only check syntactical aspects,
>> they won't stop me from using transc1/sin as a summation range, for
>> example.
>
> I'm not aware of any validation tool, but you can check the Simple
> Type System (STS) used for symbol signatures in the OM CDs.
> http://www.openmath.org/cd/sts.xhtml
>
> For instance, arith1:sum has:
>
> http://www.openmath.org/sts/arith1.xhtml#sum
>
> I always used integer intervals for it in all the OM software I wrote.
> For instance in Yacas, $\sigma_{i=1}^3 i^2$ is:
>
> http://yacas.sourceforge.net/refchapter6.html#Sum
>
> In> OMForm(Sum(i, 1, 3, i^2));
> <OMOBJ>
> <OMA>
> <OMS cd="arith1" name="sum"/>
> <OMA>
> <OMS cd="interval1" name="integer_interval"/>
> <OMI>1</OMI>
> <OMI>3</OMI>
> </OMA>
> <OMBIND>
> <OMS cd="fns1" name="lambda"/>
> <OMBVAR>
> <OMV name="i"/>
> </OMBVAR>
> <OMA>
> <OMS cd="arith1" name="power"/>
> <OMV name="i"/>
> <OMI>2</OMI>
> </OMA>
> </OMBIND>
> </OMA>
> </OMOBJ>
> Out> True
> In> N(Sum(i, 1, 3, i^2));
> Out> 14
>
> For the double sum you mentioned, that would be nested:
>
> In> OMForm(Sum(j, -2, 5, Sum(i, 1, 3, j+i^2)));
> <OMOBJ>
> <OMA>
> <OMS cd="arith1" name="sum"/>
> <OMA>
> <OMS cd="interval1" name="integer_interval"/>
> <OMA>
> <OMS cd="arith1" name="minus"/>
> <OMI>2</OMI>
> </OMA>
> <OMI>5</OMI>
> </OMA>
> <OMBIND>
> <OMS cd="fns1" name="lambda"/>
> <OMBVAR>
> <OMV name="j"/>
> </OMBVAR>
> <OMA>
> <OMS cd="arith1" name="sum"/>
> <OMA>
> <OMS cd="interval1" name="integer_interval"/>
> <OMI>1</OMI>
> <OMI>3</OMI>
> </OMA>
> <OMBIND>
> <OMS cd="fns1" name="lambda"/>
> <OMBVAR>
> <OMV name="i"/>
> </OMBVAR>
> <OMA>
> <OMS cd="arith1" name="plus"/>
> <OMV name="j"/>
> <OMA>
> <OMS cd="arith1" name="power"/>
> <OMV name="i"/>
> <OMI>2</OMI>
> </OMA>
> </OMA>
> </OMBIND>
> </OMA>
> </OMBIND>
> </OMA>
> </OMOBJ>
> Out> True
> In> N(Sum(j, -2, 5, Sum(i, 1, 3, j+i^2)));
> Out> 148
>
> In my editor that would be as follows:
> http://matracas.org/sentido/demo/index.xhtml#%E2%88%91%28-2..5,%CE%BBj.%E2%88%91%281..3,%CE%BBi.j+i^2%29%29
>
>
> You can click twice on the sum button (the palettes will scroll
> down because of the variables added to the expression) to get a
> nested sum, then rename the variables by hand.
>
> It is possible to enter it in the form described by Lars,
> using a set, but my MathML stylesheets don't support it so far:
> http://matracas.org/sentido/demo/index.xhtml#%E2%88%91%28cartesian_product%28X,Y%29,%CE%BB[i,j].i*j%29
>
>
> Cheers,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: m_kohlhase.vcf
Type: text/x-vcard
Size: 320 bytes
Desc: not available
URL: <http://openmath.org/pipermail/om/attachments/20140226/35b8f916/attachment.vcf>
More information about the Om
mailing list