OpenMath Content Dictionary: field1 
            
               
                  Canonical URL: 
                
               
                  http://www.openmath.org/cd/field1.ocd 
                
               
                  CD Base: 
                
               
                  http://www.openmath.org/cd 
                
               
                  CD File: 
                
               
                  field1.ocd
       
                
               
                  CD as XML Encoded OpenMath: 
                
               
                  field1.omcd
       
                
               
                  Defines: 
                
               
                  addition , additive_group , carrier , expression , field , identity , inverse , is_commutative , is_subfield , minus , multiplication , multiplicative_group , power , subfield , subtraction , zero 
                
               
                  Date: 
                
               2004-06-01 
               
                  Version: 
                
               1
    (Revision 2)
   
               
                  Review Date: 
                
               2006-06-01 
               
                  Status: 
                
               experimental 
             
             
             A CD of basic functions for field theory   
            
Written by Arjeh M. Cohen 2004-02-26
 
             
            
            
               
                  Description: 
                
               
                  
This symbol is a constructor for fields. It takes seven arguments
R, a, o, n, m, e, i: which are, respectively,
a set R to specify the elements in the field, 
a binary operation a on R, an element o of R, and a unary
operation n on R such that [R,a,o,n] is a commutative group, a
binary operation m on R, an element e of R, and a map from R - {o}
to itself such that
[R,m,e] is a monoid and such that [R - {o},m',e,i]
is a group, where m' is the restriction of m to R -{o}.
                
             
            
               
                  Example: 
                
               
This example represents the field of rational numbers. 
The field addition is binary addition,
the field multiplication is binary multiplication.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="field1" name="field"/>
     <OMS cd="setname1" name="Q"/>
     <OMS cd="arith1" name="plus"/>
     <OMI>0</OMI>
     <OMS cd="arith1" name="minus"/>
     <OMS cd="arith1" name="times"/>
     <OMI>1</OMI>
     <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="field1">field</csymbol>
  <csymbol cd="setname1">Q</csymbol>
  <csymbol cd="arith1">plus</csymbol>
  <cn type="integer">0</cn>
  <csymbol cd="arith1">minus</csymbol>
  <csymbol cd="arith1">times</csymbol>
  <cn type="integer">1</cn>
  <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 
                     
field1.field(setname1.Q, arith1.plus, 0, arith1.minus, arith1.times, 1, fns1.lambda[$x -> 1 / $x])
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 field 
                                  
                                 
                                    ( 
                                    Q 
                                    , 
                                    + 
                                    , 
                                    0 
                                    , 
                                    - 
                                    , 
                                    × 
                                    , 
                                    1 
                                    , 
                                    
                                       λ 
                                         
                                       
                                          x 
                                        
                                       . 
                                       
                                           1  
                                          x 
                                        
                                     
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol represents a unary function, whose argument should be a
field S (for instance constructed by field).
When applied to S, its value should be the set of elements of S. 
                
             
            
               
                  Example: 
                
               
The carrier of field(R,+,0,-,*,1,inv) is R.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="carrier"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="R"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">carrier</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>R</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.carrier(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $R
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    carrier 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 R 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol represents a unary function, whose argument should be a
field S.    It returns the multiplication map on the field.
We allow for the map to be n-ary.
                
             
            
               
                  Example: 
                
               
The multiplication of field(R,+,0,-,*,1,inv) is *.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="multiplication"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="times"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">multiplication</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>times</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.multiplication(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $times
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    multiplication 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 times 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol represents a unary function, whose argument should be a
field S.  It returns the map sending an element of S to its additive inverse.
                
             
            
               
                  Example: 
                
               
The minus of field(R,+,0,-,*,1,inv) is -.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="minus"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="minus"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">minus</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>minus</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                     eq 
  (
minus 
  (
field 
  ( 
R ,  
plus ,  
zero ,  
minus ,  
times ,  
one ,  
inv )
)
,  
minus )
 
                  
                     Popcorn 
                     
  field1.minus(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $minus
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    minus 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 minus 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol represents a unary function, whose argument should be a field S.
It returns the map sending a nonzero element of S to its multiplicative
inverse.
                
             
            
               
                  Example: 
                
               
The inverse of field(R,+,0,-,*,1,inv) is inv.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="inverse"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="inv"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">inverse</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>inv</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.inverse(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $inv
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    inverse 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 inv 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbols represents a unary function, whose argument should be a
field.  It returns the identity element of the field.
                
             
            
               
                  Example: 
                
               
The identity field(R,+,0,-,*,1,inv) is 1.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="identity"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="one"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">identity</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>one</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.identity(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $one
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    identity 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 one 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbols represents a unary function, whose argument should be a
field.  It returns the zero element of the field.
                
             
            
               
                  Example: 
                
               
The identity field(R,+,0,-,*,1,inv) is 0.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="zero"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="zero"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">zero</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>zero</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                     eq 
  (
zero 
  (
field 
  ( 
R ,  
plus ,  
zero ,  
minus ,  
times ,  
one ,  
inv )
)
,  
zero )
 
                  
                     Popcorn 
                     
  field1.zero(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $zero
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    zero 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 zero 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbols represents a unary function, whose argument should be a
field.    It returns the addition map on the field.
We allow for the map to be n-ary.
                
             
            
               
                  Example: 
                
               
The identity field(R,+,0,-,*,1,inv) is +.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="identity"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMV name="plus"/>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">identity</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <ci>plus</ci>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.identity(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $plus
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    identity 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 plus 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbols represents a unary function, whose argument should be a
field.  It returns the binary operation of subtraction on the field.
                
             
            
               
                  Example: 
                
               
The subtraction of field(R,+,0,-,*,1,inv) is the map
sending the pair (r,s) of elements of R to r-s.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA><OMS cd="relation1" name="eq"/>
       <OMA><OMS cd="field1" name="subtraction"/>
            <OMA><OMS cd="field1" name="field"/>
                 <OMV name="R"/>
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
            </OMA>
       </OMA>
       <OMBIND><OMS cd="fns1" name="lambda"/>
            <OMBVAR><OMV name="x"/><OMV name="y"/>
            </OMBVAR>
            <OMA><OMV name="plus"/>
                 <OMV name="x"/>
                 <OMA><OMV name="minus"/>
                      <OMV name="y"/>
                 </OMA>
            </OMA>
       </OMBIND>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">subtraction</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <bind><csymbol cd="fns1">lambda</csymbol>
   <bvar><ci>x</ci></bvar>
   <bvar><ci>y</ci></bvar>
   <apply><ci>plus</ci><ci>x</ci><apply><ci>minus</ci><ci>y</ci></apply></apply>
  </bind>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.subtraction(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = fns1.lambda[$x, $y -> $plus($x, $minus($y))]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    subtraction 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 
                                    λ 
                                      
                                    
                                       x 
                                       , 
                                       y 
                                     
                                    . 
                                    
                                       plus 
                                        
                                       
                                          ( 
                                          x 
                                          , 
                                          
                                             minus 
                                              
                                             
                                                ( 
                                                y 
                                                ) 
                                              
                                           
                                          ) 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
The unary boolean function whose value is true iff the argument is a
commutative field.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
If is_commutative(G) then for all a,b in carrier(G) a*b = b*a
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMA>
      <OMS cd="field1" name="is_commutative"/>
      <OMV name="G"/>
    </OMA>
    <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"/>
            <OMA>
              <OMS cd="field1" name="carrier"/>
              <OMV name="G"/>
            </OMA>
          </OMA>
          <OMA>
            <OMS cd="set1" name="in"/>
            <OMV name="b"/>
            <OMA>
              <OMS cd="field1" name="carrier"/>
              <OMV name="G"/>
            </OMA>
          </OMA>
        </OMA>
        <OMA>
          <OMS cd="relation1" name="eq"/>
            <OMA>
              <OMS cd="field1" name="multiplication"/>
              <OMV name="G"/>
            </OMA>
            <OMV name="a"/>
            <OMV name="b"/>
          </OMA>
          <OMA>
            <OMA>
              <OMS cd="field1" name="multiplication"/>
              <OMV name="G"/>
            </OMA>
            <OMV name="b"/>
            <OMV name="a"/>
          </OMA>
        </OMA>
    </OMBIND>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="field1">is_commutative</csymbol><ci>G</ci></apply>
  <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>
      <apply><csymbol cd="field1">carrier</csymbol><ci>G</ci></apply>
     </apply>
     <apply><csymbol cd="set1">in</csymbol>
      <ci>b</ci>
      <apply><csymbol cd="field1">carrier</csymbol><ci>G</ci></apply>
     </apply>
    </apply>
    <apply><csymbol cd="relation1">eq</csymbol>
     <apply><csymbol cd="field1">multiplication</csymbol><ci>G</ci></apply>
     <ci>a</ci>
     <ci>b</ci>
    </apply>
    <apply>
     <apply><csymbol cd="field1">multiplication</csymbol><ci>G</ci></apply>
     <ci>b</ci>
     <ci>a</ci>
    </apply>
   </apply>
  </bind>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  field1.is_commutative($G) ==> quant1.forall[$a, $b -> set1.in($a, field1.carrier($G)) and set1.in($b, field1.carrier($G)) ==> field1.multiplication($G) = $a = $b ==> field1.multiplication($G)($b, $a)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    is_commutative 
                                     
                                    
                                       ( 
                                       G 
                                       ) 
                                     
                                  
                                 ⇒ 
                                 
                                    ∀ 
                                      
                                    
                                       a 
                                       , 
                                       b 
                                     
                                    . 
                                    
                                       
                                          
                                             a 
                                             ∈ 
                                             
                                                carrier 
                                                 
                                                
                                                   ( 
                                                   G 
                                                   ) 
                                                 
                                              
                                           
                                          ∧ 
                                          
                                             b 
                                             ∈ 
                                             
                                                carrier 
                                                 
                                                
                                                   ( 
                                                   G 
                                                   ) 
                                                 
                                              
                                           
                                        
                                       ⇒ 
                                       
                                          
                                             multiplication 
                                              
                                             
                                                ( 
                                                G 
                                                ) 
                                              
                                           
                                          = 
                                          a 
                                          = 
                                          b 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
The binary boolean function whose value is true iff the second
argument is a subfield of the second.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
                
If is_subfield(G,H) then H is a nonempty set of elements of the carrier
of G and H is closed under multiplication and taking inverses.  
 
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a unary function, whose argument should be a field S.
When applied to S its value is the monoid underlying S.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="relation1" name="eq"/>
          <OMA><OMS cd="field1" name="additive_group"/>
               <OMA><OMS cd="field1" name="field"/>
                    <OMV name="R"/> 
                 <OMV name="plus"/>
                 <OMV name="zero"/>
                 <OMV name="minus"/>
                 <OMV name="times"/>
                 <OMV name="one"/>
                 <OMV name="inv"/>
               </OMA>
          </OMA>
          <OMA><OMS cd="group1" name="group"/>
               <OMV name="R"/> 
               <OMV name="plus"/>
               <OMV name="zero"/>
               <OMV name="minus"/>
          </OMA>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">additive_group</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <apply><csymbol cd="group1">group</csymbol>
   <ci>R</ci>
   <ci>plus</ci>
   <ci>zero</ci>
   <ci>minus</ci>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                     eq 
  (
additive_group 
  (
field 
  ( 
R ,  
plus ,  
zero ,  
minus ,  
times ,  
one ,  
inv )
)
, 
group 
  ( 
R ,  
plus ,  
zero ,  
minus )
)
    
 
                  
                     Popcorn 
                     
     field1.additive_group(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = group1.group($R, $plus, $zero, $minus)
    
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    additive_group 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 
                                    group 
                                     
                                    
                                       ( 
                                       R 
                                       , 
                                       plus 
                                       , 
                                       zero 
                                       , 
                                       minus 
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a unary function, whose argument should be a field S.
When applied to S its value is the multiplicative group on the nonzero
elements of S.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="relation1" name="eq"/>
          <OMA><OMS cd="field1" name="multiplicative_group"/>
               <OMA><OMS cd="field1" name="field"/>
                    <OMV name="R"/> 
                    <OMV name="plus"/>
                    <OMV name="zero"/>
                    <OMV name="minus"/>
                    <OMV name="times"/>
                    <OMV name="one"/>
                    <OMV name="inv"/>
               </OMA>
          </OMA>
          <OMA><OMS cd="group1" name="group"/>
               <OMV name="R"/> 
               <OMV name="times"/>
               <OMV name="one"/>
               <OMV name="inv"/>
          </OMA>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">multiplicative_group</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <ci>R</ci>
    <ci>plus</ci>
    <ci>zero</ci>
    <ci>minus</ci>
    <ci>times</ci>
    <ci>one</ci>
    <ci>inv</ci>
   </apply>
  </apply>
  <apply><csymbol cd="group1">group</csymbol>
   <ci>R</ci>
   <ci>times</ci>
   <ci>one</ci>
   <ci>inv</ci>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                     eq 
  (
multiplicative_group 
  (
field 
  ( 
R ,  
plus ,  
zero ,  
minus ,  
times ,  
one ,  
inv )
)
, 
group 
  ( 
R ,  
times ,  
one ,  
inv )
)
    
 
                  
                     Popcorn 
                     
     field1.multiplicative_group(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = group1.group($R, $times, $one, $inv)
    
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    multiplicative_group 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             R 
                                             , 
                                             plus 
                                             , 
                                             zero 
                                             , 
                                             minus 
                                             , 
                                             times 
                                             , 
                                             one 
                                             , 
                                             inv 
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 
                                    group 
                                     
                                    
                                       ( 
                                       R 
                                       , 
                                       times 
                                       , 
                                       one 
                                       , 
                                       inv 
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a constructor symbol with one or two arguments. The
first argument is a list or set, D, of field elements. The optional
second argument is the field G containing D. It denotes the subfield
of G generated by D.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="field1" name="subfield"/>
          <OMV name="D"/> <OMV name="G"/>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML"><apply><csymbol cd="field1">subfield</csymbol><ci>D</ci><ci>G</ci></apply></math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
     field1.subfield($D, $G)
    
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Example: 
                
               
This example represents the subfield of the multiplicative field of
the nonzero reals generated by the constants Pi and E:
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="field1" name="subfield"/>
     <OMA>
       <OMS cd="list1" name="list"/>
         <OMS cd="nums1" name="pi"/>
         <OMS cd="nums1" name="e"/>
     </OMA>
     <OMA><OMS cd="field1" name="field"/>
          <OMA><OMS cd="set1" name="suchthat"/>
               <OMS cd="setname1" name="R"/>
               <OMBIND><OMS cd="fns1" name="lambda"/>
                       <OMBVAR> <OMV name="x"/>
                       </OMBVAR>
                       <OMA><OMS cd="relation1" name="neq"/>
                            <OMV name="x"/>
                            <OMS cd="alg1" name="zero"/>
                       </OMA>
               </OMBIND>
          </OMA>
          <OMS cd="arith1" name="times"/>
          <OMS cd="arith2" name="inverse"/>
          <OMI> 1 </OMI>
     </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="field1">subfield</csymbol>
  <apply><csymbol cd="list1">list</csymbol>
   <csymbol cd="nums1">pi</csymbol>
   <csymbol cd="nums1">e</csymbol>
  </apply>
  <apply><csymbol cd="field1">field</csymbol>
   <apply><csymbol cd="set1">suchthat</csymbol>
    <csymbol cd="setname1">R</csymbol>
    <bind><csymbol cd="fns1">lambda</csymbol>
     <bvar><ci>x</ci></bvar>
     <apply><csymbol cd="relation1">neq</csymbol><ci>x</ci><csymbol cd="alg1">zero</csymbol></apply>
    </bind>
   </apply>
   <csymbol cd="arith1">times</csymbol>
   <csymbol cd="arith2">inverse</csymbol>
   <cn type="integer">1</cn>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
field1.subfield([nums1.pi , nums1.e], field1.field(set1.suchthat(setname1.R, fns1.lambda[$x -> $x != alg1.zero]), arith1.times, arith2.inverse, 1))
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 subfield 
                                  
                                 
                                    ( 
                                    
                                       ( 
                                       π 
                                       , 
                                       e 
                                       ) 
                                     
                                    , 
                                    
                                       field 
                                        
                                       
                                          ( 
                                          
                                             { 
                                             
                                                x 
                                                ∈ 
                                                R 
                                              
                                             | 
                                             
                                                x 
                                                ≠ 
                                                0 
                                              
                                             } 
                                           
                                          , 
                                          × 
                                          , 
                                          inverse 
                                          , 
                                           1  
                                          ) 
                                        
                                     
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This is a symbol with two or three arguments.  Its first argument
should be an element g of a field and the second argument should be
an integer. The optional third argument is the field G containing g.
It denotes the element g^k in G.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
  <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
    <OMA><OMS cd="relation1" name="eq"/>
         <OMA><OMS cd="field1" name="power"/>
              <OMI>3</OMI>
              <OMI>2</OMI>
              <OMA><OMS cd="field1" name="field"/>
                   <OMS cd="setname1" name="Q"/>
                   <OMS cd="arith1" name="plus"/>
                   <OMI>0</OMI>
                   <OMS cd="arith1" name="minus"/>
                   <OMS cd="arith1" name="times"/>
                   <OMI>1</OMI>
                   <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>
         </OMA>
         <OMI>9</OMI>
    </OMA>
  </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="field1">power</csymbol>
   <cn type="integer">3</cn>
   <cn type="integer">2</cn>
   <apply><csymbol cd="field1">field</csymbol>
    <csymbol cd="setname1">Q</csymbol>
    <csymbol cd="arith1">plus</csymbol>
    <cn type="integer">0</cn>
    <csymbol cd="arith1">minus</csymbol>
    <csymbol cd="arith1">times</csymbol>
    <cn type="integer">1</cn>
    <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>
  </apply>
  <cn type="integer">9</cn>
 </apply>
</math> 
                   
                  Prefix 
                  
                     eq 
  (
power 
  (3, 2, 
field 
  (
Q , 
plus , 0, 
minus , 
times , 1, 
lambda 
  [   
x   ] .
  (
divide 
  ( 1 ,  
x )
)
)
)
, 9)
  
 
                  
                     Popcorn 
                     
    field1.power(3, 2, field1.field(setname1.Q, arith1.plus, 0, arith1.minus, arith1.times, 1, fns1.lambda[$x -> 1 / $x])) = 9
  
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    power 
                                     
                                    
                                       ( 
                                       3 
                                       , 
                                       2 
                                       , 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             Q 
                                             , 
                                             + 
                                             , 
                                             0 
                                             , 
                                             - 
                                             , 
                                             × 
                                             , 
                                             1 
                                             , 
                                             
                                                λ 
                                                  
                                                
                                                   x 
                                                 
                                                . 
                                                
                                                    1  
                                                   x 
                                                 
                                              
                                             ) 
                                           
                                        
                                       ) 
                                     
                                  
                                 = 
                                 9 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a function with two arguments.  Its first
argument should be a field. The
second should be an arithmetic expression A,
whose operators are
times, plus, minus, unary_minus, and power, and whose leaves are members of the carrier of G. 
When applied to
G and A, it denotes the element (of G) that is the element obtained from the
leaves of A by applying the operations of G instead of those
from the CD arith1 according to A. Here multiplication, addition, subtraction,
minus, and power take over the roles of
times, plus, minus, unary_minus, and power, respectively. 
Also, an integer m occurring in A will be interpreted as a member of G by interpreting it as 
the sum of m copies of the identity element, the symbol alg1.one will be
interpreted as the identity,
and  the symbol alg1.zero will be
interpreted as the zero of G.
                  
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
  <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
    <OMA><OMS cd="relation1" name="eq"/>
         <OMA><OMS cd="group1" name="expression"/>
              <OMA><OMS cd="field1" name="field"/>
                   <OMS cd="setname1" name="Z"/>
                   <OMS cd="arith1" name="plus"/>
                   <OMI>0</OMI>
                   <OMS cd="arith1" name="unary_minus"/>
                   <OMS cd="arith1" name="times"/>
                   <OMI>1</OMI>
              </OMA>
              <OMA><OMS cd="arith1" name="times"/>
                   <OMI>6</OMI><OMI>3</OMI>
              </OMA>
         </OMA>
         <OMI>18</OMI>
    </OMA>
  </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="relation1">eq</csymbol>
  <apply><csymbol cd="group1">expression</csymbol>
   <apply><csymbol cd="field1">field</csymbol>
    <csymbol cd="setname1">Z</csymbol>
    <csymbol cd="arith1">plus</csymbol>
    <cn type="integer">0</cn>
    <csymbol cd="arith1">unary_minus</csymbol>
    <csymbol cd="arith1">times</csymbol>
    <cn type="integer">1</cn>
   </apply>
   <apply><csymbol cd="arith1">times</csymbol>
    <cn type="integer">6</cn>
    <cn type="integer">3</cn>
   </apply>
  </apply>
  <cn type="integer">18</cn>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
    group1.expression(field1.field(setname1.Z, arith1.plus, 0, arith1.unary_minus, arith1.times, 1), 6 * 3) = 18
  
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    expression 
                                     
                                    
                                       ( 
                                       
                                          field 
                                           
                                          
                                             ( 
                                             Z 
                                             , 
                                             + 
                                             , 
                                             0 
                                             , 
                                             - 
                                             , 
                                             × 
                                             , 
                                             1 
                                             ) 
                                           
                                        
                                       , 
                                       
                                          6 
                                          × 
                                          3 
                                        
                                       ) 
                                     
                                  
                                 = 
                                 18 
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts