Up: Table of Contents REC-MathML-19980407

F. Content Element Definitions

F.1. About Content Markup Elements

Every content element must have a mathematical definition associated with it in some form. The purpose of this appendix is to provide default definitions. (An index to the definitions is provided later in this document.) For this release of MathML definitions have not been restricted to any one format. There are several reasons for allowing flexibility at this time.

  1. Many mathematical constructs are not yet implemented in any computation based system. However, MathML must still allow authors to associate mathematical constructs with definitions for archival purposes and so that work on such implementations can begin.
  2. The task of defining a mathematical object, and establishing an association with a particular definition does not logically depend on the existance of an implemation in a computational system. It is a perfectly legitimate mathematical activity independent of whether it is ever implemented. Providing a record of those author specified associations is integral part of the role of MathML.
  3. The task of designing a machine readable language suitable for recording semantic descriptions is an onerous one that goes substantially beyond the scope of this particular recommendation. It also overlaps substantially with efforts groups such as the OpenMath Consortium. (See also: North American OpenMath Initiative, and The European OpenMath Consortium)

The feasibilty of implementing a particular object in a particular comptational system and the details of particular implementations have very little to do with the requirement that there actually be a mathematical definition. An author's decision to use content elements is a decision to work with defined objects. The definitions may be as vague as claiming that, say F, is an unknown, but differentiable function from the real numbers to the real numbers, or as complicated as requiring that F to be an elaborate new function or operation as defined in some recent research paper. The primary role of MathML content elements is to provide a mechanism for recording the fact that a particular structure has a particular mathematical meaning. If a definition is implemented in a computational system, this is a bonus.

Of course, default definitions and semantics should be chosen to be as useful as possible. Where possible they should be already implemented or easy to implement and all other things being equal, an author would be well advised to use a definition that is in common use. This is no different from noting that most well written mathematical communications (in any format) benefit substantially from the author's use of widely used and understood terms.

A requirement that there be a definition is also very different from a requirement that a definition be provided in some specific manner. Before requiring a particular approach to definitions one needs to consider such issues as:

  1. providing a language for defining semantics.
  2. deciding if it is reasonable to require the use of such a syntax. (Authors may not have the time or expertise to provide a formal description in a new and unfamiliar language.)
  3. not being constrained by the limitations of existing computational systems.

In order to leave open the discussion of such fundamental issues we have deliberately limited the support for new or author defined definitions to support for specifying an appropriate "definitionURL.". The format of the content of that URL is unspecified. It might be the URL of a mathematical paper whose whole purpose is to define a new operator, or even a simple reference to a traditional text. If the author's mathematical operator matches exactly with an operator in a particular computational system, an appropriate definition might be a MathML semantics element establishing a correspondence between two encodings. Whatever is chosen, the only essential feature is that the definition be provided.

This rest of this appendix provides detailed descriptions of the default semantics associated with each of the MathML content elements. Since this is exactly the role intended for the encodings under development by the OpenMath Consortium and one of our goals is to foster international cooperation in suchstandardization efforts we have presented the default definitions in a format modeled on OpenMath's content dictionaries . While the actual details differ somewhat from the OpenMath specification, the underlying principles are the same and this is being used as input to ongoing discussions underway with the OpenMath Consortium aimed at ensuring that the OpenMath encodings will be capable of conveying the necessary information.

F.1.1. The Structure of an MMLdefinition.

Each MathML element is described using an XML format. The top element is MMLdefinition. The sub-elements identify the various parts of the description and include:

name
PCDATA providing the name of the MathML element.

description
A text based description of the object that an element represents. Thiscross will often include cross references to more traditional texts or papers or existing papers on the Web.

functorclass
Each MathML element must be classified according to its mathematical role.

punctuation -Some elements exist simply as an aid to parsing. For example the sep element is used to separate the CDATA defining a rational number into two parts in a manner that is easily parsed by an XML application. These objects are refered to as punctuation.

modifier -Some elements exist simply to modify the properties of an existing element or mathematical object. For example the declare construct is used to reset the default attribute values, or to associate a name with a specific instance of an object. These kinds of elements are referred to as modifiers and the result is of the same type, but with different attributes.

constructor - The remaining objects which "contain" sub-elements are all object constructors of some sort or another. They combine the sub-elements into a compound mathematical object such as a constant, set, list, or an expression representing a function application. For example, the lambda element is actually a constructor which constructs a function definition from a list of variables and an expression, while the fn element is a constructor that, in effect, sets the type of an object to function and if necessary, provides an external definition. Any use of apply produces an object of type apply whose sub-type is determined by the first operand and its properties. The signature of a constructor indicates the type of its sub-elements and the type (and sometimes subtype) of the resulting object.

function (operator) - The MathML objects represented by empty XML elements are functions or operators. These function definitions are parameterized by their XML attribute values and are used as the first argument to an apply or reln. Functions are classified according to how they are used.. For example the empty <sin/> element represents the unary mathematical function sine. In every case, element attributes may be used to further qualify the object. The <plus/> element is an nary operator. The result of using a function or operator is an expression which represents an object in a certain algebraic domain.

parameter -Another class of objects are the named parameters. For example, these named objects are used to identify bounds of integration, or differentiation variables.

MMLattribute
Some of the XML attributes of a MathML content element have a direct impact on the mathematical semantics of the object. For example the type attribute of the cn element is used to determine what type of constant (integer, real, etc.) is being constructed. Only those attributes that affect the mathematical properties of an object are listed here and typically they also appear explicitly in the signature.

signature
The signature is systematic representation which associates the different possible combinations of attributes and function arguments to the different kinds of mathematical objects that are constructed. The possible combinations of parameter and argument types (the left-hand side) each result in an object of some type (the right-hand side). It in effect describes how to resolve operator overloading.

For constructors (including parameters), the left-hand side of the signature describes the types of the child elements and the right-hand side describes the type of object that is constructed. For functions, the left-hand side of the signature indicates the types of the parameters and arguments that would be expected when it is applied, or used to construct a relation, and the right-hand side represents the mathematical type of the object constructed by the <apply>. Modifiers modify the the attributes of an existing object.. For example a symbol might become a symbol of type vector.

The signature must be able to record specific attribute values and argument types on the left, and and parameterized types on the right.. The syntax used for signatures is of the general form:

[<attribute name>=<attributevalue>]( <list of argument types> )
--> <mathematical result type>(<mathematical subtype>).

The MMLattributes, if any, appear in the form <attribute name> = <attribute value>. They are separated notationally from the rest of the arguments by square braces. The possible values are usually taken from an enumerated list, and the signature is usually affected by selection of a specific value.

For the actual function arguments and named parameters on the left, the focus is on the mathematical types involved. The function argument types are presented in a syntax similar to that used for a DTD, with the one main exception.. The types of the named parameters appear in the signature as <elementname>=<type> in a manner analogous for that used for attribute values. For example, if the argument is named (e.g., bvar) then it is represented in the signature by an equation as in:

[<attribute name>=<attributevalue>]( bvar=symbol,<argument list> ) -->
<mathematical result type>(<mathematical subtype>)

No mathematical evaluation ever takes place in MathML. Every MathML content element either refers to a defined object such as a mathematical function or it combines such objects in some way to build a new object. For purposes of the signature, the constructed object represents an object of a certain type parameterized type. For example the result of applying <plus/> to arguments is an expression which respresents a sum. The type of the resulting expression depends on the types of the operands, and the values of the MathML attributes.

example
Examples of the use of this object in MathML and possibly other syntax are included in these elements.

property
This element describes the mathematical properties of such objects.. For simple associations of values with specific instances of an object, the first child is an instance of the object being defined. The second is a value or approx (approximation) element which contains a MathML description of this particular value. More elaborate conditions on the object are expressed using the MathML syntax.

MathML Dictionary: Version 1.0
February 10, 1998


F.2. Definitions of MathML Content Elements

F.2.1. Leaf Elements

F.2.1.1. <cn>

<MMLdefinition>
<name> cn </name>
<description> 
    A numerical constant.  The mathematical type of number 
    is given as an attribute.  The default type is "real".  
    Numbers such as rational, complex or real, require two 
    parts for a complete specification.  The parts of such 
    a number are separated by an empty "sep" element.

    There are a number of pre-defined constants including:
      &pi; &Exponential; &ComplexI &true; &false; &NaN;
    the properties of some of which are outlined below.

     The &NaN; is IEEE's "Not a Number", as defined in
     IEEE 854 standard for Floating point arithmetic.
</description>
<functorclass> constant </functorclass>
<MMLattribute>
    <name> type </name>
    <value> integer | rational | complex-cartesian 
             | complex-polar | real 
    </value>
    <default> real </default>
</MMLattribute>
<MMLattribute>
    <name> base </name>
    <value> positive_integer </value>
    <default> 10 </default>
</MMLattribute>
<signature> [type=integer](numstring) -> constant(integer) </signature>
<signature> [base=basevalue](numstring) -> constant(integer) </signature> 
<signature> [type=rational](numstring,numstring) -> constant(rational) </signature>
<signature> [type=complex-cartesian](numstring,numstring) -> constant(complex) </signature>
<signature> [type=rational](numstring,numstring) -> constant(rational) </signature>
<signature> [type=real](&pi;) -> constant(real) </signature>
<signature> [definition](numstring,numstring) -> constant(userdefined) </signature>
<signature> (&gamma;) -> constant</signature>
<example> <cn> 245 </cn> </example>
<example> <cn type="integer"> 245 </cn> </example>
<example> <cn type="integer" base="16"> A </cn></example>
<example> <cn type="rational"> 245 <sep> 351 </cn> </example>
<example> <cn type="complex-cartesian"> 1 <sep/> 2 </cn> </example>
<example> <cn> 245 </cn> </example>

<property> <approx>
  <cn> &pi; </cn>  
  <cn> 3.141592654 </cn>
</approx></property>

<property> <approx>
  <cn> &gamma; </cn> 
  <cn> .5772156649 </cn>
</approx> </property>

<property> <reln><identity/>
  <cn>&ImaginaryI; </cn>
  <apply><root><cn>-1</cn><cn>2</cn></apply>
</reln>
</property>  

<property> <reln><approx>
<cn> &ExponentialE; </cn><cn>2.718281828 </cn>
</reln> </property>
<property> <apply><forall/>
  <bvar><ci type=boolean>p</ci></bvar>
 apply><and/>
    <ci>p</ci><cn>&true;</cn></apply>
    <ci>p</ci>  
  </apply>
</property>
<property> <apply><forall/>
  <bvar><ci type=boolean>p</ci></bvar>
  <apply><or/>
    <ci>p</ci><cn>&true;</cn></apply>
    <cn>&true;</cn>  
  </apply>
</property>

  <bvar><ci type=boolean>p</ci></bvar>
  <apply><or/>
    <ci>p</ci><cn>&true;</cn></apply>
    <cn>&true;</cn>  
  </apply>
</property>

<property> 
    <identity>
      <apply><not/><cn> &true; </apply>
      <cn> &false; </cn>
    </identity>
</property>

<property> <reln><identity/>
  <cn base="16"> A </cn> <cn> 10 </cn> </reln> </property>
<property> <reln><identity/>
  <cn base="16"> B </cn> <cn> 11 </cn> </reln></property>
<property> <reln><identity/>

  <cn base="16"> C </cn> <cn> 12 </cn> </reln></property>
<property> <reln><identity/>
  <cn base="16"> D </cn> <cn> 13 </cn> </reln></property>
<property> <reln><identity/>
  <cn base="16"> E </cn> <cn> 14 </cn> </reln></property>
<property> <reln><identity/>
  <cn base="16"> F </cn> <cn> 15 </cn> </reln></property>
</MMLdefinition>

F.2.1.2. <ci>

<MMLdefinition>  
<name> ci </name>  
<description>      
  A symbolic name constructor. The type attribute can 
  be set to any valid MathML type. 
</description>  
<functorclass> constructor , unary </functorclass>
<MMLattribute>          
  <name> type </name>          
  <value> constant | matrix | set | vector | list | MathMLtype </value>          
  <default> real </default>
</MMLattribute> 
<signature> ({string|mmlpresentation}) -> symbol(constant) </signature>
<signature> [type=MathMLType]({string|mmlpresentation}) -> symbol(MathMLType) </signature>
<example><ci> xyz </ci> </example>  
<example><ci> type="vector"> V </ci> </example>  
</MMLdefinition>

F.2.2. Basic Content Element

F.2.2.1. <apply>

<MMLdefinition>  
<name> apply </name>  
<description>      
  This is the MathML constructor for function application.
  The first argument is applied to the remaining arguments.
  It may be the case that some of the child elements are 
  named elements. (See the signature.)
</description>  
<functorclass> constructor , nary </functorclass>
<signature> (function,anything*) -> application </signature>
<example><apply><plus/><ci>x</ci><cn>1</cn></apply></example>  
<example><apply><sin/><ci>x</ci></apply></example>  
</MMLdefinition>

F.2.2.2. <reln>

<MMLdefinition>  
<name> reln </name>  
<description>      
  This is the MathML constructor for expressing a relation between
  two or more mathematical objects.  The first argument indicates 
  the type of "relation" between the remaining arguments. (See the signature.)
  No assumptions are made about the truth value of such a relation.
  Typically, the relation is used as a component in the construction
  of some logical assertion.   Relations may be combined into 
	 sets, etc. just like any other mathematical object.
  
</description>  
<functorclass> constructor </functorclass>
<signature> (function,anything*) -> reln </signature>
<example><reln><and/><ci>P</ci><ci>Q</ci></reln></example>
<example><reln><lt/><ci>x</ci><ci>y</ci></reln></example>  
</MMLdefinition>

F.2.2.3. <fn>

<MMLdefinition>  
<name> fn </name>  
<description>      
  This is the MathML constructor for building new function 
  names.   The "name" can be a general MathML content element.
  It identifies that object as "usable" in a function
  context.  

  By setting its definitionURL value, you can
	 associate it with a particular function definition.  

  Use the MathML Declare to associate a name with a lambda
  construct.  
</description>
<MMLattribute>
  <name>definitionURL</name>
  <value> URL </value>
  <default> none </default>
</MMLattribute>  
<functorclass> constructor </functorclass>
<signature> (anything) -> function </signature>
<signature> [definitionURL=functiondef](anything) -> 
  function(definitionURL=functiondef)
</signature>
<example><fn><ci>F</ci></fn></example>
<example><fn definitionURL="http://www.w3c/...">
  <lt/><ci>G</ci></fn>
</example>

<!--Declaring Id to be the identity function.-->

<example>
  <declare><fn><ci>Id</ci></fn><lambda><ci>x</ci><ci>x</ci></declare>
</example>
</MMLdefinition>

F.2.2.4. <interval>

<MMLdefinition>  
<name> interval </name>  
<description>      
  This is the MathML constructor element for building an interval
  on the real line.  While an interval could be expressed by 
  combining relations appropriately, they occur explicitly because 
  of their frequence of occurrence in common use.
</description>
<MMLattribute>
  <name>type</name>
  <value> closed | open | open-closed | closed-open </value>
  <default> closed </default>
</MMLattribute>  
<functorclass> constructor , binary </functorclass>
<signature> [type=intervaltype](expression,expression) -> interval </signature>
<example><reln><and/><ci>x</ci><cn>1</cn></reln></example>
<example><reln><lt/><ci>x</ci></reln></example>  
</MMLdefinition>

F.2.2.5. <inverse>

<MMLdefinition>  
<name> inverse </name>  
<description>      
  This MathML element is applied to a function in order to
  construct a new function that is to be interpreted as the
  inverse function of the original function.  For a particular 
  function F,  inverse(F) composed with F behaves like the 
  identity map on the domain of F and F composed with inverse(F)
  should be an identity function on a suitably restricted 
  subset of the Range of F.

  The MathML definitionURL attribute should be used to resolve 
	 notational ambiguities, or to restrict the inverse to a
  particular domain or make it one-sided. 
</description>  
<MMLattribute>
  <name>definitionURL</name>
  <value> CDATA </value>
  <default> none </default>

<!--none corresponds to using the default MathML definition ...-->

</MMLattribute>  
<functorclass> operator, unary </functorclass>
<signature> (function) -> function </signature>
<signature> [definitionURL=URL](function) -> 
    function(definition) </signature>
<example><apply><inverse/><sin/></apply></example>
<example>
  <apply>
  <inverse definitionURL="www.w3c.org/MathML/Content/arcsin"/>
  <sin/>
  </apply>
</example>
<property><apply><forall/>
  <bvar><ci>y</ci></bvar>
  <apply><sin/>
    <apply>
      <apply><inverse/><sin/></apply>
      <ci>y</ci>
    </apply>
  </apply>
  <value><ci>y</ci></value>
</apply>
</property>
<property>
<apply>
  <apply><inverse/><sin/></apply>
  <apply>
    <sin/>
    <ci>x</ci>
  </apply>
</apply>
<value><ci>x</ci></value>
</property>
<property>F(inverse(F)(y))<value>y</value></property>  
</MathMLdefinition>

F.2.2.6. <sep>

<MathMLdefinition>  
<name> sep </name>  
<description>      
  This is the MathML infix constructor used to sub-divide PCDATA into
  separate components. for example, this is used in the description of
  a multipart number such as a rational or a complex number.
</description>  
<functorclass> punctuation </functorclass>
<example><cn type="complex-polar">123<sep/>456</cn></example>
<example><cn>123</cn></example>  
</MathMLdefinition>

F.2.2.7. <condition>

<MathMLdefinition>  
<name> condition </name>  
<description>      
  This is the MathML constructor for building conditions. 
  A condition differs from a relation in how it is used.
  A relation is simply an expression, while a condition
  is  used as a predicate to place a conditions on a bound 
  variables.  

  For a compound condition use relations or apply
  operators such as "and" or "or" or a set of 
  relations).  
</description>  
<functorclass> constructor, unary </functorclass>
<signature> ({reln|apply|set}) -> predicate </signature>
<example>
<condition>
  <reln><lt/>
    <apply><power/>
      <ci>x</ci><cn>5</cn>
    </apply>
    <cn>3</cn>
  </reln>
</condition>
</example>
</MathMLdefinition>

F.2.2.8. <declare>

<MathMLdefinition>  
<name> declare </name>  
<description>      
  This is the MathML constructor for redefining the properties and
  values with mathematical objects.  For example V may be a name
  delcared to be a vector, or V may be a name which stands for a 
  particular vector.

  The attribute values of the declare statement are assigned as the
  corresponding default attribute values of the first object.
  
</description>  
<functorclass> modifier , (unary | binary) </functorclass>
<MMLattribute>
<name>definitionURL</definition>
<value> Any valid URL </value>
</MMLattribute>
<MMLattribute>
<name>type</name><value> MathMLType </value>
</MMLattribute>
<MMLattribute>
<name>nargs</name><value> number of arguments for an object of type fn </value>
</MMLattribute>

<signature> [attributename=attributevalue](anything) 
-> anything(attributevalue) </signature> <!-- The two argument form updates the properties of the first object to be those of the second. The attribute values override the properties of the "value". --> <signature> [attributename=attributevalue](anything,anything)
-> anything(attributevalue) </signature> <example><reln><and/><ci>x</ci><cn>1</cn></reln></example> <example><reln><lt/><ci>x</ci></reln></example> </MathMLdefinition>

F.2.2.9. <lambda>

<MathMLdefinition>
  <name> lambda </name>
  <description> The operation of lambda calculus that makes a
  function from an expression and a variable.  The definition
  at this level uses only one variable.  Lambda is a binary
  function, where the first argument is the variable and
  the second argument is a the expression.
  Lambda( x, F ) is written as \lambda x [F] in the lambda
  calculus literature.
  The lambda function can be viewed as the inverse of function
  application.

  Although the expression F may contain x, the lambda expression
  is interpreted to be free of x.  That is, the x variable is
  a variable local to the environment of the definition of
  the function or operator.  Formally, lambda(x,F) is free of
  x, and any substitutions, evaluations or tests for x in
  lambda(x,F) should not happen.

  A lambda expression on an arbitrary function applied to a
  simple argument is equivalent to the arbitrary function.
  E.g.  lambda(x, f(x)) == f.  This is a common shortcut.

</description>
  <functorclass> Nary , Constructor </functorclass>
  <property>
    <lambda><ci>x</ci>
      <apply><fn><ci>F</ci></fn><ci>x</ci></apply>
    </lambda>
     <value> <fn><ci>F</ci></fn> </value>
  </property>

<!-- Constructing a variant of the sine function -->

   <example>
      <lambda>
        <ci> x </ci> 
        <apply><sin/>
          <apply><plus/>
            <ci> x </ci>
            <cn> 3 </cn>
        </apply>
      </lambda>
   </example>

<!-- the identity operator  -->

  <example>
    <lambda><ci> x </ci> <ci> x </ci> </lambda> 
  </example>

  <property>
  <reln><identity/>
    <lambda><ci>x</ci>
      <apply><fn><ci>F</ci></fn><ci>x</ci></apply>
    </lambda>
    <fn><ci>F</ci></fn> 
  </reln>
  </property>
<MathMLdefinition> 
 

F.2.2.10. <compose/>

<MathMLdefinition>  
<name> compose </name>  
<description>      
  This is the MathML constructor for composing functions. 
  In order for a composition to be meaningful, the range of
  the first function must be the domain of the second function,
  etc.  .

  The result is a new function whose domain is the domain of
  the first function and whose range is the range of the last
  function and whose definition is equivalent to applying
  each function to the previous outcome in turn as in:

  (f @ g )( x )   ==  f( g(x) ).

	This function is often denoted by a small circle infix 
 operator.
</description>  

<functorclass> Nary , Operator </functorclass>

<signature> (fn*) -> fn </signature>

<example>
<apply><compose/>
       <fn><ci> f </ci></fn>
       <fn><ci> g </ci></fn>
     </apply></example>

<property>
<apply><forall>
  <bvar><ci>x</ci></bvar>
  <reln><eq/>
    <apply>
      <apply><compose/>
        <ci>f</ci>
        <ci>g</ci>
      </apply>
      <ci>x</ci>
    </apply>
    <apply><ci>f</ci>
      <apply><ci>g</ci>
        <ci>x</ci>
      </apply>
    </apply>
  </reln>
</apply>    
</property>
</MathMLdefinition>

F.2.2.11. <ident/>

<MathMLdefinition>  
<name> ident </name>  
<description>      
  This is the MathML constructor for the identity function. 
  This function has the property that 

       f( x ) = x,  for all x in its domain.

</description>  

<functorclass> Nary , Operator </functorclass>

<signature> (symbol) -> symbol </signature>

<example>
<apply><ident/>
       <ci> f </ci>
       <ci> x </ci>
</apply>
</example>

<property>
<apply><forall>
  <bvar><ci>x</ci></bvar>
  <reln><eq/>
    <apply><ident/>
        <ci>f</ci>
        <ci>x</ci>
    </apply>
    <ci>x</ci>
    </reln>
</apply>    
</property>
</MathMLdefinition>

F.2.3. Arithmetic, Algebra and Logic

F.2.3.1. <quotient/>

<MMLdefinition>
<name> quotient </name>
    <description> Integer quotient, the result of integer
      division.  For arguments a and b, it returns q,
      where a = b*q+r,  |r| < |b|  and  a*r &ge; 0  (or
      the sign of r is the same as the sign of a).
     </description>
       <functorclass> Binary, Function </functorclass>
       <signature> (integer, integer) -> integer </signature>
       <signature> (symbolic, symbolic) -> symbolic </signature>
    
<!--
ForAll(bvar(a,b),identity(a ,b*Quotient(a,b) + Remainder(a,b))  
-->
       <property>
       <apply><forall/>
         <bvar><ci>a</ci></bvar>
         <bvar><ci>b</ci></bvar>
         <reln/><eq/>
             <ci>a</ci>
             <apply><plus/>
               <apply><times/>
                 <ci>b</ci>
                 <apply><quotient/><ci>a</ci><ci>b</ci></apply>
               </apply>
               <apply><rem/><ci>a</ci><ci>b</ci></apply>
             </apply>
         <reln>
       </apply>
       </property>

     <!-- 1 = quotient(5,4) -->

     <property>
      <apply><identity/>
        <apply><quotient/>
          <ci>5</ci>
          <ci>4</ci>
        </apply>
        <ci>1</ci>
     <apply>
     </property>
</MMLdefinition>

F.2.3.2. <exp/>

<MMLdefinition>
  <name> exp </name>
    <description> The exponential function.
            <Reference> M. Abramowitz and I. Stegun, Handbook of
                Mathematical Functions, [4.2]
            </Reference>
    </description>
        <functorclass> Unary, Function </functorclass>
        <signature> real -> real </signature>
        <signature> symbolic -> symbolic </signature>
        <property><reln><eq/>
          <apply><exp/><cn>0</cn></apply>
          <cn>1</cn></reln>
        </property>
        <property><apply><identity/>
          <apply><exp/><ci>x</ci></apply>
          <apply><power/>
            <cn>ExponentialE;</cn><ci>x</ci>
          </apply>
        </apply>
        </property>
        <property> exp(x) = limit( (1+x/n)^n, n, infinity ) </property>

</MMLdefinition>

F.2.3.3. <factorial/>

<MMLdefinition>
  <name>
    factorial
  </name>
  <description>
    This element is used to construct factorials
    as in n! = n * (n-1) * (n-2 ) ... 1 .
  </description>
  <functorclass> Unary , function </functorclass>
  <signature> ( algebraic ) -> algebraic </signature>
  <example> <apply><factorial/><ci>n</ci></apply> </example>
  
  <!-- for all n > 0, n! = n*(n-1)! -->   

  <property><apply><forall/>
    <bvar><ci>n<ci></bvar>
    <condition>
      <reln><gt/><ci>n</ci><cn>0</cn></reln>
    </condition> 
    <reln><eq/>
      <apply><factorial/><ci>n</ci></apply>
      <apply><times/>
        <ci>n</ci>
        <apply><factorial/>
          <apply><minus/><ci>n</ci><cn>1</cn></apply>
        </apply>
      </apply>
    </reln>
  </property>
  </MMLdefinition>

F.2.3.4. <divide/>

<MMLdefinition>
  <name> divide </name>
  <description>
    The MathML operator that is used to construct 
    a "divided by" b.  If a and b are from an algebraic
    domain with a non-commutative times then this is defined 
    as a * (b)^(-1).  The result is from the same algebraic
    domain as the operands.
  </description>
  <MMLattribute>
    <name> type </name>
    <value> non-commutative </name>
    <default> none </default>
  </MMLattribute>
  <functorclass> binary , function </functorclass>
  <signature> (complex, complex) -> complex </signature>
  <signature> (real, real) -> real </signature>
  <signature> (rational, rational) -> rational </signature>
  <signature> (integer, integer) -> rational </signature>
  <signature> (symbolic, symbolic) -> symbolic </signature>
  <example>
    <apply> <divide/>
     <ci> a </ci>
     <ci> b </ci>
    </apply>  
  </example>
  <property> 
    <apply><forall/>
      <bvar>a</bvar>
      <reln><eq/>
      <apply> <divide/>
        <ci> a </ci>
        <ci> 0 </ci>
      <ci>Error, Division by 0</ci>
    </apply>   
  </property>
  </MMLdefinition>

F.2.3.5. <max/>

<MMLdefinition>
  <name> max  </name>
  <description>
    Represent the maximum of a set of elements.  The elements 
    may be given explicitly or described by membership in
    some set.  To be well defined, the elements must all be
    comparable.    </description>
  <functorclass> function </functorclass>
  <signature> ( ordered_set_element * ) -> ordered_set_element </signature>
  <signature> ( condition ) ->  ordered_set_element </signature>
  <example>
    <apply><max/><cn>2</cn><cn>3</cn> <cn>5</cn> </apply> 
  </example>
  <example>
    <apply><max/>
       <condition>
         <bvar><ci>x</ci></bvar>
         <reln> <notin/>
           <ci> x </ci>
           <ci type="set"> B </ci>
         </reln>
       </condition>
     </apply>
  </example>
  </MMLdefinition>

F.2.3.6. <min/>

<MMLdefinition>
  <name> min  </name>
  <description>
    Represent the minimum of a set of elements.  The elements 
    may be given explicitly or described by membership in
    some set.  To be well defined, the elements must all be
    comparable.    </description>
  <functorclass> function </functorclass>
  <signature> ( ordered_set_element * ) -> ordered_set_element </signature>
  <signature> ( condition ) ->  ordered_set_element </signature>
  <example>
    <apply><min/><cn>2</cn><cn>3</cn> <cn>5</cn> </apply> 
  </example>
  <example>
    <apply><min/>
       <condition>
         <bvar><ci>x</ci></bvar>
         <reln> <notin/>
           <ci> x </ci>
           <ci type="set"> B </ci>
         </reln>
       </condition>
     </apply>
  </example>
  </MMLdefinition>

F.2.3.7. <minus/>

<MMLdefinition>
  <name> minus  </name>
  <description>
    The subtraction operator of a group.  </description>
  <MMLattribute>
    <name> definitionURL </name>
    <value> URL </name>
    <default> none </default>
  </MMLattribute>
  <functorclass>
    Operator , (Unary | Binary ) 
  </functorclass>
  <signature>(real,real) -> real</signature>
  <signature>(integer,integer) -> integer</signature>
  <signature>(rational,rational) -> rational</signature>
  <signature>(complex,complex) -> complex</signature>

<!-- 
  Note that complex-cartesian is a data input format, 
  but the resulting data type is complex. ! 
-->

  <signature> (vector,vector) -> vector</signature>
  <signature>(matrix,matrix) -> matrix</signature>
  <signature>(real) -> real </signature>
  <signature>(integer) -> integer </signature>
  <signature>(complex) -> complex </signature>
  <signature>(rational) -> rational </signature>
  <signature>(vector) -> vector </signature>
  <signature>(matrix) -> matrix </signature>
 <example>
    <apply><minus/><cn>3</cn><cn>5</cn></apply>  
 </example>
 <example>
    <apply><minus/><cn>3</cn></apply>  
 </example> 

<!-- Definition of the unary operator (-1) = -( 1 ) -->

<property>  
    <reln><eq/>
       <bvar><ci>n</ci>
       <apply><minus/><cn>1</cn></apply>
       <cn>-1</cn>
    </reln>
  </property>
  </MMLdefinition>

F.2.3.8. <plus/>

<MMLdefinition>
<name> plus </name>
<description> The N-ary addition operator of an 
algebraic structure. 
 
If no operands are provided, the expression represents  
the additive identity. 

If one operand a is provided, the expression represents 
a.

If two or more operands are provided, the expression
represents the group element corresponding to a left
associative binary pairing of the operands.
Issues with regard to the "value" of mixed operands
are left up to the target system.  If the author wishes
to refer to specific type coercion rules, then 
the definitionURL attribute should be used to refer
to a suitable specification.
</description>

<functorclass>  Operator , Nary </functorclass>
<signature>(real,real) -> real</signature>
<signature>(integer,integer) -> integer</signature>
<signature>(rational,rational) -> rational</signature>
<signature> (vector,vector) -> vector</signature>
<signature>(matrix,matrix) -> matrix</signature>
<signature>(complex,complex) -> complex</signature>
<signature>(symbolic,symbolic) -> symbolic </signature>

<signature> real -> real </signature>
<signature> rational -> rational </signature>
<signature> integer -> integer </signature>
<signature> symbolic -> symbolic </signature>
<signature>(real) -> real </signature>
<signature>(integer) -> integer </signature>
<signature>(complex) -> complex </signature>
<signature>(rational) -> rational </signature>
<signature>(vector) -> vector </signature>
<signature>(matrix) -> matrix </signature>

<example><apply><plus/><cn>3</cn></apply></example>
<example><apply><plus/><cn>3</cn><cn>5</cn></apply></example>
<example><apply><plus/><cn>3</cn><cn>5</cn><cn>7</cn></apply></example>

<!-- The properties for more restricted algebraic structures should
be defined using a definitionURL
-->

<property> +() = 0 </property>
<property> +(a) = a </property>
<property> ForAll(a,Commutative, a + b = b + a)</property>
</MMLdefinition>

F.2.3.9. <power/>

<MMLdefinition>
<name> power </name>
<description> The powering operator </description>
<functorclass> binary, operator </functorclass>
<signature> (complex complex) -> complex </signature>
<signature> (real real) -> complex </signature>
<signature> (rational rational) -> complex </signature>
<signature> (rational integer) -> rational </signature>
<signature> (integer integer) -> rational </signature>
<signature> (symbolic symbolic) -> symbolic </signature>
<property> ForAll(a,Condition(a<>0),a^0=1) </property>
<property> ForAll(a,a^1=a) </property>
<property> ForAll(a,1^a=1) </property>
<property>ForAll(a,0^0=Undefined)</property>
    </MMLdefinition>

F.2.3.10. <rem/>

<MMLdefinition>
<name> rem </name>
<description> Integer remainder, the result of integer
division.  For arguments a and b, it returns r,
where a = b*q+r,  |r| < |b|  and  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign of a <  a*r &ge; 0  (the
sign of r is the same as the sign