
<!--
     File isoamsb.ent produced by the XSL script entities.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 4.0.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->


<!-- 
     Version: $Id: isoamsb.ent,v 1.1 2008/10/23 23:40:31 dacarver Exp $

       Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML
       System identifier: http://www.w3.org/2003/entities/iso8879/isoamsb.ent

     The public identifier should always be used verbatim.
     The system identifier may be changed to suit local requirements.

     Typical invocation:

       <!ENTITY % isoamsb PUBLIC
         "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
         "http://www.w3.org/2003/entities/iso8879/isoamsb.ent"
       >
       %isoamsb;

-->

<!ENTITY amalg            "&#x02A3F;" ><!--AMALGAMATION OR COPRODUCT -->
<!ENTITY Barwed           "&#x02306;" ><!--PERSPECTIVE -->
<!ENTITY barwed           "&#x02305;" ><!--PROJECTIVE -->
<!ENTITY Cap              "&#x022D2;" ><!--DOUBLE INTERSECTION -->
<!ENTITY coprod           "&#x02210;" ><!--N-ARY COPRODUCT -->
<!ENTITY Cup              "&#x022D3;" ><!--DOUBLE UNION -->
<!ENTITY cuvee            "&#x022CE;" ><!--CURLY LOGICAL OR -->
<!ENTITY cuwed            "&#x022CF;" ><!--CURLY LOGICAL AND -->
<!ENTITY diam             "&#x022C4;" ><!--DIAMOND OPERATOR -->
<!ENTITY divonx           "&#x022C7;" ><!--DIVISION TIMES -->
<!ENTITY intcal           "&#x022BA;" ><!--INTERCALATE -->
<!ENTITY lthree           "&#x022CB;" ><!--LEFT SEMIDIRECT PRODUCT -->
<!ENTITY ltimes           "&#x022C9;" ><!--LEFT NORMAL FACTOR SEMIDIRECT PRODUCT -->
<!ENTITY minusb           "&#x0229F;" ><!--SQUARED MINUS -->
<!ENTITY oast             "&#x0229B;" ><!--CIRCLED ASTERISK OPERATOR -->
<!ENTITY ocir             "&#x0229A;" ><!--CIRCLED RING OPERATOR -->
<!ENTITY odash            "&#x0229D;" ><!--CIRCLED DASH -->
<!ENTITY odot             "&#x02299;" ><!--CIRCLED DOT OPERATOR -->
<!ENTITY ominus           "&#x02296;" ><!--CIRCLED MINUS -->
<!ENTITY oplus            "&#x02295;" ><!--CIRCLED PLUS -->
<!ENTITY osol             "&#x02298;" ><!--CIRCLED DIVISION SLASH -->
<!ENTITY otimes           "&#x02297;" ><!--CIRCLED TIMES -->
<!ENTITY plusb            "&#x0229E;" ><!--SQUARED PLUS -->
<!ENTITY plusdo           "&#x02214;" ><!--DOT PLUS -->
<!ENTITY prod             "&#x0220F;" ><!--N-ARY PRODUCT -->
<!ENTITY rthree           "&#x022CC;" ><!--RIGHT SEMIDIRECT PRODUCT -->
<!ENTITY rtimes           "&#x022CA;" ><!--RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT -->
<!ENTITY sdot             "&#x022C5;" ><!--DOT OPERATOR -->
<!ENTITY sdotb            "&#x022A1;" ><!--SQUARED DOT OPERATOR -->
<!ENTITY setmn            "&#x02216;" ><!--SET MINUS -->
<!ENTITY sqcap            "&#x02293;" ><!--SQUARE CAP -->
<!ENTITY sqcup            "&#x02294;" ><!--SQUARE CUP -->
<!ENTITY ssetmn           "&#x02216;" ><!--SET MINUS -->
<!ENTITY sstarf           "&#x022C6;" ><!--STAR OPERATOR -->
<!ENTITY sum              "&#x02211;" ><!--N-ARY SUMMATION -->
<!ENTITY timesb           "&#x022A0;" ><!--SQUARED TIMES -->
<!ENTITY top              "&#x022A4;" ><!--DOWN TACK -->
<!ENTITY uplus            "&#x0228E;" ><!--MULTISET UNION -->
<!ENTITY wreath           "&#x02240;" ><!--WREATH PRODUCT -->
<!ENTITY xcirc            "&#x025EF;" ><!--LARGE CIRCLE -->
<!ENTITY xdtri            "&#x025BD;" ><!--WHITE DOWN-POINTING TRIANGLE -->
<!ENTITY xutri            "&#x025B3;" ><!--WHITE UP-POINTING TRIANGLE -->
