OpenMath Content Dictionary: arith1 
            
               
                  Canonical URL: 
                
               
                  http://www.openmath.org/cd/arith1.ocd 
                
               
                  CD Base: 
                
               
                  http://www.openmath.org/cd 
                
               
                  CD File: 
                
               
                  arith1.ocd
       
                
               
                  CD as XML Encoded OpenMath: 
                
               
                  arith1.omcd
       
                
               
                  Defines: 
                
               
                  abs , divide , gcd , lcm , minus , plus , power , product , root , sum , times , unary_minus 
                
               
                  Date: 
                
               2004-03-30 
               
                  Version: 
                
               3
    (Revision 1)
   
               
                  Review Date: 
                
               2006-03-30 
               
                  Status: 
                
               official 
             
            
     This document is distributed in the hope that it will be useful, 
     but WITHOUT ANY WARRANTY; without even the implied warranty of 
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     The copyright holder grants you permission to redistribute this 
     document freely as a verbatim copy. Furthermore, the copyright
     holder permits you to develop any derived work from this document
     provided that the following conditions are met.
       a) The derived work acknowledges the fact that it is derived from
          this document, and maintains a prominent reference in the 
          work to the original source.
       b) The fact that the derived work is not the original OpenMath 
          document is stated prominently in the derived work.  Moreover if
          both this document and the derived work are Content Dictionaries
          then the derived work must include a different CDName element,
          chosen so that it cannot be confused with any works adopted by
          the OpenMath Society.  In particular, if there is a Content 
          Dictionary Group whose name is, for example, `math' containing
          Content Dictionaries named `math1', `math2' etc., then you should 
          not name a derived Content Dictionary `mathN' where N is an integer.
          However you are free to name it `private_mathN' or some such.  This
          is because the names `mathN' may be used by the OpenMath Society
          for future extensions.
       c) The derived work is distributed under terms that allow the
          compilation of derived works, but keep paragraphs a) and b)
          intact.  The simplest way to do this is to distribute the derived
          work under the OpenMath license, but this is not a requirement.
     If you have questions about this license please contact the OpenMath
     society at http://www.openmath.org .
 
            
  Author: OpenMath Consortium
  SourceURL: https://github.com/OpenMath/CDs 
             
             
This CD defines symbols for common arithmetic functions.
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
The symbol to represent the n-ary function to return the least common
multiple of its arguments.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                lcm(a,b) = a*b/gcd(a,b)  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA>
      <OMS cd="arith1" name="lcm"/>
      <OMV name="a"/>
      <OMV name="b"/>
    </OMA>
    <OMA>
      <OMS cd="arith1" name="divide"/>
      <OMA>
        <OMS cd="arith1" name="times"/>
	<OMV name="a"/>
	<OMV name="b"/>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="gcd"/>
        <OMV name="a"/>
        <OMV name="b"/>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="arith1">lcm</csymbol><ci>a</ci><ci>b</ci></apply>
  <apply><csymbol cd="arith1">divide</csymbol>
   <apply><csymbol cd="arith1">times</csymbol><ci>a</ci><ci>b</ci></apply>
   <apply><csymbol cd="arith1">gcd</csymbol><ci>a</ci><ci>b</ci></apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  arith1.lcm($a, $b) = ($a * $b) / arith1.gcd($a, $b)
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    lcm 
                                     
                                    
                                       ( 
                                       a 
                                       , 
                                       b 
                                       ) 
                                     
                                  
                                 = 
                                 
                                    
                                       a 
                                        
                                       b 
                                     
                                    
                                       gcd 
                                        
                                       
                                          ( 
                                          a 
                                          , 
                                          b 
                                          ) 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
for all integers a,b |
There does not exist a c>0 such that c/a is an Integer and c/b is an
Integer and lcm(a,b) > c.
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="a"/>
    <OMV name="b"/>
  </OMBVAR>
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMA>
      <OMS cd="logic1" name="and"/>
      <OMA>
        <OMS cd="set1" name="in"/>
	<OMV name="a"/>
	<OMS cd="setname1" name="Z"/>
      </OMA>
      <OMA>
        <OMS cd="set1" name="in"/>
	<OMV name="b"/>
	<OMS cd="setname1" name="Z"/>
      </OMA>
    </OMA>
    <OMA>
      <OMS cd="logic1" name="not"/>
      <OMBIND>
        <OMS cd="quant1" name="exists"/>
        <OMBVAR>
          <OMV name="c"/>
        </OMBVAR>
        <OMA>
          <OMS cd="logic1" name="and"/>
          <OMA>
            <OMS cd="relation1" name="gt"/>
              <OMV name="c"/>
              <OMI>0</OMI>
          </OMA>
          <OMA>
            <OMS cd="integer1" name="factorof"/>
              <OMV name="a"/>
              <OMV name="c"/>
          </OMA>
          <OMA>
            <OMS cd="integer1" name="factorof"/>
              <OMV name="b"/>
              <OMV name="c"/>
          </OMA>
          <OMA>
            <OMS cd="relation1" name="lt"/>
            <OMV name="c"/>
            <OMA>
              <OMS cd="arith1" name="lcm"/>
              <OMV name="a"/>
              <OMV name="b"/>
            </OMA>
          </OMA>
        </OMA>
      </OMBIND>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>b</ci></bvar>
  <apply><csymbol cd="logic1">implies</csymbol>
   <apply><csymbol cd="logic1">and</csymbol>
    <apply><csymbol cd="set1">in</csymbol><ci>a</ci><csymbol cd="setname1">Z</csymbol></apply>
    <apply><csymbol cd="set1">in</csymbol><ci>b</ci><csymbol cd="setname1">Z</csymbol></apply>
   </apply>
   <apply><csymbol cd="logic1">not</csymbol>
    <bind><csymbol cd="quant1">exists</csymbol>
     <bvar><ci>c</ci></bvar>
     <apply><csymbol cd="logic1">and</csymbol>
      <apply><csymbol cd="relation1">gt</csymbol><ci>c</ci><cn type="integer">0</cn></apply>
      <apply><csymbol cd="integer1">factorof</csymbol><ci>a</ci><ci>c</ci></apply>
      <apply><csymbol cd="integer1">factorof</csymbol><ci>b</ci><ci>c</ci></apply>
      <apply><csymbol cd="relation1">lt</csymbol>
       <ci>c</ci>
       <apply><csymbol cd="arith1">lcm</csymbol><ci>a</ci><ci>b</ci></apply>
      </apply>
     </apply>
    </bind>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                     forall 
  [
     
a 
                     b 
  ] .
  (
implies 
  (
and 
  (
in 
  ( 
a , 
Z )
, 
in 
  ( 
b , 
Z )
)
, 
not 
  (
exists 
  [
           
c 
        ] .
  (
and 
  (
gt 
  ( 
c , 0)
, 
factorof 
  ( 
a ,  
c )
, 
factorof 
  ( 
b ,  
c )
, 
lt 
  ( 
c , 
lcm 
  ( 
a ,  
b )
)
)
)
)
)
)
 
                  
                     Popcorn 
                     
quant1.forall[$a, $b -> set1.in($a, setname1.Z) and set1.in($b, setname1.Z) ==>  not(quant1.exists[$c -> $c > 0 and integer1.factorof($a, $c) and integer1.factorof($b, $c) and $c < arith1.lcm($a, $b)])]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    a 
                                    , 
                                    b 
                                  
                                 . 
                                 
                                    
                                       
                                          a 
                                          ∈ 
                                          Z 
                                        
                                       ∧ 
                                       
                                          b 
                                          ∈ 
                                          Z 
                                        
                                     
                                    ⇒ 
                                    ¬ 
                                    
                                       ∃ 
                                         
                                       
                                          c 
                                        
                                       . 
                                       
                                          
                                             c 
                                             > 
                                             0 
                                           
                                          ∧ 
                                          
                                             factorof 
                                              
                                             
                                                ( 
                                                a 
                                                , 
                                                c 
                                                ) 
                                              
                                           
                                          ∧ 
                                          
                                             factorof 
                                              
                                             
                                                ( 
                                                b 
                                                , 
                                                c 
                                                ) 
                                              
                                           
                                          ∧ 
                                          
                                             c 
                                             < 
                                             
                                                lcm 
                                                 
                                                
                                                   ( 
                                                   a 
                                                   , 
                                                   b 
                                                   ) 
                                                 
                                              
                                           
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
The symbol to represent the n-ary function to return the gcd (greatest
common divisor) of its arguments.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
for all integers a,b |
There does not exist a c such that a/c is an Integer and b/c is an
Integer and c > gcd(a,b).
Note that this implies that gcd(a,b) > 0
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="a"/>
    <OMV name="b"/>
  </OMBVAR>
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMA>
      <OMS cd="logic1" name="and"/>
      <OMA>
        <OMS cd="set1" name="in"/>
	<OMV name="a"/>
	<OMS cd="setname1" name="Z"/>
      </OMA>
      <OMA>
        <OMS cd="set1" name="in"/>
	<OMV name="b"/>
	<OMS cd="setname1" name="Z"/>
      </OMA>
    </OMA>
    <OMA>
      <OMS cd="logic1" name="not"/>
      <OMBIND>
        <OMS cd="quant1" name="exists"/>
        <OMBVAR>
          <OMV name="c"/>
        </OMBVAR>
        <OMA>
          <OMS cd="logic1" name="and"/>
          <OMA>
            <OMS cd="set1" name="in"/>
            <OMA>
              <OMS cd="arith1" name="divide"/>
              <OMV name="a"/>
              <OMV name="c"/>
            </OMA>
            <OMS cd="setname1" name="Z"/>
          </OMA>
          <OMA>
            <OMS cd="set1" name="in"/>
            <OMA>
              <OMS cd="arith1" name="divide"/>
              <OMV name="b"/>
              <OMV name="c"/>
            </OMA>
            <OMS cd="setname1" name="Z"/>
          </OMA>
          <OMA>
            <OMS cd="relation1" name="gt"/>
            <OMV name="c"/>
            <OMA>
              <OMS cd="arith1" name="gcd"/>
              <OMV name="a"/>
              <OMV name="b"/>
            </OMA>
          </OMA>
        </OMA>
      </OMBIND>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>b</ci></bvar>
  <apply><csymbol cd="logic1">implies</csymbol>
   <apply><csymbol cd="logic1">and</csymbol>
    <apply><csymbol cd="set1">in</csymbol><ci>a</ci><csymbol cd="setname1">Z</csymbol></apply>
    <apply><csymbol cd="set1">in</csymbol><ci>b</ci><csymbol cd="setname1">Z</csymbol></apply>
   </apply>
   <apply><csymbol cd="logic1">not</csymbol>
    <bind><csymbol cd="quant1">exists</csymbol>
     <bvar><ci>c</ci></bvar>
     <apply><csymbol cd="logic1">and</csymbol>
      <apply><csymbol cd="set1">in</csymbol>
       <apply><csymbol cd="arith1">divide</csymbol><ci>a</ci><ci>c</ci></apply>
       <csymbol cd="setname1">Z</csymbol>
      </apply>
      <apply><csymbol cd="set1">in</csymbol>
       <apply><csymbol cd="arith1">divide</csymbol><ci>b</ci><ci>c</ci></apply>
       <csymbol cd="setname1">Z</csymbol>
      </apply>
      <apply><csymbol cd="relation1">gt</csymbol>
       <ci>c</ci>
       <apply><csymbol cd="arith1">gcd</csymbol><ci>a</ci><ci>b</ci></apply>
      </apply>
     </apply>
    </bind>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                     forall 
  [
     
a 
                     b 
  ] .
  (
implies 
  (
and 
  (
in 
  ( 
a , 
Z )
, 
in 
  ( 
b , 
Z )
)
, 
not 
  (
exists 
  [
           
c 
        ] .
  (
and 
  (
in 
  (
divide 
  ( 
a ,  
c )
, 
Z )
, 
in 
  (
divide 
  ( 
b ,  
c )
, 
Z )
, 
gt 
  ( 
c , 
gcd 
  ( 
a ,  
b )
)
)
)
)
)
)
 
                  
                     Popcorn 
                     
quant1.forall[$a, $b -> set1.in($a, setname1.Z) and set1.in($b, setname1.Z) ==>  not(quant1.exists[$c -> set1.in($a / $c, setname1.Z) and set1.in($b / $c, setname1.Z) and $c > arith1.gcd($a, $b)])]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    a 
                                    , 
                                    b 
                                  
                                 . 
                                 
                                    
                                       
                                          a 
                                          ∈ 
                                          Z 
                                        
                                       ∧ 
                                       
                                          b 
                                          ∈ 
                                          Z 
                                        
                                     
                                    ⇒ 
                                    ¬ 
                                    
                                       ∃ 
                                         
                                       
                                          c 
                                        
                                       . 
                                       
                                          
                                             
                                                a 
                                                c 
                                              
                                             ∈ 
                                             Z 
                                           
                                          ∧ 
                                          
                                             
                                                b 
                                                c 
                                              
                                             ∈ 
                                             Z 
                                           
                                          ∧ 
                                          
                                             c 
                                             > 
                                             
                                                gcd 
                                                 
                                                
                                                   ( 
                                                   a 
                                                   , 
                                                   b 
                                                   ) 
                                                 
                                              
                                           
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Example: 
                
               
gcd(6,9) = 3
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA>
      <OMS cd="arith1" name="gcd"/>
      <OMI> 6 </OMI>
      <OMI> 9 </OMI>
    </OMA>
    <OMI> 3 </OMI>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="arith1">gcd</csymbol>
   <cn type="integer">6</cn>
   <cn type="integer">9</cn>
  </apply>
  <cn type="integer">3</cn>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  arith1.gcd(6, 9) = 3
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                  
The symbol representing an n-ary commutative function plus.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all a,b | a + b = b + a  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMBIND>
    <OMS cd="quant1" name="forall"/>
    <OMBVAR>
       <OMV name="a"/>
       <OMV name="b"/>
    </OMBVAR>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="arith1" name="plus"/>
        <OMV name="a"/>
        <OMV name="b"/>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="plus"/>
        <OMV name="b"/>
        <OMV name="a"/>
      </OMA>
    </OMA>
  </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>b</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">plus</csymbol><ci>a</ci><ci>b</ci></apply>
   <apply><csymbol cd="arith1">plus</csymbol><ci>b</ci><ci>a</ci></apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  quant1.forall[$a, $b -> $a + $b = $b + $a]
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
This symbol denotes unary minus, i.e. the additive inverse.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all a | a + (-a) = 0  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMBIND>
    <OMS cd="quant1" name="forall"/>
    <OMBVAR>
       <OMV name="a"/>
    </OMBVAR>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="arith1" name="plus"/>
        <OMV name="a"/>
        <OMA>
           <OMS cd="arith1" name="unary_minus"/>
           <OMV name="a"/>
        </OMA>
      </OMA>
      <OMS cd="alg1" name="zero"/>
    </OMA>
  </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">plus</csymbol>
    <ci>a</ci>
    <apply><csymbol cd="arith1">unary_minus</csymbol><ci>a</ci></apply>
   </apply>
   <csymbol cd="alg1">zero</csymbol>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  quant1.forall[$a -> $a +  -($a) = alg1.zero]
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
The symbol representing a binary minus function. This is equivalent to
adding the additive inverse.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all a,b | a - b = a + (-b)  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMBIND>
    <OMS cd="quant1" name="forall"/>
    <OMBVAR>
       <OMV name="a"/>
       <OMV name="b"/>
    </OMBVAR>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="arith1" name="minus"/>
        <OMV name="a"/>
        <OMV name="b"/>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="plus"/>
        <OMV name="a"/>
        <OMA>
          <OMS cd="arith1" name="unary_minus"/>
          <OMV name="b"/>
        </OMA>
      </OMA>
    </OMA>
  </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>b</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">minus</csymbol><ci>a</ci><ci>b</ci></apply>
   <apply><csymbol cd="arith1">plus</csymbol>
    <ci>a</ci>
    <apply><csymbol cd="arith1">unary_minus</csymbol><ci>b</ci></apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  quant1.forall[$a, $b -> $a - $b = $a +  -($b)]
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
The symbol representing an n-ary multiplication function.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA>
  <OMS cd="relation1" name="eq"/>
  <OMA>
    <OMS cd="arith1" name="times"/>
    <OMA>
      <OMS cd="linalg2" name="matrix"/>
      <OMA>
        <OMS cd="linalg2" name="matrixrow"/>
        <OMI> 1 </OMI>
        <OMI> 2 </OMI>
      </OMA>
      <OMA>
        <OMS cd="linalg2" name="matrixrow"/>
        <OMI> 3 </OMI>
        <OMI> 4 </OMI>
      </OMA>
    </OMA>
    <OMA>
      <OMS cd="linalg2" name="matrix"/>
      <OMA>
        <OMS cd="linalg2" name="matrixrow"/>
        <OMI> 5 </OMI>
        <OMI> 6 </OMI>
      </OMA>
      <OMA>
        <OMS cd="linalg2" name="matrixrow"/>
        <OMI> 7 </OMI>
        <OMI> 8 </OMI>
      </OMA>
    </OMA>
  </OMA>
  <OMA>
    <OMS cd="linalg2" name="matrix"/>
    <OMA>
      <OMS cd="linalg2" name="matrixrow"/>
      <OMI> 19 </OMI>
      <OMI> 22 </OMI>
    </OMA>
    <OMA>
      <OMS cd="linalg2" name="matrixrow"/>
      <OMI> 43 </OMI>
      <OMI> 50 </OMI>
    </OMA>
  </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="arith1">times</csymbol>
   <apply><csymbol cd="linalg2">matrix</csymbol>
    <apply><csymbol cd="linalg2">matrixrow</csymbol>
     <cn type="integer">1</cn>
     <cn type="integer">2</cn>
    </apply>
    <apply><csymbol cd="linalg2">matrixrow</csymbol>
     <cn type="integer">3</cn>
     <cn type="integer">4</cn>
    </apply>
   </apply>
   <apply><csymbol cd="linalg2">matrix</csymbol>
    <apply><csymbol cd="linalg2">matrixrow</csymbol>
     <cn type="integer">5</cn>
     <cn type="integer">6</cn>
    </apply>
    <apply><csymbol cd="linalg2">matrixrow</csymbol>
     <cn type="integer">7</cn>
     <cn type="integer">8</cn>
    </apply>
   </apply>
  </apply>
  <apply><csymbol cd="linalg2">matrix</csymbol>
   <apply><csymbol cd="linalg2">matrixrow</csymbol>
    <cn type="integer">19</cn>
    <cn type="integer">22</cn>
   </apply>
   <apply><csymbol cd="linalg2">matrixrow</csymbol>
    <cn type="integer">43</cn>
    <cn type="integer">50</cn>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                     eq 
  (
times 
  (
matrix 
  (
matrixrow 
  ( 1 ,  2 )
, 
matrixrow 
  ( 3 ,  4 )
)
, 
matrix 
  (
matrixrow 
  ( 5 ,  6 )
, 
matrixrow 
  ( 7 ,  8 )
)
)
, 
matrix 
  (
matrixrow 
  ( 19 ,  22 )
, 
matrixrow 
  ( 43 ,  50 )
)
)
 
                  
                     Popcorn 
                     
linalg2.matrix(linalg2.matrixrow(1, 2), linalg2.matrixrow(3, 4)) * linalg2.matrix(linalg2.matrixrow(5, 6), linalg2.matrixrow(7, 8)) = linalg2.matrix(linalg2.matrixrow(19, 22), linalg2.matrixrow(43, 50))
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    
                                       
                                          
                                             
                                                 1  
                                              
                                             
                                                 2  
                                              
                                           
                                          
                                             
                                                 3  
                                              
                                             
                                                 4  
                                              
                                           
                                        
                                     
                                     
                                    
                                       
                                          
                                             
                                                 5  
                                              
                                             
                                                 6  
                                              
                                           
                                          
                                             
                                                 7  
                                              
                                             
                                                 8  
                                              
                                           
                                        
                                     
                                  
                                 = 
                                 
                                    
                                       
                                          
                                              19  
                                           
                                          
                                              22  
                                           
                                        
                                       
                                          
                                              43  
                                           
                                          
                                              50  
                                           
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all a,b | a * 0 = 0 and a * b = a * (b - 1) + a  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="a"/>
    <OMV name="b"/>
  </OMBVAR>
  <OMA>
    <OMS cd="logic1" name="and"/>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="arith1" name="times"/>
        <OMV name="a"/>
        <OMS cd="alg1" name="zero"/>
      </OMA>
      <OMS cd="alg1" name="zero"/>
    </OMA>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="arith1" name="times"/>
	<OMV name="a"/>
	<OMV name="b"/>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="plus"/>
	<OMA>
	  <OMS cd="arith1" name="times"/>
	  <OMV name="a"/>
	  <OMA>
	    <OMS cd="arith1" name="minus"/>
	    <OMV name="b"/>
	    <OMS cd="alg1" name="one"/>
	  </OMA>
	</OMA>
	<OMV name="a"/>
      </OMA>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>b</ci></bvar>
  <apply><csymbol cd="logic1">and</csymbol>
   <apply><csymbol cd="relation1">eq</csymbol>
    <apply><csymbol cd="arith1">times</csymbol><ci>a</ci><csymbol cd="alg1">zero</csymbol></apply>
    <csymbol cd="alg1">zero</csymbol>
   </apply>
   <apply><csymbol cd="relation1">eq</csymbol>
    <apply><csymbol cd="arith1">times</csymbol><ci>a</ci><ci>b</ci></apply>
    <apply><csymbol cd="arith1">plus</csymbol>
     <apply><csymbol cd="arith1">times</csymbol>
      <ci>a</ci>
      <apply><csymbol cd="arith1">minus</csymbol><ci>b</ci><csymbol cd="alg1">one</csymbol></apply>
     </apply>
     <ci>a</ci>
    </apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
quant1.forall[$a, $b -> $a * alg1.zero = alg1.zero and $a * $b = $a * ($b - alg1.one) + $a]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    a 
                                    , 
                                    b 
                                  
                                 . 
                                 
                                    
                                       
                                          a 
                                           
                                          0 
                                        
                                       = 
                                       0 
                                     
                                    ∧ 
                                    
                                       
                                          a 
                                           
                                          b 
                                        
                                       = 
                                       
                                          
                                             a 
                                              
                                             
                                                ( 
                                                b 
                                                - 
                                                1 
                                                ) 
                                              
                                           
                                          + 
                                          a 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all a,b,c | a*(b+c) = a*b + a*c  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="a"/>
    <OMV name="b"/>
    <OMV name="c"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA>
      <OMS cd="arith1" name="times"/>
      <OMV name="a"/>
      <OMA>
        <OMS cd="arith1" name="plus"/>
	<OMV name="b"/>
	<OMV name="c"/>
      </OMA>
    </OMA>
    <OMA>
      <OMS cd="arith1" name="plus"/>
      <OMA>
        <OMS cd="arith1" name="times"/>
	<OMV name="a"/>
	<OMV name="b"/>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="times"/>
	<OMV name="a"/>
	<OMV name="c"/>
      </OMA>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>b</ci></bvar>
  <bvar><ci>c</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">times</csymbol>
    <ci>a</ci>
    <apply><csymbol cd="arith1">plus</csymbol><ci>b</ci><ci>c</ci></apply>
   </apply>
   <apply><csymbol cd="arith1">plus</csymbol>
    <apply><csymbol cd="arith1">times</csymbol><ci>a</ci><ci>b</ci></apply>
    <apply><csymbol cd="arith1">times</csymbol><ci>a</ci><ci>c</ci></apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
quant1.forall[$a, $b, $c -> $a * ($b + $c) = $a * $b + $a * $c]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    a 
                                    , 
                                    b 
                                    , 
                                    c 
                                  
                                 . 
                                 
                                    
                                       a 
                                        
                                       
                                          ( 
                                          b 
                                          + 
                                          c 
                                          ) 
                                        
                                     
                                    = 
                                    
                                       
                                          a 
                                           
                                          b 
                                        
                                       + 
                                       
                                          a 
                                           
                                          c 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                  
This symbol represents a (binary) division function denoting the first argument
right-divided by the second, i.e. divide(a,b)=a*inverse(b). It is the
inverse of the multiplication function defined by the symbol times in this CD.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                whenever not(a=0) then a/a = 1  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMBIND>
    <OMS cd="quant1" name="forall"/>
    <OMBVAR>
       <OMV name="a"/>
    </OMBVAR>
    <OMA>
      <OMS cd="logic1" name="implies"/>
      <OMA>
        <OMS cd="relation1" name="neq"/>
        <OMV name="a"/>
        <OMS cd="alg1" name="zero"/>
      </OMA>
      <OMA>
        <OMS cd="relation1" name="eq"/>
        <OMA>
          <OMS cd="arith1" name="divide"/>
          <OMV name="a"/>
          <OMV name="a"/>
        </OMA>
        <OMS cd="alg1" name="one"/>
      </OMA>
    </OMA>
  </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <apply><csymbol cd="logic1">implies</csymbol>
   <apply><csymbol cd="relation1">neq</csymbol><ci>a</ci><csymbol cd="alg1">zero</csymbol></apply>
   <apply><csymbol cd="relation1">eq</csymbol>
    <apply><csymbol cd="arith1">divide</csymbol><ci>a</ci><ci>a</ci></apply>
    <csymbol cd="alg1">one</csymbol>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  quant1.forall[$a -> $a != alg1.zero ==> $a / $a = alg1.one]
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                  
This symbol represents a power function. The first argument is raised
to the power of the second argument. When the second argument is not
an integer, powering is defined in terms of exponentials and 
logarithms for the complex and real numbers.
This operator can represent general powering.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
x\in C implies x^a = exp(a ln x)
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMA>
      <OMS cd="set1" name="in"/>
      <OMV name="x"/>
      <OMS cd="setname1" name="C"/>
    </OMA>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS name="power" cd="arith1"/>
        <OMV name="x"/>
        <OMV name="a"/>
      </OMA>
      <OMA>
        <OMS name="exp" cd="transc1"/>
        <OMA>
          <OMS name="times" cd="arith1"/>
          <OMV name="a"/>
          <OMA>
            <OMS name="ln" cd="transc1"/>
            <OMV name="x"/>
          </OMA>
        </OMA>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="set1">in</csymbol><ci>x</ci><csymbol cd="setname1">C</csymbol></apply>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">power</csymbol><ci>x</ci><ci>a</ci></apply>
   <apply><csymbol cd="transc1">exp</csymbol>
    <apply><csymbol cd="arith1">times</csymbol>
     <ci>a</ci>
     <apply><csymbol cd="transc1">ln</csymbol><ci>x</ci></apply>
    </apply>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  set1.in($x, setname1.C) ==> $x ^ $a = exp($a * ln($x))
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    x 
                                    ∈ 
                                    C 
                                  
                                 ⇒ 
                                 
                                    
                                       x 
                                       a 
                                     
                                    = 
                                    
                                       exp 
                                        
                                       
                                          ( 
                                          
                                             a 
                                              
                                             
                                                ln 
                                                 
                                                
                                                   ( 
                                                   x 
                                                   ) 
                                                 
                                              
                                           
                                          ) 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
  if n is an integer then
  x^0 = 1,
  x^n = x * x^(n-1)
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMA>
      <OMS cd="set1" name="in"/>
      <OMV name="n"/>
      <OMS cd="setname1" name="Z"/>
    </OMA>
    <OMA>
      <OMS cd="logic1" name="and"/>
      <OMA>
        <OMS cd="relation1" name="eq"/>
        <OMA>
          <OMS cd="arith1" name="power"/>
          <OMV name="x"/>
          <OMI>0</OMI>
        </OMA>
        <OMS cd="alg1" name="one"/>
      </OMA>
      <OMA>
        <OMS cd="relation1" name="eq"/>
        <OMA>
          <OMS cd="arith1" name="power"/>
          <OMV name="x"/>
          <OMV name="n"/>
        </OMA>
        <OMA>
          <OMS cd="arith1" name="times"/>
          <OMV name="x"/>
          <OMA>
            <OMS cd="arith1" name="power"/>
            <OMV name="x"/>
            <OMA>
              <OMS cd="arith1" name="minus"/>
              <OMV name="n"/>
              <OMI>1</OMI>
            </OMA>
          </OMA>
        </OMA>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="set1">in</csymbol><ci>n</ci><csymbol cd="setname1">Z</csymbol></apply>
  <apply><csymbol cd="logic1">and</csymbol>
   <apply><csymbol cd="relation1">eq</csymbol>
    <apply><csymbol cd="arith1">power</csymbol><ci>x</ci><cn type="integer">0</cn></apply>
    <csymbol cd="alg1">one</csymbol>
   </apply>
   <apply><csymbol cd="relation1">eq</csymbol>
    <apply><csymbol cd="arith1">power</csymbol><ci>x</ci><ci>n</ci></apply>
    <apply><csymbol cd="arith1">times</csymbol>
     <ci>x</ci>
     <apply><csymbol cd="arith1">power</csymbol>
      <ci>x</ci>
      <apply><csymbol cd="arith1">minus</csymbol><ci>n</ci><cn type="integer">1</cn></apply>
     </apply>
    </apply>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                     implies 
  (
in 
  ( 
n , 
Z )
, 
and 
  (
eq 
  (
power 
  ( 
x , 0)
, 
one )
, 
eq 
  (
power 
  ( 
x ,  
n )
, 
times 
  ( 
x , 
power 
  ( 
x , 
minus 
  ( 
n , 1)
)
)
)
)
)
 
                  
                     Popcorn 
                     
  set1.in($n, setname1.Z) ==> $x ^ 0 = alg1.one and $x ^ $n = $x * $x ^ ($n - 1)
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    n 
                                    ∈ 
                                    Z 
                                  
                                 ⇒ 
                                 
                                    
                                       
                                          x 
                                          0 
                                        
                                       = 
                                       1 
                                     
                                    ∧ 
                                    
                                       
                                          x 
                                          n 
                                        
                                       = 
                                       
                                          x 
                                           
                                          
                                             x 
                                             
                                                ( 
                                                n 
                                                - 
                                                1 
                                                ) 
                                              
                                           
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA>
  <OMS cd="relation1" name="eq"/>
  <OMA>
    <OMS cd="arith1" name="power"/>
    <OMA>
      <OMS cd="linalg2" name="matrix"/>
      <OMA>
        <OMS cd="linalg2" name="matrixrow"/>
        <OMI> 1 </OMI>
        <OMI> 2 </OMI>
      </OMA>
      <OMA>
        <OMS cd="linalg2" name="matrixrow"/>
        <OMI> 3 </OMI>
        <OMI> 4 </OMI>
      </OMA>
    </OMA>
    <OMI>3</OMI>
  </OMA>
  <OMA>
    <OMS cd="linalg2" name="matrix"/>
    <OMA>
      <OMS cd="linalg2" name="matrixrow"/>
      <OMI> 37 </OMI>
      <OMI> 54 </OMI>
    </OMA>
    <OMA>
      <OMS cd="linalg2" name="matrixrow"/>
      <OMI> 81 </OMI>
      <OMI> 118 </OMI>
    </OMA>
  </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="arith1">power</csymbol>
   <apply><csymbol cd="linalg2">matrix</csymbol>
    <apply><csymbol cd="linalg2">matrixrow</csymbol>
     <cn type="integer">1</cn>
     <cn type="integer">2</cn>
    </apply>
    <apply><csymbol cd="linalg2">matrixrow</csymbol>
     <cn type="integer">3</cn>
     <cn type="integer">4</cn>
    </apply>
   </apply>
   <cn type="integer">3</cn>
  </apply>
  <apply><csymbol cd="linalg2">matrix</csymbol>
   <apply><csymbol cd="linalg2">matrixrow</csymbol>
    <cn type="integer">37</cn>
    <cn type="integer">54</cn>
   </apply>
   <apply><csymbol cd="linalg2">matrixrow</csymbol>
    <cn type="integer">81</cn>
    <cn type="integer">118</cn>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
linalg2.matrix(linalg2.matrixrow(1, 2), linalg2.matrixrow(3, 4)) ^ 3 = linalg2.matrix(linalg2.matrixrow(37, 54), linalg2.matrixrow(81, 118))
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA>
  <OMS cd="relation1" name="eq"/>
  <OMA>
    <OMS cd="arith1" name="power"/>
    <OMS cd="nums1" name="e"/>
    <OMA>
      <OMS cd="arith1" name="times"/>
      <OMS cd="nums1" name="i"/>
      <OMS cd="nums1" name="pi"/>
    </OMA>
  </OMA>
  <OMA>
    <OMS cd="arith1" name="unary_minus"/>
    <OMS cd="alg1" name="one"/>
  </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="arith1">power</csymbol>
   <csymbol cd="nums1">e</csymbol>
   <apply><csymbol cd="arith1">times</csymbol>
    <csymbol cd="nums1">i</csymbol>
    <csymbol cd="nums1">pi</csymbol>
   </apply>
  </apply>
  <apply><csymbol cd="arith1">unary_minus</csymbol><csymbol cd="alg1">one</csymbol></apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
nums1.e ^ (nums1.i * nums1.pi) =  -(alg1.one)
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
A unary operator which represents the absolute value of its
argument. The argument should be numerically valued.
In the complex case this is often referred to as the modulus.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all x,y | abs(x) + abs(y) >= abs(x+y)  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMBIND>
    <OMS cd="quant1" name="forall"/>
    <OMBVAR>
      <OMV name="x"/>
      <OMV name="y"/>
    </OMBVAR>
    <OMA>
      <OMS cd="relation1" name="geq"/>
      <OMA>
        <OMS cd="arith1" name="plus"/>
        <OMA>
          <OMS cd="arith1" name="abs"/>
            <OMV name="x"/>
        </OMA>
        <OMA>
          <OMS cd="arith1" name="abs"/>
            <OMV name="y"/>
        </OMA>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="abs"/>
        <OMA>
          <OMS cd="arith1" name="plus"/>
          <OMV name="x"/>
          <OMV name="y"/>
        </OMA>
      </OMA>
    </OMA>
  </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>x</ci></bvar>
  <bvar><ci>y</ci></bvar>
  <apply><csymbol cd="relation1">geq</csymbol>
   <apply><csymbol cd="arith1">plus</csymbol>
    <apply><csymbol cd="arith1">abs</csymbol><ci>x</ci></apply>
    <apply><csymbol cd="arith1">abs</csymbol><ci>y</ci></apply>
   </apply>
   <apply><csymbol cd="arith1">abs</csymbol>
    <apply><csymbol cd="arith1">plus</csymbol><ci>x</ci><ci>y</ci></apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  quant1.forall[$x, $y -> arith1.abs($x) + arith1.abs($y) >= arith1.abs($x + $y)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    x 
                                    , 
                                    y 
                                  
                                 . 
                                 
                                    
                                       
                                          | 
                                          x 
                                          | 
                                        
                                       + 
                                       
                                          | 
                                          y 
                                          | 
                                        
                                     
                                    ≥ 
                                    
                                       | 
                                       
                                          x 
                                          + 
                                          y 
                                        
                                       | 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                   
A binary operator which represents its first argument "lowered" to its
n'th root where n is the second argument. This is the inverse of the operation
represented by the power symbol defined in this CD.
                  Care should be taken as to the precise meaning of this operator, in
particular which root is represented, however it is here to represent
the general notion of taking n'th roots. As inferred by the signature
relevant to this symbol, the function represented by this symbol is
the single valued function, the specific root returned is the one
indicated by the first CMP. Note also that the converse of the second
CMP is not valid in general.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                x\in C implies root(x,n) = exp(ln(x)/n)  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
  <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
    <OMA>
      <OMS cd="logic1" name="implies"/>
      <OMA>
        <OMS cd="set1" name="in"/>
        <OMV name="x"/>
        <OMS cd="setname1" name="C"/>
      </OMA>
      <OMA>
        <OMS cd="relation1" name="eq"/>
        <OMA>
          <OMS cd="arith1" name="root"/>
          <OMV name="x"/>
          <OMV name="n"/>          
        </OMA>
        <OMA>
          <OMS name="exp" cd="transc1"/>
          <OMA>
            <OMS name="divide" cd="arith1"/>
            <OMA>
              <OMS name="ln" cd="transc1"/>
              <OMV name="x"/>
            </OMA>
            <OMV name="n"/>          
          </OMA>
        </OMA>
      </OMA>
    </OMA>
  </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="set1">in</csymbol><ci>x</ci><csymbol cd="setname1">C</csymbol></apply>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">root</csymbol><ci>x</ci><ci>n</ci></apply>
   <apply><csymbol cd="transc1">exp</csymbol>
    <apply><csymbol cd="arith1">divide</csymbol>
     <apply><csymbol cd="transc1">ln</csymbol><ci>x</ci></apply>
     <ci>n</ci>
    </apply>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
    set1.in($x, setname1.C) ==> arith1.root($x, $n) = exp(ln($x) / $n)
  
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    x 
                                    ∈ 
                                    C 
                                  
                                 ⇒ 
                                 
                                    
                                       x 
                                       n 
                                     
                                    = 
                                    
                                       exp 
                                        
                                       
                                          ( 
                                          
                                             
                                                ln 
                                                 
                                                
                                                   ( 
                                                   x 
                                                   ) 
                                                 
                                              
                                             n 
                                           
                                          ) 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                for all a,n | power(root(a,n),n) = a (if the root exists!)  
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
  <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
    <OMBIND>
      <OMS cd="quant1" name="forall"/>
      <OMBVAR>
         <OMV name="a"/>
         <OMV name="n"/>
      </OMBVAR>
      <OMA>
        <OMS cd="relation1" name="eq"/>
        <OMA>
          <OMS cd="arith1" name="power"/>
          <OMA>
            <OMS cd="arith1" name="root"/>
            <OMV name="a"/>
            <OMV name="n"/>
          </OMA>
          <OMV name="n"/>
        </OMA>
        <OMV name="a"/>
      </OMA>
    </OMBIND>
  </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>a</ci></bvar>
  <bvar><ci>n</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply><csymbol cd="arith1">power</csymbol>
    <apply><csymbol cd="arith1">root</csymbol><ci>a</ci><ci>n</ci></apply>
    <ci>n</ci>
   </apply>
   <ci>a</ci>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
    quant1.forall[$a, $n -> arith1.root($a, $n) ^ $n = $a]
  
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                  
An operator taking two arguments, the first being the range of summation,
e.g. an integral interval, the second being the function to be
summed. Note that the sum may be over an infinite interval.
                
             
            
               
                  Example: 
                
               
  This represents the summation of the reciprocals of all the integers between
  1 and 10 inclusive.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMA>
    <OMS cd="arith1" name="sum"/>
      <OMA>
        <OMS cd="interval1" name="integer_interval"/>
        <OMI> 1 </OMI>
        <OMI> 10 </OMI>
      </OMA>
    <OMBIND>
      <OMS cd="fns1" name="lambda"/>
        <OMBVAR>
          <OMV name="x"/>
        </OMBVAR>
        <OMA>
          <OMS cd="arith1" name="divide"/>
          <OMI> 1 </OMI>
          <OMV name="x"/>
        </OMA>
    </OMBIND>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="arith1">sum</csymbol>
  <apply><csymbol cd="interval1">integer_interval</csymbol>
   <cn type="integer">1</cn>
   <cn type="integer">10</cn>
  </apply>
  <bind><csymbol cd="fns1">lambda</csymbol>
   <bvar><ci>x</ci></bvar>
   <apply><csymbol cd="arith1">divide</csymbol><cn type="integer">1</cn><ci>x</ci></apply>
  </bind>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  arith1.sum(interval1.integer_interval(1, 10), fns1.lambda[$x -> 1 / $x])
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
            
               
                  Role: 
                
               application 
             
            
               
                  Description: 
                
               
                  
An operator taking two arguments, the first being the range of multiplication
e.g. an integral interval, the second being the function to
be multiplied. Note that the product may be over an infinite interval. 
                
             
            
               
                  Example: 
                
               
This represents the statement that the factorial of n is equal to the product
of all the integers between 1 and n inclusive.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA>
      <OMS cd="integer1" name="factorial"/>
      <OMV name="n"/>
    </OMA>
    <OMA>
      <OMS cd="arith1" name="product"/>
        <OMA>
          <OMS cd="interval1" name="integer_interval"/>
          <OMI> 1 </OMI>
          <OMV name="n"/>
        </OMA>
      <OMBIND>
        <OMS cd="fns1" name="lambda"/>
          <OMBVAR>
            <OMV name="i"/>
          </OMBVAR>
          <OMV name="i"/>
      </OMBIND>
    </OMA>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="integer1">factorial</csymbol><ci>n</ci></apply>
  <apply><csymbol cd="arith1">product</csymbol>
   <apply><csymbol cd="interval1">integer_interval</csymbol><cn type="integer">1</cn><ci>n</ci></apply>
   <bind><csymbol cd="fns1">lambda</csymbol><bvar><ci>i</ci></bvar><ci>i</ci></bind>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  integer1.factorial($n) = arith1.product(interval1.integer_interval(1, $n), fns1.lambda[$i -> $i])
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts