<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
  "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
  [<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
   <!ENTITY CLin "<mo class='builtin' lspace='thickmathspace' rspace='thickmathspace'>&epsiv;</mo>">]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Clausal Language (ver. 5.81.20, by P.J. Voda, J. Komara, J. Kluka)</title
>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="formdata2querystring.js"></script>
<script type="text/javascript" src="submit-update.js"></script>
<link rel="stylesheet" type="text/css" href="default.css" title="Default"/>
<link rel="alternate stylesheet" type="text/css" href="embers.css" title="Embers"
/>
</head>
<body>
<div id="_updater_" name="_edit_updater_">...
</div>
<div id="_main_editor_">
<form action="#" method="POST" class="quit_box"><input type="hidden" name="action"
 value="quit"/><input type="hidden" name="selector" value="id------"/><button
 type="submit" name="name" value="File" accesskey="f" title="Alt+Shift+F" class="quit"
 onclick="return submitForm(this.form,this);"><span class="acskey">F</span>ile</button
><button type="submit" name="name" value="Save" accesskey="s" title="Alt+Shift+S"
 class="quit" onclick="return submitForm(this.form,this);"><span class="acskey"
>S</span>ave</button><button type="submit" name="name" value="Setup" accesskey="u"
 title="Alt+Shift+U" class="quit" onclick="return submitForm(this.form,this);"
>Set<span class="acskey">u</span>p</button><button type="submit" name="name"
 value="Recompile" accesskey="r" title="Alt+Shift+R" class="quit" onclick="return submitForm(this.form,this);"
><span class="acskey">R</span>ecompile</button><button type="submit" name="name"
 value="Reexec. Query" accesskey="q" title="Alt+Shift+Q" class="quit" onclick="return submitForm(this.form,this);"
>Reexec. <span class="acskey">Q</span>uery</button><button type="submit" name="name"
 value="Save &amp; Exit" accesskey="x" title="Alt+Shift+X" class="quit" onclick="return submitForm(this.form,this);"
>Save &amp; E<span class="acskey">x</span>it</button><input type="hidden" name="xoff"
 value="0"/><input type="hidden" name="yoff" value="0"/>
</form>
<div class="framed1">
<div class="framename">Clausal Language (ver. 5.81.20, by P.J. Voda, J. Komara, J. Kluka)
</div>
<div id="idD-----">
<div id="idE-----" class="editable">
<div id="idF-----"/>
</div>
<div id="idG-----" class="editable">
<div id="idH-----"/>
</div>
<div id="idI-----" class="editable">
<div id="idJ-----"/>
</div>
</div>
<div id="idL-----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Module&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr">Ex06a</mi>
</math></span>
</div>
<div class="editbuttontd">
<form action="#idL-----" method="POST" id="idL-----__" onsubmit="return submitForm(this,this);"
><a name="idL-----"/><input type="hidden" name="selector" value="idL-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
<div id="idM-----">
<div id="idN-----" class="editable"><a name="idP-----"/>
<form action="#idP-----" method="POST" id="idP-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idP-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQ-----" class="fill"><a name="idQ-----"/><span class="header">Included module&nbsp;<math
 xmlns="&mathml;">
<mi class="comp_id_hdr">Standard</mi>
</math></span>
</div>
</div>
<div id="idR-----" class="editable"><a name="idT-----"/>
<form action="#idT-----" method="POST" id="idT-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idT-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idU-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>6. CVIČENIE (DOMÁCA ÚLOHA) Z PREDMETU ÚVOD DO DEKLARATÍVNEHO PROGRAMOVANIA
 LS 2013/2014</b>
</p>
<p><b>ČASŤ A</b>
</p>
<p>http://dai.fmph.uniba.sk/courses/udp/ex/ex06.zip
</p>
</div>
<div class="editbuttontd">
<form action="#idU-----" method="POST" id="idU-----__" onsubmit="return submitForm(this,this);"
><a name="idU-----"/><input type="hidden" name="selector" value="idU-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idV-----" class="editable"><a name="idX-----"/>
<form action="#idX-----" method="POST" id="idX-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idX-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idY-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i>Dátum:</i> 27. 3. 2014
</p>
<p><i>Odporúčaná verzia CL:</i> <b>5.81.20</b>
</p>
<p><i>WWW stránka predmetu:</i> http://dai.fmph.uniba.sk/courses/udp/
</p>
<p><i>Kontakt:</i> udp(zavináč)lists.dai.fmph.uniba.sk
</p>
</div>
<div class="editbuttontd">
<form action="#idY-----" method="POST" id="idY-----__" onsubmit="return submitForm(this,this);"
><a name="idY-----"/><input type="hidden" name="selector" value="idY-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idZ-----" class="editable"><a name="idb-----"/>
<form action="#idb-----" method="POST" id="idb-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idb-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idc-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úvodná poznámka.</b> Toto cvičenie je venované triedeniu zoznamov (<i
>ex06a</i>) a reprezentácii konečných množín usporiadanými zoznamami 
bez opakovania (<i>ex06b</i>).
</p>
</div>
<div class="editbuttontd">
<form action="#idc-----" method="POST" id="idc-----__" onsubmit="return submitForm(this,this);"
><a name="idc-----"/><input type="hidden" name="selector" value="idc-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idd-----" class="editable"><a name="idf-----"/>
<form action="#idf-----" method="POST" id="idf-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idf-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idg-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i>Literatúra.</i>
</p>
<p>[1] J. Kľuka. Prednášky z Úvodu do deklaratívneho programovania LS 2013/2014.
</p>
<p class="indented">http://dai.fmph.uniba.sk/courses/udp/udp-prednasky-2014.pdf
</p>
<p>[2] D. Guller. Poznámky k prednáškam z CL.
</p>
<p>[3] J. Komara and P. J. Voda. Metamathematics of Computer Programming. 
2001.
</p>
</div>
<div class="editbuttontd">
<form action="#idg-----" method="POST" id="idg-----__" onsubmit="return submitForm(this,this);"
><a name="idg-----"/><input type="hidden" name="selector" value="idg-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idh-----" class="editable"><a name="idj-----"/>
<form action="#idj-----" method="POST" id="idj-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idj-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idk-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i>Poznámka.</i> Nadpisy sú číslované podľa [1].
</p>
</div>
<div class="editbuttontd">
<form action="#idk-----" method="POST" id="idk-----__" onsubmit="return submitForm(this,this);"
><a name="idk-----"/><input type="hidden" name="selector" value="idk-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idl-----" class="editable"><a name="idn-----"/>
<form action="#idn-----" method="POST" id="idn-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idn-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="ido-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p>Preskočte nasledujúce komponenty po nadpis „CVIČENIE“.
</p>
</div>
<div class="editbuttontd">
<form action="#ido-----" method="POST" id="ido-----__" onsubmit="return submitForm(this,this);"
><a name="ido-----"/><input type="hidden" name="selector" value="ido-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idp-----" class="editable"><a name="idr-----"/>
<form action="#idr-----" method="POST" id="idr-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idr-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="ids-----" class="fill"><a name="ids-----"/><span class="header">Included module&nbsp;<math
 xmlns="&mathml;">
<msub class="comp_id_hdr"><mi class="comp_id_hdr">Mtesting</mi><mn class="id_sub"
>06</mn>
</msub>
</math></span>
</div>
</div>
<div id="idt-----" class="editable"><a name="idv-----"/>
<form action="#idv-----" method="POST" id="idv-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idv-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idw-----" class="fill"><a name="idw-----"/><span class="header">Application display&nbsp;<em
>Tex0_foo</em>&nbsp;/&nbsp;0: <math xmlns="&mathml;">
<mi>?</mi>
<mfenced><mi>&ctdot;</mi>
</mfenced>
</math></span>
</div>
</div>
<div id="idx-----" class="editable"><a name="idz-----"/>
<form action="#idz-----" method="POST" id="idz-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idz-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id0-----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<acronym title="This function is a constructor"
 class="fun_constr"><math xmlns="&mathml;">
<mi class="inh_col_id">Foo</mi>
</math></acronym>&nbsp;/&nbsp;0 displayed by&nbsp;<em>Tex0_foo</em> as&nbsp;<math
 xmlns="&mathml;">
<mi class="adident">?</mi>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="adident">?</mi><mo>=</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#id0-----" method="POST" id="id0-----__" onsubmit="return submitForm(this,this);"
><a name="id0-----"/><input type="hidden" name="selector" value="id0-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id1-----" class="editable"><a name="id3-----"/>
<form action="#id3-----" method="POST" id="id3-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id3-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id4-----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Predicate&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Quux</mi>
</math></span>&nbsp;/&nbsp;0 displayed by&nbsp;<em>Tex0_foo</em> as&nbsp;<math
 xmlns="&mathml;">
<mi class="adident">?</mi>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="adident">?</mi><mo>&harr;</mo><mo>&bot;</mo>
</math>
</div>
<div class="editbuttontd">
<form action="#id4-----" method="POST" id="id4-----__" onsubmit="return submitForm(this,this);"
><a name="id4-----"/><input type="hidden" name="selector" value="id4-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id5-----" class="editable"><a name="id7-----"/>
<form action="#id7-----" method="POST" id="id7-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id7-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id8-----" class="fill"><a name="id8-----"/><span class="header">Application display&nbsp;<em
>Tex0_cdots</em>&nbsp;/&nbsp;0: <math xmlns="&mathml;">
<mo>&ctdot;</mo>
</math></span>
</div>
</div>
<div id="id9-----" class="editable"><a name="id-A----"/>
<form action="#id-A----" method="POST" id="id-A----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id-A----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idAA----" class="fill"><a name="idAA----"/><span class="header">Application display&nbsp;<em
>Tex1_paren</em>&nbsp;/&nbsp;1: <math xmlns="&mathml;">
<mo>(</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub><mo>)</mo>
</math></span>
</div>
</div>
<div id="idBA----" class="editable"><a name="idDA----"/>
<form action="#idDA----" method="POST" id="idDA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idDA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idEA----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Paren</mi>
</math></span> displayed by&nbsp;<em>Tex1_paren</em> as&nbsp;<math xmlns="&mathml;"
>
<mrow><mo>(</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle><mo>)</mo>
</mrow>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi>x</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idEA----" method="POST" id="idEA----__" onsubmit="return submitForm(this,this);"
><a name="idEA----"/><input type="hidden" name="selector" value="idEA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idFA----" class="editable"><a name="idHA----"/>
<form action="#idHA----" method="POST" id="idHA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idHA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idIA----" class="fill"><a name="idIA----"/><span class="header">Application display&nbsp;<em
>Tex2_equiv</em>&nbsp;/&nbsp;2: <math xmlns="&mathml;">
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub><mo>&equiv;</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub>
</math></span>
</div>
</div>
<div id="idJA----" class="editable"><a name="idLA----"/>
<form action="#idLA----" method="POST" id="idLA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idLA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idMA----" class="fill"><a name="idMA----"/><span class="header">Application display&nbsp;<em
>Tex2_count</em>&nbsp;/&nbsp;2: <math xmlns="&mathml;">
<msub><mo>#</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub>
</msub>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub>
</math></span>
</div>
</div>
<div id="idNA----" class="editable"><a name="idPA----"/>
<form action="#idPA----" method="POST" id="idPA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idPA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQA----" class="fill"><a name="idQA----"/><span class="header">Application display&nbsp;<em
>Tex2_perm</em>&nbsp;/&nbsp;2: <math xmlns="&mathml;">
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub><mo>&sim;</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub>
</math></span>
</div>
</div>
<div id="idRA----" class="editable"><a name="idTA----"/>
<form action="#idTA----" method="POST" id="idTA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idTA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idUA----" class="fill"><a name="idUA----"/><span class="header">Application display&nbsp;<em
>Tex2_sub</em>&nbsp;/&nbsp;2: <math xmlns="&mathml;">
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub>
<mrow><mo>[</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub><mo>]</mo>
</mrow>
</math></span>
</div>
</div>
<div id="idVA----" class="editable"><a name="idXA----"/>
<form action="#idXA----" method="POST" id="idXA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idXA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idYA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>C V I Č E N I E</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idYA----" method="POST" id="idYA----__" onsubmit="return submitForm(this,this);"
><a name="idYA----"/><input type="hidden" name="selector" value="idYA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idZA----" class="editable"><a name="idbA----"/>
<form action="#idbA----" method="POST" id="idbA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idbA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idcA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>11. PREDIKÁTY</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idcA----" method="POST" id="idcA----__" onsubmit="return submitForm(this,this);"
><a name="idcA----"/><input type="hidden" name="selector" value="idcA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="iddA----" class="editable"><a name="idfA----"/>
<form action="#idfA----" method="POST" id="idfA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idfA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idgA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b><i>Prvok zoznamu.</i></b> Zabudovaný predikát <math xmlns="&mathml;"
>
<mi>a</mi>&CLin;<mi fontstyle="italic">xs</mi>
</math> platí práve vtedy, keď <math xmlns="&mathml;">
<mi>a</mi>
</math> je prvkom zoznamu <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math>, teda
</p>
<math xmlns="&mathml;" mode="display">
<mi>a</mi>&CLin;<mi fontstyle="italic">xs</mi><mo>&harr;</mo>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mi fontstyle="italic">xs</mi><mo>=</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo class="builtin">&oplus;</mo>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo class="builtin">,</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow>
</mrow>
</math>
<p>Tento predikát je zadefinovaný zoznamovou rekurziou nasledovne:
</p>
<div style="margin-left: 2em">
<math xmlns="&mathml;" mode="display" class="clause">
<mrow>
<mstyle class="bvar"><mi>a</mi>
</mstyle>&CLin;
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle>
</mrow><mo>&larr;</mo>
<mrow><mi>a</mi><mo>=</mo><mi>x</mi>
</mrow>
</math>
<math xmlns="&mathml;" mode="display" class="clause">
<mrow>
<mstyle class="bvar"><mi>a</mi>
</mstyle>&CLin;
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle>
</mrow><mo>&larr;</mo>
<mrow><mi>a</mi><mo>&ne;</mo><mi>x</mi>
</mrow><mo>&and;</mo>
<mrow>
<mrow><mi>a</mi>&CLin;<mi fontstyle="italic">xs</mi>
</mrow>
</mrow>
</math>
</div>
<p>Predikát <math xmlns="&mathml;">
<mi>a</mi>&CLin;<mi fontstyle="italic">xs</mi>
</math> zapisujeme „ <math xmlns="&mathml;">
<mi>a</mi>
</math> in <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> “, jeho negáciu <math xmlns="&mathml;">
<mi>a</mi><mo class="builtin">&notin;</mo><mi fontstyle="italic">xs</mi>
</math> zapisujeme „ <math xmlns="&mathml;">
<mi>a</mi>
</math>  !in <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> “.
</p>
<p class="indented">Budeme ho používať <b>iba</b> na špecifikáciu a definovanie
 špecifikačných predikátov. <b>Nepoužívajte</b> tento predikát vo funkciách,
 znížite tým ich efektivitu.
</p>
</div>
<div class="editbuttontd">
<form action="#idgA----" method="POST" id="idgA----__" onsubmit="return submitForm(this,this);"
><a name="idgA----"/><input type="hidden" name="selector" value="idgA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idhA----" class="editable"><a name="idjA----"/>
<form action="#idjA----" method="POST" id="idjA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idjA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idkA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>12. TRIEDENIE ZOZNAMOV</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idkA----" method="POST" id="idkA----__" onsubmit="return submitForm(this,this);"
><a name="idkA----"/><input type="hidden" name="selector" value="idkA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idlA----" class="editable"><a name="idnA----"/>
<form action="#idnA----" method="POST" id="idnA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idnA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idoA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>12.1. Špecifikácia triedenia</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idoA----" method="POST" id="idoA----__" onsubmit="return submitForm(this,this);"
><a name="idoA----"/><input type="hidden" name="selector" value="idoA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idpA----" class="editable"><a name="idrA----"/>
<form action="#idrA----" method="POST" id="idrA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idrA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idsA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Count</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow><mo>&equiv;</mo>
<mrow>
<msub><mo>#</mo><mi>a</mi>
</msub>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</mrow>
</math>, ktorá zistí počet výskytov prvku <math xmlns="&mathml;">
<mi>a</mi>
</math> v zozname <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math>.
</p>
<p>Špecifikácia:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Count</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mn class="builtin">0</mn><mo
>)</mo>
</mrow><mo>=</mo><mn class="builtin">0</mn>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Count</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo class="builtin">&oplus;</mo>
<mrow class="cp2"><mo>(</mo><mi>a</mi><mo class="builtin">,</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo class="builtin">+</mo><mi class="ident"
>Count</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo class="builtin">&oplus;</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi>a</mi><mo>&ne;</mo><mi>x</mi><mo>&rarr;</mo><mi class="ident">Count</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo class="builtin">&oplus;</mo>
<mrow class="cp2"><mo>(</mo><mi>x</mi><mo class="builtin">,</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">Count</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo class="builtin">&oplus;</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</math>
<p>Napríklad <math xmlns="&mathml;">
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp1"><mo>(</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow><mo>=</mo><mn class="builtin">2</mn>
</math> a <math xmlns="&mathml;">
<mrow>
<msub><mo>#</mo><mn class="builtin">9</mn>
</msub>
<mrow class="cp1"><mo>(</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow><mo>=</mo><mn class="builtin">0</mn>
</math>.
</p>
<p>Testovanie:
</p><pre>    Count_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idsA----" method="POST" id="idsA----__" onsubmit="return submitForm(this,this);"
><a name="idsA----"/><input type="hidden" name="selector" value="idsA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idtA----" class="editable"><a name="idvA----"/>
<form action="#idvA----" method="POST" id="idvA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idvA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idwA----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Count</mi>
</math></span>&nbsp;/&nbsp;2 displayed by&nbsp;<em>Tex2_count</em> as&nbsp;<math
 xmlns="&mathml;">
<msub><mo>#</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle>
</msub>
<mrow><mo>(</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>2</mn>
</msub>
</mstyle><mo>)</mo>
</mrow>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
</msub>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idwA----" method="POST" id="idwA----__" onsubmit="return submitForm(this,this);"
><a name="idwA----"/><input type="hidden" name="selector" value="idwA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idxA----" class="editable"><a name="idzA----"/>
<form action="#idzA----" method="POST" id="idzA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idzA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id0A----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Count_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Count_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">1</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">2</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo>
<mrow>
<msub><mo>#</mo><mn class="builtin">9</mn>
</msub>
<mrow class="cp2"><mo>(</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#id0A----" method="POST" id="id0A----__" onsubmit="return submitForm(this,this);"
><a name="id0A----"/><input type="hidden" name="selector" value="id0A----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id1A----" class="editable"><a name="id3A----"/>
<form action="#id3A----" method="POST" id="id3A----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id3A----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id4A----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b><i>Permutácia zoznamu.</i></b> Predikát <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic">ys</mi>
</math> platí práve vtedy, keď zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> je permutáciou zoznamu <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math>. Táto vlastnosť sa dá vyjadriť porovnaním počtu výskytov prvkov
 v oboch zoznamoch nasledujúcou definíciou, podľa ktorej ale nie je možné
 platnosť predikátu počítať.
</p>
<p class="indented"><i>Poznámka.</i> Vypočítateľná definícia je predmetom
 častí a) a b) prémiovej domácej úlohy na konci tohto súboru.
</p>
</div>
<div class="editbuttontd">
<form action="#id4A----" method="POST" id="id4A----__" onsubmit="return submitForm(this,this);"
><a name="id4A----"/><input type="hidden" name="selector" value="id4A----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id5A----" class="editable"><a name="id7A----"/>
<form action="#id7A----" method="POST" id="id7A----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id7A----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id8A----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Predicate&nbsp;<acronym title="This is a non-Sigma0 definition"
 class="fun_pred_nsgm0"><math xmlns="&mathml;">
<msub class="inh_col_id"><mi class="inh_col_id">Perm</mi><mn class="id_sub">0</mn
>
</msub>
</math></acronym>&nbsp;/&nbsp;2 displayed by&nbsp;<em>Tex2_perm</em> as&nbsp;<math
 xmlns="&mathml;">
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle><mo>&sim;</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>2</mn>
</msub>
</mstyle>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>&sim;</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>&harr;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
</msub>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow><mo>=</mo>
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
</msub>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#id8A----" method="POST" id="id8A----__" onsubmit="return submitForm(this,this);"
><a name="id8A----"/><input type="hidden" name="selector" value="id8A----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id9A----" class="editable"><a name="id-B----"/>
<form action="#id-B----" method="POST" id="id-B----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id-B----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idAB----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte predikát <math xmlns="&mathml;">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>, ktorý platí práve vtedy, keď je <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> vzostupne usporiadaný zoznam, v ktorom sa prvky môžu opakovať.
</p>
<p>Formálne:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>&harr;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>b</mi>
</mstyle>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>=</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo class="builtin">&oplus;</mo>
<mrow class="cp2"><mo>(</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi>b</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>)</mo>
</mrow><mo>&rarr;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo class="builtin">&lE;</mo>
<mstyle class="bvar"><mi>b</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow>
</mrow>
</mrow>
</mrow>
</math>
<p>Napríklad
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mo>&not;</mo><mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mo>&not;</mo><mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>
<p>Testovanie:
</p><pre>    Ord_test = r:Results</pre>
<p>Predikát sa testuje prostredníctvom jeho charakteristickej funkcie <math
 xmlns="&mathml;">
<mi class="ident">Ord_</mi>
</math>. Jej definíciu nemeňte.
</p>
</div>
<div class="editbuttontd">
<form action="#idAB----" method="POST" id="idAB----__" onsubmit="return submitForm(this,this);"
><a name="idAB----"/><input type="hidden" name="selector" value="idAB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idBB----" class="editable"><a name="idDB----"/>
<form action="#idDB----" method="POST" id="idDB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idDB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idEB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Predicate&nbsp;<acronym title="This is an inductive predicate"
 class="pred_induct"><math xmlns="&mathml;">
<mi class="inh_col_id">Ord</mi>
</math></acronym></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>&larr;</mo>
<mrow><mi class="adident">?</mi>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#idEB----" method="POST" id="idEB----__" onsubmit="return submitForm(this,this);"
><a name="idEB----"/><input type="hidden" name="selector" value="idEB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idFB----" class="editable"><a name="idHB----"/>
<form action="#idHB----" method="POST" id="idHB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idHB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idIB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Ord_</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ord_</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo>&larr;</mo>
<mrow><mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</mrow>
</math>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ord_</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">0</mn><mo>&larr;</mo>
<mrow><mo>&not;</mo><mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#idIB----" method="POST" id="idIB----__" onsubmit="return submitForm(this,this);"
><a name="idIB----"/><input type="hidden" name="selector" value="idIB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idJB----" class="editable"><a name="idLB----"/>
<form action="#idLB----" method="POST" id="idLB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idLB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idMB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Ord_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ord_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">5</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ord_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idMB----" method="POST" id="idMB----__" onsubmit="return submitForm(this,this);"
><a name="idMB----"/><input type="hidden" name="selector" value="idMB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idNB----" class="editable"><a name="idPB----"/>
<form action="#idPB----" method="POST" id="idPB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idPB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQB----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b><i>Definícia.</i></b> Hovoríme, že funkcia <math xmlns="&mathml;">
<mi class="ident">Sort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math> je <i>triedením zoznamov</i>, ak platí
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi><mi class="ident">Sort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi class="ident">Sort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#idQB----" method="POST" id="idQB----__" onsubmit="return submitForm(this,this);"
><a name="idQB----"/><input type="hidden" name="selector" value="idQB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idRB----" class="editable"><a name="idTB----"/>
<form action="#idTB----" method="POST" id="idTB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idTB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idUB----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>12.2. Triedenie vsúvaním – insertion sort</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idUB----" method="POST" id="idUB----__" onsubmit="return submitForm(this,this);"
><a name="idUB----"/><input type="hidden" name="selector" value="idUB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idVB----" class="editable"><a name="idXB----"/>
<form action="#idXB----" method="POST" id="idXB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idXB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idYB----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow>
</math>, ktorá vsunie prvok <math xmlns="&mathml;">
<mi>a</mi>
</math> do <i>utriedeného</i> zoznamu <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> tak, aby výsledný zoznam bol utriedený.
</p>
<p>Predpokladajte a využite, že zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> je utriedený, ale jeho utriedenie netestujte ani nijak inak nezabezpečujte.
 Správaním funkcie <math xmlns="&mathml;">
<mi class="ident">Ins</mi>
</math> na neutriedenom zozname sa nezaoberajte.
</p>
<p>Špecifikácia:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Ord</mi><mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo class="builtin">,</mo><mi fontstyle="italic"
>xs</mi><mo>)</mo>
</mrow><mo>&sim;</mo><mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow>
</math>
<p>Napríklad <math xmlns="&mathml;">
<mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">4</mn><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin"
>,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin"
>6</mn><mo class="builtin">,</mo><mn class="builtin">12</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn>
</math>, <math xmlns="&mathml;">
<mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">3</mn><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin"
>,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin"
>6</mn><mo class="builtin">,</mo><mn class="builtin">12</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn>
</math> a <math xmlns="&mathml;">
<mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">24</mn><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin"
>,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin"
>12</mn><mo class="builtin">,</mo><mn class="builtin">24</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn>
</math>
</p>
<p>Testovanie:
</p><pre>    Ins_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idYB----" method="POST" id="idYB----__" onsubmit="return submitForm(this,this);"
><a name="idYB----"/><input type="hidden" name="selector" value="idYB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idZB----" class="editable"><a name="idbB----"/>
<form action="#idbB----" method="POST" id="idbB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idbB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idcB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Ins</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ins</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idcB----" method="POST" id="idcB----__" onsubmit="return submitForm(this,this);"
><a name="idcB----"/><input type="hidden" name="selector" value="idcB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="iddB----" class="editable"><a name="idfB----"/>
<form action="#idfB----" method="POST" id="idfB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idfB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idgB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Ins_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ins_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo><mn class="builtin"
>0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">4</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">12</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">12</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Ins</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">24</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">24</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idgB----" method="POST" id="idgB----__" onsubmit="return submitForm(this,this);"
><a name="idgB----"/><input type="hidden" name="selector" value="idgB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idhB----" class="editable"><a name="idjB----"/>
<form action="#idjB----" method="POST" id="idjB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idjB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idkB----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Použitím funkcie <math xmlns="&mathml;">
<mi class="ident">Ins</mi>
</math> zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Isort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>, ktorá utriedi ľubovoľný zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> vsúvaním.
</p>
<p>Funkcia spĺňa vyššie uvedenú špecifikáciu triedenia:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi><mi class="ident">Isort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi class="ident">Isort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<p>Testovanie:
</p><pre>    Isort_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idkB----" method="POST" id="idkB----__" onsubmit="return submitForm(this,this);"
><a name="idkB----"/><input type="hidden" name="selector" value="idkB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idlB----" class="editable"><a name="idnB----"/>
<form action="#idnB----" method="POST" id="idnB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idnB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idoB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Isort</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Isort</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idoB----" method="POST" id="idoB----__" onsubmit="return submitForm(this,this);"
><a name="idoB----"/><input type="hidden" name="selector" value="idoB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idpB----" class="editable"><a name="idrB----"/>
<form action="#idrB----" method="POST" id="idrB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idrB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idsB----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Isort_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Isort_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Isort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Isort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Isort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Isort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Isort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Isort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idsB----" method="POST" id="idsB----__" onsubmit="return submitForm(this,this);"
><a name="idsB----"/><input type="hidden" name="selector" value="idsB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idtB----" class="editable"><a name="idvB----"/>
<form action="#idvB----" method="POST" id="idvB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idvB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idwB----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>12.3. Triedenie zlučovaním – merge sort</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idwB----" method="POST" id="idwB----__" onsubmit="return submitForm(this,this);"
><a name="idwB----"/><input type="hidden" name="selector" value="idwB----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idxB----" class="editable"><a name="idzB----"/>
<form action="#idzB----" method="POST" id="idzB----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idzB----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id0B----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>, ktorá rozdelí zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> na dva zoznamy <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> a <math xmlns="&mathml;">
<mi fontstyle="italic">zs</mi>
</math> tak, aby sa prvky z párnych miest v zozname <math xmlns="&mathml;"
>
<mi fontstyle="italic">xs</mi>
</math> nachádzali v <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> a aby sa prvky z nepárnych miest v zozname <math xmlns="&mathml;"
>
<mi fontstyle="italic">xs</mi>
</math> nachádzali v <math xmlns="&mathml;">
<mi fontstyle="italic">zs</mi>
</math> (poradie počítame od 0).
</p>
<p>Funkcia vždy vráti dvojicu zoznamov. Nepoužite žiadne pomocné funkcie
 ani predikáty.
</p>
<p>Špecifikácia:
</p>
<math xmlns="&mathml;" mode="display">
<mo>&exist;</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo class="builtin"
>,</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic"
>ys</mi><mo class="builtin">&oplus;</mo><mi fontstyle="italic">zs</mi>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo class="builtin"
>,</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo>&or;</mo><mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo class="builtin">+</mo><mn class="builtin">1</mn>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo class="builtin"
>,</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>i</mi>
</mstyle>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi>
<mrow class="cp2"><mo>[</mo><mn class="builtin">2</mn><mo class="builtin">&sdot;</mo
>
<mstyle class="bvar"><mi>i</mi>
</mstyle><mo>]</mo>
</mrow><mo>=</mo><mi fontstyle="italic">ys</mi>
<mrow class="cp2"><mo>[</mo>
<mstyle class="bvar"><mi>i</mi>
</mstyle><mo>]</mo>
</mrow><mo>&and;</mo><mi fontstyle="italic">xs</mi>
<mrow class="cp2"><mo>[</mo><mn class="builtin">2</mn><mo class="builtin">&sdot;</mo
>
<mstyle class="bvar"><mi>i</mi>
</mstyle><mo class="builtin">+</mo><mn class="builtin">1</mn><mo>]</mo>
</mrow><mo>=</mo><mi fontstyle="italic">zs</mi>
<mrow class="cp2"><mo>[</mo>
<mstyle class="bvar"><mi>i</mi>
</mstyle><mo>]</mo>
</mrow><mo>)</mo>
</mrow>
</mrow>
</math>
<p>Napríklad <math xmlns="&mathml;">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math> a <math xmlns="&mathml;">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>.
</p>
<p>Testovanie:
</p><pre>    Msplit_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#id0B----" method="POST" id="id0B----__" onsubmit="return submitForm(this,this);"
><a name="id0B----"/><input type="hidden" name="selector" value="id0B----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id1B----" class="editable"><a name="id3B----"/>
<form action="#id3B----" method="POST" id="id3B----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id3B----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id4B----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Msplit</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Msplit</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi><mo class="builtin">,</mo><mi class="adident"
>?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#id4B----" method="POST" id="id4B----__" onsubmit="return submitForm(this,this);"
><a name="id4B----"/><input type="hidden" name="selector" value="id4B----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id5B----" class="editable"><a name="id7B----"/>
<form action="#id7B----" method="POST" id="id7B----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id7B----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id8B----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Msplit_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Msplit_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#id8B----" method="POST" id="id8B----__" onsubmit="return submitForm(this,this);"
><a name="id8B----"/><input type="hidden" name="selector" value="id8B----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id9B----" class="editable"><a name="id-C----"/>
<form action="#id-C----" method="POST" id="id-C----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id-C----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idAC----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Merge</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>,</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow>
</math>, ktorá zlúči dva utriedené zoznamy do utriedeného zoznamu.
</p>
<p>Funkcia prechádza oboma zoznamami súčasne a nevyužíva žiadne pomocné
 funkcie ani predikáty. Splnenie požiadavky na utriedenie <math xmlns="&mathml;"
>
<mi fontstyle="italic">xs</mi>
</math> a <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> predpokladajte, ale netestujte ani nezabezpečujte.
</p>
<p>Špecifikácia:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>&and;</mo><mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Ord</mi><mi class="ident">Merge</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>,</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow><mo>&and;</mo><mi class="ident">Ord</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi fontstyle="italic">xs</mi><mo class="builtin">&oplus;</mo
><mi fontstyle="italic">ys</mi><mo>&sim;</mo><mi class="ident">Merge</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>,</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow>
</math>
<p>Napríklad <math xmlns="&mathml;">
<mi class="ident">Merge</mi>
<mrow class="cp1"><mo>(</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">10</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin"
>,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin"
>5</mn><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin"
>,</mo><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin"
>8</mn><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin"
>,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin"
>10</mn><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>.
</p>
<p>Testovanie:
</p><pre>    Merge_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idAC----" method="POST" id="idAC----__" onsubmit="return submitForm(this,this);"
><a name="idAC----"/><input type="hidden" name="selector" value="idAC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idBC----" class="editable"><a name="idDC----"/>
<form action="#idDC----" method="POST" id="idDC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idDC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idEC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Merge</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Merge</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idEC----" method="POST" id="idEC----__" onsubmit="return submitForm(this,this);"
><a name="idEC----"/><input type="hidden" name="selector" value="idEC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idFC----" class="editable"><a name="idHC----"/>
<form action="#idHC----" method="POST" id="idHC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idHC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idIC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Merge_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Merge_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">6</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">10</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">10</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Merge</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">10</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">10</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idIC----" method="POST" id="idIC----__" onsubmit="return submitForm(this,this);"
><a name="idIC----"/><input type="hidden" name="selector" value="idIC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idJC----" class="editable"><a name="idLC----"/>
<form action="#idLC----" method="POST" id="idLC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idLC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idMC----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Msort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>, ktorá utriedi ľubovoľný zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> zlučovaním.
</p>
<p>Použite funkcie <math xmlns="&mathml;">
<mi class="ident">Msplit</mi>
</math> a <math xmlns="&mathml;">
<mi class="ident">Merge</mi>
</math>. Pozor na zacyklenie.
</p>
<p>Funkcia spĺňa vyššie uvedenú špecifikáciu triedenia:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi><mi class="ident">Msort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi class="ident">Msort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<p>Testovanie:
</p><pre>    Msort_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idMC----" method="POST" id="idMC----__" onsubmit="return submitForm(this,this);"
><a name="idMC----"/><input type="hidden" name="selector" value="idMC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idNC----" class="editable"><a name="idPC----"/>
<form action="#idPC----" method="POST" id="idPC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idPC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Msort</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Msort</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idQC----" method="POST" id="idQC----__" onsubmit="return submitForm(this,this);"
><a name="idQC----"/><input type="hidden" name="selector" value="idQC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idRC----" class="editable"><a name="idTC----"/>
<form action="#idTC----" method="POST" id="idTC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idTC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idUC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Msort_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Msort_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Msort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idUC----" method="POST" id="idUC----__" onsubmit="return submitForm(this,this);"
><a name="idUC----"/><input type="hidden" name="selector" value="idUC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idVC----" class="editable"><a name="idXC----"/>
<form action="#idXC----" method="POST" id="idXC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idXC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idYC----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Rýchle triedenie – quick sort</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idYC----" method="POST" id="idYC----__" onsubmit="return submitForm(this,this);"
><a name="idYC----"/><input type="hidden" name="selector" value="idYC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idZC----" class="editable"><a name="idbC----"/>
<form action="#idbC----" method="POST" id="idbC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idbC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idcC----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte funkciu <math xmlns="&mathml;">
<mi class="ident">Qsplit</mi>
<mrow class="cp1"><mo>(</mo><mi>p</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow>
</math>, ktorá rozdelí zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> na zoznamy <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> a <math xmlns="&mathml;">
<mi fontstyle="italic">zs</mi>
</math> tak, aby <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> obsahoval prvky <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> menšie alebo rovnaké ako <math xmlns="&mathml;">
<mi>p</mi>
</math> a <math xmlns="&mathml;">
<mi fontstyle="italic">zs</mi>
</math> obsahoval prvky väčšie ako <math xmlns="&mathml;">
<mi>p</mi>
</math>.
</p>
<p>Funkcia vždy vráti dvojicu zoznamov. Prvok <math xmlns="&mathml;">
<mi>p</mi>
</math> nepridávajte do žiadneho z výstupných zoznamov (ak sa nevyskytuje
 v <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math>). Nepoužite žiadne pomocné funkcie.
</p>
<p>Špecifikácia:
</p>
<math xmlns="&mathml;" mode="display">
<mo>&exist;</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mi class="ident">Qsplit</mi>
<mrow class="cp1"><mo>(</mo><mi>p</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Qsplit</mi>
<mrow class="cp1"><mo>(</mo><mi>p</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo class="builtin"
>,</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic"
>ys</mi><mo class="builtin">&oplus;</mo><mi fontstyle="italic">zs</mi>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Qsplit</mi>
<mrow class="cp1"><mo>(</mo><mi>p</mi><mo>,</mo><mi fontstyle="italic">xs</mi
><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo class="builtin"
>,</mo><mi fontstyle="italic">zs</mi><mo>)</mo>
</mrow><mo>&rarr;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>&CLin;<mi fontstyle="italic">ys</mi><mo>&rarr;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo class="builtin">&lE;</mo><mi>p</mi><mo>)</mo>
</mrow>
</mrow><mo>&and;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>&CLin;<mi fontstyle="italic">zs</mi><mo>&rarr;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo class="builtin">&gt;</mo><mi>p</mi><mo>)</mo>
</mrow>
</mrow>
</math>
<p>Napríklad <math xmlns="&mathml;">
<mi class="ident">Qsplit</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">5</mn><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">9</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>.
</p>
<p>Testovanie:
</p><pre>    Qsplit_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idcC----" method="POST" id="idcC----__" onsubmit="return submitForm(this,this);"
><a name="idcC----"/><input type="hidden" name="selector" value="idcC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="iddC----" class="editable"><a name="idfC----"/>
<form action="#idfC----" method="POST" id="idfC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idfC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idgC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Qsplit</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Qsplit</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>p</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi><mo class="builtin">,</mo><mi class="adident"
>?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idgC----" method="POST" id="idgC----__" onsubmit="return submitForm(this,this);"
><a name="idgC----"/><input type="hidden" name="selector" value="idgC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idhC----" class="editable"><a name="idjC----"/>
<form action="#idjC----" method="POST" id="idjC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idjC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idkC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Qsplit_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Qsplit_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">8</mn><mo>,</mo><mn class="builtin"
>0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">6</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">9</mn
><mo class="builtin">,</mo><mn class="builtin">17</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
>
<mrow class="cp3"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">9</mn
><mo class="builtin">,</mo><mn class="builtin">17</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">5</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">7</mn><mo class="builtin">,</mo><mn class="builtin">9</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">7</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsplit</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">5</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">12</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">5</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idkC----" method="POST" id="idkC----__" onsubmit="return submitForm(this,this);"
><a name="idkC----"/><input type="hidden" name="selector" value="idkC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idlC----" class="editable"><a name="idnC----"/>
<form action="#idnC----" method="POST" id="idnC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idnC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idoC----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Naprogramujte funkciu <math xmlns="&mathml;">
<mi class="ident">Qsort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>, ktorá utriedi ľubovoľný zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> algoritmom quick sort.
</p>
<p>Ako pivot použite prvý prvok zoznamu. Použite funkciu <math xmlns="&mathml;"
>
<mi class="ident">Qsplit</mi>
</math> na rozdelenie zoznamu podľa pivota. Rekurzívne utrieďte časti zoznamu
 a spojte ich navzájom a s pivotom pomocou zreťazenia a párovania.
</p>
<p>Funkcia spĺňa vyššie uvedenú špecifikáciu triedenia:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ord</mi><mi class="ident">Qsort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi class="ident">Qsort</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</math>
<p>Testovanie:
</p><pre>    Qsort_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idoC----" method="POST" id="idoC----__" onsubmit="return submitForm(this,this);"
><a name="idoC----"/><input type="hidden" name="selector" value="idoC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idpC----" class="editable"><a name="idrC----"/>
<form action="#idrC----" method="POST" id="idrC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idrC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idsC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Qsort</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Qsort</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idsC----" method="POST" id="idsC----__" onsubmit="return submitForm(this,this);"
><a name="idsC----"/><input type="hidden" name="selector" value="idsC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idtC----" class="editable"><a name="idvC----"/>
<form action="#idvC----" method="POST" id="idvC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idvC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idwC----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Qsort_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Qsort_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">6</mn><mo class="builtin">,</mo
><mn class="builtin">9</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Qsort</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup>
<mrow class="cp2"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">3</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">6</mn
><mo class="builtin">,</mo><mn class="builtin">9</mn><mo class="builtin">,</mo
><mn class="builtin">12</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idwC----" method="POST" id="idwC----__" onsubmit="return submitForm(this,this);"
><a name="idwC----"/><input type="hidden" name="selector" value="idwC----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idxC----" class="editable"><a name="idzC----"/>
<form action="#idzC----" method="POST" id="idzC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idzC----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id0C----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Prémiová domáca úloha <i>du06</i>.</b> (1 + 1 + 1 + (1+1) + 1 = 6 bodov)
</p>
<p class="indented">Pravidlá pre prémiové domáce úlohy nájdete na <i>http://dai.fmph.uniba.sk/courses/udp/#pdu</i
>
</p>
<p class="indented">Jednotlivé časti úlohy budeme hodnotiť samostatne.
</p>
<p class="indented">Časti c), d), e) sa nachádzajú v súbore <i>ex06b.cl</i
>.
</p>
<p class="indented">V tejto časti sa vrátime k špecifikácii triedenia.
</p>
</div>
<div class="editbuttontd">
<form action="#id0C----" method="POST" id="id0C----__" onsubmit="return submitForm(this,this);"
><a name="id0C----"/><input type="hidden" name="selector" value="id0C----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id1C----" class="editable"><a name="id3C----"/>
<form action="#id3C----" method="POST" id="id3C----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id3C----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id4C----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>a)</b> (1 bod) Zadefinujte predikát <math xmlns="&mathml;">
<mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>,</mo><mi fontstyle="italic"
>xs</mi><mo>,</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</math>, ktorý platí práve vtedy, keď pre každý prvok <math xmlns="&mathml;"
>
<mi>z</mi>
</math> zoznamu <math xmlns="&mathml;">
<mi fontstyle="italic">zs</mi>
</math> je počet výskytov <math xmlns="&mathml;">
<mi>z</mi>
</math> v zoznamoch <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> a <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> rovnaký.
</p>
<p>Formálne:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>,</mo><mi fontstyle="italic"
>xs</mi><mo>,</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow><mo>&harr;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>z</mi>
</mstyle>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>z</mi>
</mstyle>&CLin;<mi fontstyle="italic">zs</mi><mo>&rarr;</mo>
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>z</mi>
</mstyle>
</msub>
<mrow class="cp2"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</mrow><mo>=</mo>
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>z</mi>
</mstyle>
</msub>
<mrow class="cp2"><mo>(</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</mrow><mo>)</mo>
</mrow>
</mrow>
</math>
<p>Napríklad
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">9</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mo>&not;</mo><mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
</math>
<p>Návod nájdete v [1, §12.1].
</p>
<p class="indented">Testovanie:
</p><pre>    Eq_counts_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#id4C----" method="POST" id="id4C----__" onsubmit="return submitForm(this,this);"
><a name="id4C----"/><input type="hidden" name="selector" value="id4C----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id5C----" class="editable"><a name="id7C----"/>
<form action="#id7C----" method="POST" id="id7C----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id7C----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id8C----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Predicate&nbsp;<acronym title="This is an inductive predicate"
 class="pred_induct"><math xmlns="&mathml;">
<mi class="inh_col_id">Eq_counts</mi>
</math></acronym>&nbsp;/&nbsp;3</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow><mo>&larr;</mo>
<mrow><mi class="adident">?</mi>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#id8C----" method="POST" id="id8C----__" onsubmit="return submitForm(this,this);"
><a name="id8C----"/><input type="hidden" name="selector" value="id8C----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id9C----" class="editable"><a name="id-D----"/>
<form action="#id-D----" method="POST" id="id-D----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id-D----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idAD----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Eq_counts_</mi>
</math></span>&nbsp;/&nbsp;3</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Eq_counts_</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo>&larr;</mo>
<mrow><mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>,</mo><mi fontstyle="italic"
>xs</mi><mo>,</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</mrow>
</math>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Eq_counts_</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">zs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">0</mn><mo>&larr;</mo>
<mrow><mo>&not;</mo><mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>,</mo><mi fontstyle="italic"
>xs</mi><mo>,</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#idAD----" method="POST" id="idAD----__" onsubmit="return submitForm(this,this);"
><a name="idAD----"/><input type="hidden" name="selector" value="idAD----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idBD----" class="editable"><a name="idDD----"/>
<form action="#idDD----" method="POST" id="idDD----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idDD----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idED----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Eq_counts_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Eq_counts_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Eq_counts_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Eq_counts_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Eq_counts_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">5</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Eq_counts_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">9</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Eq_counts_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">5</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idED----" method="POST" id="idED----__" onsubmit="return submitForm(this,this);"
><a name="idED----"/><input type="hidden" name="selector" value="idED----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idFD----" class="editable"><a name="idHD----"/>
<form action="#idHD----" method="POST" id="idHD----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idHD----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idID----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>b)</b> (1 bod) Zadefinujte predikát <math xmlns="&mathml;">
<mi class="ident">Perm</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>,</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow><mo>&equiv;</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow>
</math>, ktorý platí práve vtedy, keď je zoznam <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> permutáciou zoznamu <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math>, teda keď pre každé číslo <math xmlns="&mathml;">
<mi>a</mi>
</math> je počet výskytov <math xmlns="&mathml;">
<mi>a</mi>
</math> v zoznamoch <math xmlns="&mathml;">
<mi fontstyle="italic">xs</mi>
</math> a <math xmlns="&mathml;">
<mi fontstyle="italic">ys</mi>
</math> rovnaký.
</p>
<p>Formálne:
</p>
<math xmlns="&mathml;" mode="display">
<mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic">ys</mi><mo
>&harr;</mo>
<mrow><mo>&forall;</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
</msub>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>)</mo>
</mrow>
</mrow><mo>=</mo>
<mrow>
<msub><mo>#</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
</msub>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</mrow>
</mrow>
</math>
<p>Použite predikát <math xmlns="&mathml;">
<mi class="ident">Eq_counts</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">zs</mi><mo>,</mo><mi fontstyle="italic"
>xs</mi><mo>,</mo><mi fontstyle="italic">ys</mi><mo>)</mo>
</mrow>
</math> s vhodne zvoleným zoznamom <math xmlns="&mathml;">
<mi fontstyle="italic">zs</mi>
</math>, viď tiež [1, §12.1].
</p>
<p>Napríklad
</p>
<math xmlns="&mathml;" mode="display">
<mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>&sim;</mo><mn class="builtin">0</mn><mo class="builtin"
>,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin"
>,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin"
>4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
<math xmlns="&mathml;" mode="display">
<mo>&not;</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>&sim;</mo><mn class="builtin"
>4</mn><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin"
>,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mo>&not;</mo>
<mrow class="cp1"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>&sim;</mo><mn class="builtin"
>5</mn><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin"
>,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin"
>3</mn><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin"
>,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin"
>0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
</math>
<p>Testovanie:
</p><pre>    Perm_test = r:Results</pre>
</div>
<div class="editbuttontd">
<form action="#idID----" method="POST" id="idID----__" onsubmit="return submitForm(this,this);"
><a name="idID----"/><input type="hidden" name="selector" value="idID----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idJD----" class="editable"><a name="idLD----"/>
<form action="#idLD----" method="POST" id="idLD----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idLD----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idMD----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Predicate&nbsp;<acronym title="This is an inductive predicate"
 class="pred_induct"><math xmlns="&mathml;">
<mi class="inh_col_id">Perm</mi>
</math></acronym>&nbsp;/&nbsp;2 displayed by&nbsp;<em>Tex2_perm</em> as&nbsp;<math
 xmlns="&mathml;">
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle><mo>&sim;</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>2</mn>
</msub>
</mstyle>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>&sim;</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>&larr;</mo>
<mrow><mi class="adident">?</mi>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#idMD----" method="POST" id="idMD----__" onsubmit="return submitForm(this,this);"
><a name="idMD----"/><input type="hidden" name="selector" value="idMD----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idND----" class="editable"><a name="idPD----"/>
<form action="#idPD----" method="POST" id="idPD----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idPD----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQD----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Perm_</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Perm_</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">1</mn><mo>&larr;</mo>
<mrow><mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic">ys</mi
>
</mrow>
</math>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Perm_</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi fontstyle="italic">xs</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi fontstyle="italic">ys</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">0</mn><mo>&larr;</mo>
<mrow><mo>&not;</mo>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">xs</mi><mo>&sim;</mo><mi fontstyle="italic"
>ys</mi><mo>)</mo>
</mrow>
</mrow>
</math>
</div>
<div class="editbuttontd">
<form action="#idQD----" method="POST" id="idQD----__" onsubmit="return submitForm(this,this);"
><a name="idQD----"/><input type="hidden" name="selector" value="idQD----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idRD----" class="editable"><a name="idTD----"/>
<form action="#idTD----" method="POST" id="idTD----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idTD----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idUD----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Perm_test</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Perm_test</mi><mo>=</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo><mn class="builtin"
>0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo><mn class="builtin">0</mn><mo>,</mo><mn class="builtin"
>0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin">8</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin"
>8</mn><mo class="builtin">,</mo><mn class="builtin">1</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">1</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin"
>0</mn><mo class="builtin">,</mo><mn class="builtin">8</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">8</mn><mo class="builtin">,</mo
><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mn class="builtin"
>8</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">1</mn><mo class="builtin">,</mo
><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">8</mn><mo class="builtin">,</mo><mn class="builtin"
>1</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin"
>,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin"
>4</mn><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn
><mo class="builtin">,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin"
>4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo class="builtin"
>,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">1</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin"
>4</mn><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin"
>,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin"
>0</mn><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Perm_</mi>
<mrow class="cp2"><mo>(</mo>
<mrow class="cp3"><mo>(</mo><mn class="builtin">3</mn><mo class="builtin">,</mo
><mn class="builtin">4</mn><mo class="builtin">,</mo><mn class="builtin">0</mn
><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin">,</mo
><mn class="builtin">2</mn><mo class="builtin">,</mo><mn class="builtin">4</mn
><mo class="builtin">,</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>,</mo><mn class="builtin">5</mn><mo class="builtin">,</mo><mn class="builtin"
>4</mn><mo class="builtin">,</mo><mn class="builtin">4</mn><mo class="builtin"
>,</mo><mn class="builtin">3</mn><mo class="builtin">,</mo><mn class="builtin"
>2</mn><mo class="builtin">,</mo><mn class="builtin">2</mn><mo class="builtin"
>,</mo><mn class="builtin">0</mn><mo class="builtin">,</mo><mn class="builtin"
>0</mn><mo>)</mo>
</mrow>
<msup><mo>=</mo><mi mathvariant="bold-sans-serif">?</mi>
</msup><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo class="builtin">,</mo><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idUD----" method="POST" id="idUD----__" onsubmit="return submitForm(this,this);"
><a name="idUD----"/><input type="hidden" name="selector" value="idUD----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idVD----" class="editable"><a name="idWD----"/>
<form action="#idWD----" method="POST" id="idWD----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idWD----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Insert" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
</div>
</div>
<div class="namedseparator fill">
<div>
<div class="vert_sep_name">Query:
</div>
<div class="fill">
<hr/>
</div>
</div>
</div>
<form action="#idYD----" method="POST" id="idYD----" onsubmit="return submitForm(this,this);"
><a name="idYD----"/><input type="hidden" name="selector" value="idYD----"/>
<div class="fieldwithbuttons editable fill">
<div class="fill"><textarea name="data" cols="78" rows="3">0 = x

</textarea>
</div>
<div class="editbuttontd"><input type="submit" name="action" value="OK" class="editbutton"
 onclick="return submitForm(this.form,this);"/><br/><input type="submit" name="action"
 value="Cancel" class="editbutton" onclick="return submitForm(this.form,this);"
/>
</div>
</div><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
<div class="namedseparator fill">
<div>
<div class="vert_sep_name">Results:
</div>
<div class="fill">
<hr/>
</div>
</div>
</div>
<div id="idZD----" class="fill"><a name="idZD----"/>
<div>Heap used:&nbsp;638380 free:&nbsp;133578260
</div>
<div>Time used:&nbsp;0:0:0:63
</div>
</div>
</div>
</div>
</body></html>