OpenMath Content Dictionary: semigroup2 
            
               
                  Canonical URL: 
                
               
                  http://www.openmath.org/cd/semigroup2.ocd 
                
               
                  CD Base: 
                
               
                  http://www.openmath.org/cd 
                
               
                  CD File: 
                
               
                  semigroup2.ocd
       
                
               
                  CD as XML Encoded OpenMath: 
                
               
                  semigroup2.omcd
       
                
               
                  Defines: 
                
               
                  is_automorphism , is_endomorphism , is_homomorphism , is_isomorphism , isomorphic , left_multiplication , right_multiplication 
                
               
                  Date: 
                
               2004-06-01 
               
                  Version: 
                
               1
    (Revision 1)
   
               
                  Review Date: 
                
               2006-06-01 
               
                  Status: 
                
               experimental 
             
             
             Basic functions for semigroup theory   
            
Initiated by Arjeh M. Cohen 2003-10-03
 
             
            
            
               
                  Description: 
                
               
                  
This symbol is a boolean function with three arguments.
The first and arguments are semigroups M, N,
the third is a map f from the element set of M to the element set of N.
When applied to M, N, and f, it denotes that f is a semigroup homomorphism from M
to N.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
If is_homomorphism(M,N,f) then, for each pair of elements x, y of M, we have
f(x * y) = f(x) * f(y).
 
             
            
               
                  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="semigroup2" name="is_homomorphism"/>
            <OMV name="M"/> <OMV name="N"/>  <OMV name="f"/>
       </OMA>
       <OMBIND><OMS cd="quant1" name="forall"/>
            <OMBVAR><OMV name="x"/><OMV name="y"/>  </OMBVAR>
            <OMA><OMS cd="logic1" name="implies"/>
                 <OMA><OMS cd="logic1" name="and"/>
                      <OMA><OMS cd="set1" name="in"/>
                           <OMV name="x"/>
                           <OMA><OMS cd="semigroup1" name="carrier"/>
                                <OMV name="M"/>
                           </OMA>
                      </OMA>
	              <OMA><OMS cd="set1" name="in"/>
                           <OMV name="y"/>
                           <OMA><OMS cd="semigroup1" name="carrier"/>
                                <OMV name="G"/>
                           </OMA>
                      </OMA>
                 </OMA>
                 <OMA><OMS cd="relation1" name="eq"/>
                      <OMA><OMV name="f"/>
                           <OMA><OMS cd="arith1" name="times"/>
	                        <OMV name="x"/> <OMV name="y"/>
                           </OMA>
                      </OMA>
                      <OMA><OMS cd="arith1" name="times"/>
                           <OMA><OMV name="f"/>
                                <OMV name="y"/>
                           </OMA>
                           <OMA><OMV name="f"/>
                                <OMV name="x"/>
                           </OMA>
                      </OMA>
                 </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="semigroup2">is_homomorphism</csymbol><ci>M</ci><ci>N</ci><ci>f</ci></apply>
  <bind><csymbol cd="quant1">forall</csymbol>
   <bvar><ci>x</ci></bvar>
   <bvar><ci>y</ci></bvar>
   <apply><csymbol cd="logic1">implies</csymbol>
    <apply><csymbol cd="logic1">and</csymbol>
     <apply><csymbol cd="set1">in</csymbol>
      <ci>x</ci>
      <apply><csymbol cd="semigroup1">carrier</csymbol><ci>M</ci></apply>
     </apply>
     <apply><csymbol cd="set1">in</csymbol>
      <ci>y</ci>
      <apply><csymbol cd="semigroup1">carrier</csymbol><ci>G</ci></apply>
     </apply>
    </apply>
    <apply><csymbol cd="relation1">eq</csymbol>
     <apply>
      <ci>f</ci>
      <apply><csymbol cd="arith1">times</csymbol><ci>x</ci><ci>y</ci></apply>
     </apply>
     <apply><csymbol cd="arith1">times</csymbol>
      <apply><ci>f</ci><ci>y</ci></apply>
      <apply><ci>f</ci><ci>x</ci></apply>
     </apply>
    </apply>
   </apply>
  </bind>
 </apply>
</math> 
                   
                  Prefix 
                  
                     implies 
  (
is_homomorphism 
  ( 
M ,  
N ,  
f )
, 
forall 
  [ 
x  
                     y   ] .
  (
implies 
  (
and 
  (
in 
  ( 
x , 
carrier 
  ( 
M )
)
, 
in 
  ( 
y , 
carrier 
  ( 
G )
)
)
, 
eq 
  ( 
f 
  (
times 
  ( 
x ,  
y )
)
, 
times 
  ( 
f 
  ( 
y )
,  
f 
  ( 
x )
)
)
)
)
)
 
                  
                     Popcorn 
                     
  semigroup2.is_homomorphism($M, $N, $f) ==> quant1.forall[$x, $y -> set1.in($x, semigroup1.carrier($M)) and set1.in($y, semigroup1.carrier($G)) ==> $f($x * $y) = $f($y) * $f($x)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    is_homomorphism 
                                     
                                    
                                       ( 
                                       M 
                                       , 
                                       N 
                                       , 
                                       f 
                                       ) 
                                     
                                  
                                 ⇒ 
                                 
                                    ∀ 
                                      
                                    
                                       x 
                                       , 
                                       y 
                                     
                                    . 
                                    
                                       
                                          
                                             x 
                                             ∈ 
                                             
                                                carrier 
                                                 
                                                
                                                   ( 
                                                   M 
                                                   ) 
                                                 
                                              
                                           
                                          ∧ 
                                          
                                             y 
                                             ∈ 
                                             
                                                carrier 
                                                 
                                                
                                                   ( 
                                                   G 
                                                   ) 
                                                 
                                              
                                           
                                        
                                       ⇒ 
                                       
                                          
                                             f 
                                              
                                             
                                                ( 
                                                
                                                   x 
                                                    
                                                   y 
                                                 
                                                ) 
                                              
                                           
                                          = 
                                          
                                             
                                                f 
                                                 
                                                
                                                   ( 
                                                   y 
                                                   ) 
                                                 
                                              
                                              
                                             
                                                f 
                                                 
                                                
                                                   ( 
                                                   x 
                                                   ) 
                                                 
                                              
                                           
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="semigroup2" name="is_homomorphism"/>
          <OMV name="M"/>  <OMV name="N"/> <OMV name="f"/>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="semigroup2">is_homomorphism</csymbol><ci>M</ci><ci>N</ci><ci>f</ci></apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
     semigroup2.is_homomorphism($M, $N, $f)
    
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 is_homomorphism 
                                  
                                 
                                    ( 
                                    M 
                                    , 
                                    N 
                                    , 
                                    f 
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a boolean function with three arguments.
The first and arguments are semigroups M, N,
the third is a map f from the element set of M to the element set of N.
When applied to M, N, and f, it denotes that f is a semigroup isomorphism from M
to N.
This means that f is a homomorphism from M to N,
that f is bijective, and that its inverse  is a homomorphism from N to M.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="semigroup2" name="is_isomorphism"/>
          <OMV name="M"/>  <OMV name="N"/> <OMV name="f"/>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="semigroup2">is_isomorphism</csymbol><ci>M</ci><ci>N</ci><ci>f</ci></apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
     semigroup2.is_isomorphism($M, $N, $f)
    
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 is_isomorphism 
                                  
                                 
                                    ( 
                                    M 
                                    , 
                                    N 
                                    , 
                                    f 
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a boolean function with two arguments.
The first argument is a semigroup M,
the second is a map f from the element set of M to the element set of M.
When applied to M and f, it denotes that f is a semigroup endomorphism from M
to M.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
If is_endomorphism(M,f) then is_homomorphism(M,M,f)
 
             
            
               
                  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="semigroup2" name="is_endomorphism"/>
            <OMV name="M"/>  <OMV name="f"/>
       </OMA>
       <OMA><OMS cd="semigroup2" name="is_homomorphism"/>
            <OMV name="M"/> <OMV name="M"/>  <OMV name="f"/>
       </OMA>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="semigroup2">is_endomorphism</csymbol><ci>M</ci><ci>f</ci></apply>
  <apply><csymbol cd="semigroup2">is_homomorphism</csymbol><ci>M</ci><ci>M</ci><ci>f</ci></apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  semigroup2.is_endomorphism($M, $f) ==> semigroup2.is_homomorphism($M, $M, $f)
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    is_endomorphism 
                                     
                                    
                                       ( 
                                       M 
                                       , 
                                       f 
                                       ) 
                                     
                                  
                                 ⇒ 
                                 
                                    is_homomorphism 
                                     
                                    
                                       ( 
                                       M 
                                       , 
                                       M 
                                       , 
                                       f 
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="semigroup2" name="is_endomorphism"/>
          <OMV name="M"/> <OMV name="f"/>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML"><apply><csymbol cd="semigroup2">is_endomorphism</csymbol><ci>M</ci><ci>f</ci></apply></math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
     semigroup2.is_endomorphism($M, $f)
    
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 is_endomorphism 
                                  
                                 
                                    ( 
                                    M 
                                    , 
                                    f 
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a boolean function with two arguments.
The first is a semigroup M,
the second is a map f from the element set of M to the element set of M.
When applied to M and f, it denotes a semigroup automorphism f of  M.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
If is_automorphism(M,f) then is_isomorphism(M,M,f)
 
             
            
               
                  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="semigroup2" name="is_automorphism"/>
            <OMV name="M"/>  <OMV name="f"/>
       </OMA>
       <OMA><OMS cd="semigroup2" name="is_isomorphism"/>
            <OMV name="M"/> <OMV name="M"/>  <OMV name="f"/>
       </OMA>
  </OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="semigroup2">is_automorphism</csymbol><ci>M</ci><ci>f</ci></apply>
  <apply><csymbol cd="semigroup2">is_isomorphism</csymbol><ci>M</ci><ci>M</ci><ci>f</ci></apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
  semigroup2.is_automorphism($M, $f) ==> semigroup2.is_isomorphism($M, $M, $f)
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 
                                    is_automorphism 
                                     
                                    
                                       ( 
                                       M 
                                       , 
                                       f 
                                       ) 
                                     
                                  
                                 ⇒ 
                                 
                                    is_isomorphism 
                                     
                                    
                                       ( 
                                       M 
                                       , 
                                       M 
                                       , 
                                       f 
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="semigroup2" name="is_automorphism"/>
          <OMV name="M"/> <OMV name="f"/>
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML"><apply><csymbol cd="semigroup2">is_automorphism</csymbol><ci>M</ci><ci>f</ci></apply></math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
     semigroup2.is_automorphism($M, $f)
    
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 is_automorphism 
                                  
                                 
                                    ( 
                                    M 
                                    , 
                                    f 
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a function with two arguments, which should be a semigroup M
and an element x of M.
When applied to M and x, it denotes left multiplication on M by x.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
left_multiplication(M,x) (y) = x * y.
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
       <OMBIND><OMS cd="quant1" name="forall"/>
            <OMBVAR><OMV name="M"/><OMV name="x"/><OMV name="y"/>  </OMBVAR>
            <OMA><OMS cd="relation1" name="eq"/>
                 <OMA><OMA><OMS cd="semigroup2" name="left_multiplication"/>
                           <OMV name="M"/> <OMV name="x"/>
                      </OMA>
                      <OMV name="y"/>
                 </OMA>
                 <OMA><OMS cd="semigroup1" name="multiplication"/>
                      <OMV name="M"/>
                      <OMV name="x"/><OMV name="y"/>
                 </OMA>
             </OMA>
        </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>M</ci></bvar>
  <bvar><ci>x</ci></bvar>
  <bvar><ci>y</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply>
    <apply><csymbol cd="semigroup2">left_multiplication</csymbol><ci>M</ci><ci>x</ci></apply>
    <ci>y</ci>
   </apply>
   <apply><csymbol cd="semigroup1">multiplication</csymbol><ci>M</ci><ci>x</ci><ci>y</ci></apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
       quant1.forall[$M, $x, $y -> semigroup2.left_multiplication($M, $x)($y) = semigroup1.multiplication($M, $x, $y)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    M 
                                    , 
                                    x 
                                    , 
                                    y 
                                  
                                 . 
                                 
                                    
                                       
                                          ( 
                                          
                                             left_multiplication 
                                              
                                             
                                                ( 
                                                M 
                                                , 
                                                x 
                                                ) 
                                              
                                           
                                          ) 
                                        
                                        
                                       
                                          ( 
                                          y 
                                          ) 
                                        
                                     
                                    = 
                                    
                                       multiplication 
                                        
                                       
                                          ( 
                                          M 
                                          , 
                                          x 
                                          , 
                                          y 
                                          ) 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a function with two arguments, which should be a semigroup M
and an element x of M.
When applied to M and x, it denotes right multiplication on M by x.
                
             
            
               
                  Commented Mathematical property (CMP): 
                
               
right_multiplication(M,x) (y) = y * x.
 
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
       <OMBIND><OMS cd="quant1" name="forall"/>
            <OMBVAR><OMV name="M"/><OMV name="x"/><OMV name="y"/>  </OMBVAR>
            <OMA><OMS cd="relation1" name="eq"/>
                 <OMA><OMA><OMS cd="semigroup2" name="right_multiplication"/>
                           <OMV name="M"/> <OMV name="x"/>
                      </OMA>
                      <OMV name="y"/>
                 </OMA>
                 <OMA><OMS cd="semigroup1" name="multiplication"/>
                      <OMV name="M"/>
                      <OMV name="y"/><OMV name="x"/>
                 </OMA>
             </OMA>
        </OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>M</ci></bvar>
  <bvar><ci>x</ci></bvar>
  <bvar><ci>y</ci></bvar>
  <apply><csymbol cd="relation1">eq</csymbol>
   <apply>
    <apply><csymbol cd="semigroup2">right_multiplication</csymbol><ci>M</ci><ci>x</ci></apply>
    <ci>y</ci>
   </apply>
   <apply><csymbol cd="semigroup1">multiplication</csymbol><ci>M</ci><ci>y</ci><ci>x</ci></apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
       quant1.forall[$M, $x, $y -> semigroup2.right_multiplication($M, $x)($y) = semigroup1.multiplication($M, $y, $x)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    M 
                                    , 
                                    x 
                                    , 
                                    y 
                                  
                                 . 
                                 
                                    
                                       
                                          ( 
                                          
                                             right_multiplication 
                                              
                                             
                                                ( 
                                                M 
                                                , 
                                                x 
                                                ) 
                                              
                                           
                                          ) 
                                        
                                        
                                       
                                          ( 
                                          y 
                                          ) 
                                        
                                     
                                    = 
                                    
                                       multiplication 
                                        
                                       
                                          ( 
                                          M 
                                          , 
                                          y 
                                          , 
                                          x 
                                          ) 
                                        
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                  
This symbol is a Boolean function with n arguments, n at least 2, which are semigroups.
When applied to M_1, ..., M_n, it denotes the fact that there is an
isomorphism from each M_i to each M_j.
                
             
            
               
                  Example: 
                
               
                  
                     OpenMath XML (source) 
                     
    <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
     <OMA><OMS cd="semigroup2" name="isomorphic"/>
          <OMV name="M"/>  <OMV name="N"/> 
     </OMA>
    </OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML"><apply><csymbol cd="semigroup2">isomorphic</csymbol><ci>M</ci><ci>N</ci></apply></math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
     semigroup2.isomorphic($M, $N)
    
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts