<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Another Look at Formal Mathematical Properties</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>James Davenport (J.H.Davenport@bath.ac.uk).</string-name>
        </contrib>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1.1</p>
    </sec>
    <sec id="sec-2">
      <title>History</title>
      <sec id="sec-2-1">
        <title>Prior to the 2003 document</title>
        <p>At the Twelfth OpenMath Workshop (Eindhoven meeting 15/16.6.1999), there
was a discussion about Formal Mathematical Properties. The minutes read as
follows.</p>
        <sec id="sec-2-1-1">
          <title>AMC introduced a paper by himself and MK on \De ning Math</title>
          <p>ematical Properties". He said that CDs did not necessarily introduce
the logical meaning of mathematical symbols. OpenMath should
involve the logic community more. While OpenMath has Formal</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Mathematical Properties (FMPs), there is no di erentiation between</title>
          <p>de nitions and consequences. Also, some objects do not have FMPs,
e.g. subset. He suggested a new tag, DefMP, which would be like</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>FMPs, but the DefMPs would have to de ne the mathematical object uniquely. At least in theory, the FMPs would then be formally proved as consequences of the DefMPs.</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>In the Esprit group, there were two objections: one that they</title>
          <p>would scare many potential users, and the other was that people
might want di erent DefMPs. To the rst, he answered that there
were many features of OpenMath that not everyone used. For the
second, he noted that signatures had been moved to separate les,
and maybe this would be appropriate for DefMPs.1</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>This led to a lively debate. GHG said that placing the DefMPs in</title>
          <p>separate les was a move against the general trend towards databases.</p>
        </sec>
        <sec id="sec-2-1-6">
          <title>MK in particular called for genuinely usable OpenMath tools, e.g.</title>
          <p>for Reduce and Maple. Many agreed with him.</p>
          <p>[Irrelevancies deleted.] MK proposed that, in the light of the</p>
        </sec>
        <sec id="sec-2-1-7">
          <title>DefMP discussion above, which seemed to conclude that the DefMPs should be in auxiliary les, FMPs should be moved to a di erent kind of le. AMC agreed, but DPC did not. SB proposed, and</title>
          <p>1See also section 6.</p>
        </sec>
        <sec id="sec-2-1-8">
          <title>JHD seconded, that FMPs should stay where they were. This was</title>
          <p>agreed. A few amendments to the DTD for CDs were noted. DPC
pointed out that 5.4 (CD Signature les) and 5.5 (CD Groups) were
probably not nal. MK suggested a DTD for defmp les, which
would be inserted after 5.4, after it had been discussed by e-mail.</p>
        </sec>
        <sec id="sec-2-1-9">
          <title>AS suggested that some tags like CDVersion should also be present in signature les.</title>
          <p>1.2
2003</p>
        </sec>
        <sec id="sec-2-1-10">
          <title>The 2003 document said the following,</title>
        </sec>
        <sec id="sec-2-1-11">
          <title>In the last few years, JHD has come to understand more of the motivation behind the DefMP proposal, and wishes to resurrect a variant of it, in which FMPs would be quali ed with some description of their r^ole.</title>
          <p>
            This was part of JHD's presentation at Hagenberg 2007: http://staff.bath.
ac.uk/masjhd/Slides/MKM2007.pdf, though not the published version [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. JHD's
notes of the Hagenberg meeting read as follows.
          </p>
          <p>CSC [Claudio Sacerdoti Coen] distinguished three levels:
notation (or presentation), content and logic. OpenMath, he thought,
does well at distinguishing content from notation. He then asked
whether DefMP wasn't mixing the last two | how can I interpret
your DefMP if I don't know your logic. JHD admitted that this
might be a problem for type 4 symbols. Type 3 symbols have a
purely extensional de nition, so the logic used should be irrelevant.
2</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Kinds of symbols</title>
      <sec id="sec-3-1">
        <title>It seems to JHD that there are various kinds of symbol.</title>
      </sec>
      <sec id="sec-3-2">
        <title>1. Those that are fundamentally primitive, and not de ned at all. They may still have FMPs, but these FMPs are merely about them, rather than de ning the symbol. An example would be</title>
        <p>&lt;OMS name="set" cd="set1"/&gt;.</p>
      </sec>
      <sec id="sec-3-3">
        <title>2. Those that OpenMath treats as primitive, and not de ned at all in Open</title>
        <p>Math. These might not be primitive in mathematics, but OpenMath has
decided not to de ne them. They may still have FMPs, but these FMPs
are merely about them, rather than de ning the symbol. An example
would be
&lt;OMS name="exp" cd="transc1"/&gt;,
whose only FMP is a representation of 8k 2 Z exp(z + 2k i) = exp(z)
(which is equally true of 2 exp(z) and exp(2z) for example).</p>
      </sec>
      <sec id="sec-3-4">
        <title>3. At the other end of the spectrum, there are those objects that OpenMath de nes (because mathematicians use them) but which are logically redundant. An example of this is</title>
        <p>&lt;OMS name="sin" cd="transc1"/&gt;,
whose FMP is a representation of sin(x) = exp(ix) exp( ix) , which means
2i
that all occurrences of sin can be removed from an OpenMath object
without changing the semantics. If the CD speci ed this, a system which
encountered a symbol like this could rewrite it knowing that there was no
semantic loss.</p>
        <p>If it felt that sin is still \important", and complex exponentials are not the
right response to a real function, how about csc, which can be perfectly
encapsulated via csc(x) = sin1 x ?
4. It would be possible2 (in fact the de nition in integer1 is not of this
form, but rather in terms of products), to de ne
&lt;OMS name="factorial" cd="integer1"/&gt;
(whose STS states that it is a function N ! N) with an FMP encoding
the recursive de nition:
&lt;OMOBJ&gt;
&lt;OMA&gt;
&lt;OMS name="and" cd="logic1"/&gt;
&lt;OMA&gt;
&lt;OMS name="eq" cd="relation1"/&gt;
&lt;OMA&gt;
&lt;OMS name="factorial" cd="integer1"/&gt;
&lt;OMS name="zero" cd="arith1"/&gt;
&lt;/OMA&gt;
&lt;OMS name="one" cd="arith1"/&gt;
&lt;/OMA&gt;
&lt;OMA&gt;
&lt;OMS name="implies" cd="logic1"/&gt;
&lt;OMA&gt;
&lt;OMS name="gt" cd="relation1"/&gt;
&lt;OMV name="n"/&gt;
&lt;OMS name="zero" cd="arith1"/&gt;
2If it is argued that this is arti cial, since this is not in fact the FMP, consider the example
of Stirling1 in combinat1, whose FMP is the encoding of Stirling1(n; m) = Pkn=0m( 1)k
binomial(n 1 + k; n m + k) binomial(2n m; n m k) Stirling2(n; m).
&lt;/OMA&gt;
&lt;OMA&gt;
&lt;OMS name="eq" cd="relation1"/&gt;
&lt;OMA&gt;
&lt;OMS name="factorial" cd="integer1"/&gt;
&lt;OMV name="n"/&gt;
&lt;/OMA&gt;
&lt;OMA&gt;
&lt;OMS name="times" cd="arith1"/&gt;
&lt;OMV name="n"/&gt;
&lt;OMA&gt;
&lt;OMS name="factorial" cd="integer1"/&gt;
&lt;OMA&gt;
&lt;OMS name="minus" cd="arith1"/&gt;
&lt;OMV name="n"/&gt;
&lt;OMS name="one" cd="arith1"/&gt;
&lt;/OMA&gt;
&lt;/OMA&gt;
&lt;/OMA&gt;
&lt;/OMA&gt;
&lt;/OMA&gt;
&lt;/OMA&gt;
&lt;/OMOBJ&gt;</p>
      </sec>
      <sec id="sec-3-5">
        <title>In this case, it is possible to replace any particular numerical factorial by a computation, but it is impossible to replace, say n! with a de nition not involving factorials (unless one extracts some kind of Y -expression from that recursive de nition, which is mere semantic trickery).</title>
        <p>3</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>The OpenMath dilemma</title>
      <p>The notation of mathematics is incredibly varied, and new notations and
concepts are permanently being introduced. This poses problems for OpenMath's
goal of encouraging interoperability between tools, and future-proo ng of data.</p>
      <p>Equally, people have di erent views of mathematics, e.g. Real Analysis/Complex</p>
      <sec id="sec-4-1">
        <title>Analysis, and this colours people's views of what is \fundamental"</title>
        <p>4</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Kinds of FMP: 2008 Proposal</title>
      <p>At the moment, the distinction we have made above is purely informal, and there
are no clues in the CD as to the meaning of any FMP. The DefMP proposal
mentioned above suggested that some FMPs were \de ning", and should be
treated di erently. We propose a slightly weaker form: that some FMPs should
be marked, and therefore could be treated specially. More concretely, we propose
two special marks.
de ning A de ning FMP is one that can always be used as a de nition of
a symbol. An example of this is the FMP for sin mentioned above.</p>
      <sec id="sec-5-1">
        <title>In all contexts, it is legitimate to replace an occurrence of sin by the corresponding right-hand side. Such FMPs will generally begin with an eq operator, though this is not necessarily required. The following guarantees must be met by such an FMP.</title>
      </sec>
      <sec id="sec-5-2">
        <title>A symbol can have at most one of them.</title>
        <p>The replacement value must not, either directly or indirectly by a
chain of such FMPs, involve the symbol being de ned.
evaluating An evaluating FMP is one that can be used as a de nition of how
to evaluate a symbol on a concrete instance of its input argument(s). The
following guarantees must be met by such an FMP.</p>
        <p> A symbol can have at most one of them.
 The replacement value must, after a nite number of applications of
this, and any other evaluating or de ning FMPs, lead to an expression
free of the symbol being de ned, whenever the symbol is applied to
concrete instances of the correct type(s).
5</p>
        <p>The requirements for uniqueness: 2008</p>
      </sec>
      <sec id="sec-5-3">
        <title>These requirements could be seen as posing the following questions.</title>
      </sec>
      <sec id="sec-5-4">
        <title>1. Why restrict to one de ning FMP?</title>
      </sec>
      <sec id="sec-5-5">
        <title>2. Why restrict to one evaluating FMP?</title>
      </sec>
      <sec id="sec-5-6">
        <title>3. Can one have one de ning and one evaluating?</title>
        <p>The rst two are required, in JHD's opinion, to avoid any ambiguity: if there
are two de nitions of a symbol, are they proven to be consistent? Note that, in
the quote above, AMC called for greater interactions with the logic community.
It may be that, in the fullness of time, we will be able to allow two de ning
FMPs accompanied (and there is currently no mechanism for doing this) with
a machine-checkable proof of consistency.</p>
      </sec>
      <sec id="sec-5-7">
        <title>The other reason for insisting on uniqueness is that a CD-reading tool, which</title>
        <p>has come across a symbol which its base application does not know, but which
has a de ning FMP, has no choice about what to do: it replaces it by the
de nition (and recurses if necessary). Otherwise the tool has to be far more
complicated.</p>
        <p>The third question also raises the question of consistency. However, it does
not raise quite the same question of ambiguity, since such a tool would probably
use an evaluating FMP if it (knew that it) had a de nite value, and a de ning
one otherwise. Hence for the moment this proposal does not rule that out,
though this could clearly be debated.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Varieties of Theory</title>
      <sec id="sec-6-1">
        <title>Acknowledgement: This section owes much to Lars Hellstrom.</title>
      </sec>
      <sec id="sec-6-2">
        <title>As has been said before, there are multiple views of mathematics, e.g. Real</title>
        <p>Analysis/Complex Analysis. In Complex Analysis, it is natural to reduce all
elementary transcendental functions in terms of exp/log, but for Real Analysis
this is not a good idea, as it introduces complex numbers where \they aren't
needed". Furthermore, for Real Analysis, there are two competing \natural"
theories, one in terms of sin and cos and the other in terms of tan 2 .</p>
        <p>These di erent theories may each have their uses: for example Pascal would
want \sin and cos ", but a CAD system would prefer \tan 2 " as not
introducing algebraic dependencies. Neither would want \exp/log". We therefore
propose, as a development of the 2008 proposal to allow a forest of DefMPs,
rather than a tree. Speci cally, the FMP construct should also allow the
attribute theories=, with value a string which is a delimited3 list of theory names
(same syntax as operation names). No attribute would be the equivalent of
theories="default".</p>
        <p>The uniqueness requirements  above would then be interpreted per theory.
6.1</p>
        <sec id="sec-6-2-1">
          <title>Further Suggestions by Lars</title>
          <p>Also, if such names (I think the HTML class is of type NMTOKENS) can be
namespaced, then that would probably be a nice way of associating the status of FMPs
with theories. E.g. there could be
&lt;FMP type="Euclid:definition Hilbert:axiom theorem"&gt;
to mean that \this FMP is known to be a de nition in The Elements, an axiom
according to Hilbert, and a theorem in some (unspeci ed) other theory". And
the point about namespaces is that one would elsewhere have gone
&lt;CD xmlns:Euclid="some-uri" xmlns:Hilbert="some-other-uri"&gt;
to provide a stable reference to \the theory", whatever that may be. I nd the
idea appealing that the URI for the Euclid theory should be an URL for The</p>
        </sec>
      </sec>
      <sec id="sec-6-3">
        <title>Elements, but that's probably a matter for DML/MKM to hash out. :-)</title>
        <p>7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Concrete changes</title>
      <p>&lt;FMP type="defining"&gt;
in the rst case, and
&lt;FMP type="evaluating"&gt;</p>
      <sec id="sec-7-1">
        <title>We propose that &lt;FMP&gt; be allowed an attribute type, so that one could write</title>
        <p>3JHD needs some helphere. he had originally written "comma,delimited, but
spacedelimited as in NMTOKENS might be better.
in the second.</p>
        <p>There would be an optional additional attribute theories=, interpreted as
in section 6, with the uniqueness requirements  above being interpreted per
theory, which, if we adopted section 6.1, would be \per the name before the :".</p>
      </sec>
      <sec id="sec-7-2">
        <title>Existing systems could ignore these, but new systems might interpret them on the lines suggested above.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Corless</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          , Je rey,D.J. &amp;
          <string-name>
            <surname>Watt</surname>
            ,
            <given-names>S.M.</given-names>
          </string-name>
          , \
          <article-title>According to Abramowitz and Stegun"</article-title>
          .
          <source>SIGSAM Bulletin</source>
          <volume>34</volume>
          (
          <year>2000</year>
          )
          <article-title>2</article-title>
          , pp.
          <volume>58</volume>
          {
          <fpage>65</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Libbrecht</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <article-title>The Freedom to Extend OpenMath and its Utility</article-title>
          .
          <source>Mathematics in Computer Science</source>
          <volume>2</volume>
          (
          <issue>2008</issue>
          /9) pp.
          <volume>379</volume>
          {
          <fpage>398</fpage>
          . (Full Version: http://hdl.handle.net/10247/468,
          <year>2008</year>
          .)
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>