<?xml version="1.0"?>
<!--This OMDoc document is generated from an sTeX-encoded one via LaTeXML, you may want to reconsider editing it.-->
<omdoc xmlns:omdoc="http://omdoc.org/ns" xmlns="http://omdoc.org/ns" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:stex="http://kwarc.info/ns/sTeX" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns" xmlns:om="http://www.openmath.org/OpenMath">
  <omdoc:omgroup layout="sectioning" xml:id="sec.functions" about="#sec.functions" stex:srcref="functions.tex#textrange(from=1;0,to=18;13)">
    <omdoc:metadata xml:id="sec.functions.metadata1" about="#sec.functions.metadata1" stex:srcref="functions.tex#textrange(from=1;0,to=17;12)">
      <dc:title xml:id="sec.functions.metadata1.title1" about="#sec.functions.metadata1.title1" stex:srcref="functions.tex#textrange(from=1;0,to=18;13)">Functions</dc:title>
    </omdoc:metadata>
    <theory xml:id="functions" about="#functions" stex:srcref="functions.tex#textrange(from=2;0,to=17;12)">
      <omdoc:symbol name="cart" xml:id="cart.sym" about="#cart.sym" stex:srcref="functions.tex#textrange(from=3;0,to=3;55)"/>
      <omdoc:notation cd="functions" name="cart">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="cart"/>
            <omdoc:exprlist name="args">
              <omdoc:expr name="arg"/>
            </omdoc:exprlist>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="500">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <omdoc:iterate name="args">
              <omdoc:separator>
                <m:mo cr="fun">&#xD7;</m:mo>
              </omdoc:separator>
              <omdoc:render name="arg"/>
            </omdoc:iterate>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="fun" xml:id="fun.sym" about="#fun.sym" stex:srcref="functions.tex#textrange(from=4;1,to=4;72)"/>
      <omdoc:notation cd="functions" name="fun">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="fun"/>
            <omdoc:expr name="arg1"/>
            <omdoc:expr name="arg2"/>
            <omdoc:expr name="arg3"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="200">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <render name="arg1" precedence="200"/>
            <m:mo cr="fun">:</m:mo>
            <render name="arg2" precedence="200"/>
            <m:mo cr="fun">&#x2192;</m:mo>
            <render name="arg3" precedence="200"/>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="inset" xml:id="inset.sym" about="#inset.sym" stex:srcref="functions.tex#textrange(from=5;1,to=5;46)"/>
      <omdoc:notation cd="functions" name="inset">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="inset"/>
            <omdoc:expr name="arg1"/>
            <omdoc:expr name="arg2"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="650">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <render name="arg1" precedence="650"/>
            <m:mo cr="fun">&#x2208;</m:mo>
            <render name="arg2" precedence="650"/>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="sseteq" xml:id="sseteq.sym" about="#sseteq.sym" stex:srcref="functions.tex#textrange(from=6;0,to=6;41)"/>
      <omdoc:notation cd="functions" name="sseteq">
        <omdoc:prototype>
          <om:OMS cd="functions" name="sseteq"/>
        </omdoc:prototype>
        <omdoc:rendering>
          <m:mo>&#x2286;</m:mo>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:notation cd="functions" name="sseteq">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="sseteq"/>
            <omdoc:expr name="arg1"/>
            <omdoc:expr name="arg2"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="300">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <render name="arg1" precedence="300"/>
            <m:mo cr="fun">&#x2286;</m:mo>
            <render name="arg2" precedence="300"/>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="tup" xml:id="tup.sym" about="#tup.sym" stex:srcref="functions.tex#textrange(from=8;1,to=8;34)"/>
      <omdoc:notation cd="functions" name="tup">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="tup"/>
            <omdoc:expr name="arg1"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering>
          <m:mfenced open="&#x27E8;" close="&#x27E9;">
            <render name="arg1"/>
          </m:mfenced>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:notation cd="functions" name="cart">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="cart"/>
            <omdoc:expr name="arg1"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering>
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <omdoc:iterate name="args">
              <omdoc:separator>
                <m:mo cr="fun">&#xD7;</m:mo>
              </omdoc:separator>
              <omdoc:render name="arg"/>
            </omdoc:iterate>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="setdiff" xml:id="setdiff.sym" about="#setdiff.sym" stex:srcref="functions.tex#textrange(from=10;0,to=10;44)"/>
      <omdoc:notation cd="functions" name="setdiff">
        <omdoc:prototype>
          <om:OMS cd="functions" name="setdiff"/>
        </omdoc:prototype>
        <omdoc:rendering>
          <m:mo>\</m:mo>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:notation cd="functions" name="setdiff">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="setdiff"/>
            <omdoc:expr name="arg1"/>
            <omdoc:expr name="arg2"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="600">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <render name="arg1" precedence="600"/>
            <m:mo cr="fun">\</m:mo>
            <render name="arg2" precedence="600"/>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="set" xml:id="set.sym" about="#set.sym" stex:srcref="functions.tex#textrange(from=12;0,to=12;62)"/>
      <omdoc:notation cd="functions" name="set">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="set"/>
            <omdoc:exprlist name="args">
              <omdoc:expr name="arg"/>
            </omdoc:exprlist>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="1000000">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <m:mo cr="fun">{</m:mo>
            <omdoc:iterate name="args" precedence="-1000000">
              <omdoc:separator>
                <m:mo cr="fun">,</m:mo>
              </omdoc:separator>
              <omdoc:render name="arg" precedence="-1000000"/>
            </omdoc:iterate>
            <m:mo cr="fun">}</m:mo>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="setst" xml:id="setst.sym" about="#setst.sym" stex:srcref="functions.tex#textrange(from=13;1,to=13;67)"/>
      <omdoc:notation cd="functions" name="setst">
        <omdoc:prototype>
          <om:OMA>
            <om:OMS cd="functions" cr="fun" name="setst"/>
            <omdoc:expr name="arg1"/>
            <omdoc:expr name="arg2"/>
          </om:OMA>
        </omdoc:prototype>
        <omdoc:rendering precedence="1000000">
          <m:mrow>
            <m:mo egroup="fence" fence="true">(</m:mo>
            <m:mo cr="fun">{</m:mo>
            <render name="arg1" precedence="-1000000"/>
            <m:mo cr="fun">&#x2223;</m:mo>
            <render name="arg2" precedence="-1000000"/>
            <m:mo cr="fun">}</m:mo>
            <m:mo egroup="fence" fence="true">)</m:mo>
          </m:mrow>
        </omdoc:rendering>
      </omdoc:notation>
      <omdoc:symbol name="function" xml:id="function.def.sym" about="#function.def.sym" stex:srcref="functions.tex#textrange(from=14;0,to=16;16)"/>
      <omdoc:definition for="function" xml:id="functions.def" about="#functions.def" stex:srcref="functions.tex#textrange(from=14;0,to=16;16)">
        <omdoc:CMP xml:id="functions.def.CMP1" about="#functions.def.CMP1" stex:srcref="functions.tex#textrange(from=14;0,to=16;16)">
    <p xmlns="http://www.w3.org/1999/xhtml" style="" class="p" id="functions.def.CMP1.p1">A <omdoc:idx xml:id="functions.def.CMP1.p1.idx1" about="#functions.def.CMP1.p1.idx1" stex:srcref="functions.tex#textrange(from=14;68,to=15;19)"><omdoc:idt xml:id="functions.def.CMP1.p1.idx1.idt1" about="#functions.def.CMP1.p1.idx1.idt1" stex:srcref="functions.tex#textrange(from=14;68,to=15;19)"><omdoc:term cd="functions" name="function" role="definiendum" xml:id="functions.def.CMP1.p1.idx1.idt1.term1" about="#functions.def.CMP1.p1.idx1.idt1.term1" stex:srcref="functions.tex#textrange(from=14;68,to=15;19)">function</omdoc:term></omdoc:idt><omdoc:ide index="default" xml:id="functions.def.CMP1.p1.idx1.ide2" about="#functions.def.CMP1.p1.idx1.ide2" stex:srcref="functions.tex#textrange(from=14;68,to=15;19)"><omdoc:idp>function</omdoc:idp></omdoc:ide></omdoc:idx><om:OMOBJ><om:OMA><om:OMS cd="functions" name="fun"/><om:OMV name="f"/><om:OMV name="A"/><om:OMV name="B"/></om:OMA></om:OMOBJ> is a left-total, right-unique relation in <om:OMOBJ><om:OMA><om:OMS cd="functions" name="cart"/><om:OMV name="A"/><om:OMV name="B"/></om:OMA></om:OMOBJ></p>
  </omdoc:CMP>
      </omdoc:definition>
    </theory>
  </omdoc:omgroup>
</omdoc>
