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, -- Alberto González Palomo Toledo, España / Saarbrücken, Deutschland http://www.matracas.org _______________________________________________ Om mailing list [email protected] http://openmath.org/mailman/listinfo/om
