<?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.19, 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.19, 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;">
<msub class="comp_id_hdr"><mi class="comp_id_hdr">Ex</mi><mn class="id_sub">08</mn
>
</msub>
</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>8. CVIČENIE Z PREDMETU ÚVOD DO DEKLARATÍVNEHO PROGRAMOVANIA</b>
</p>
<p>http://ii.fmph.uniba.sk/cl/courses/1-AIN-505-udp/0809ls/ex/ex08.cl
</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> 6. a 8. 4. 2009
</p>
<p><i>Odporúčaná verzia CL:</i> 5.81.19
</p>
<p><i>WWW stránka predmetu:</i> http://ii.fmph.uniba.sk/cl/courses/1-AIN-505-udp/0809ls/?lang=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>Scroll down to “ASSIGNMENTS”.
</p>
<p>Preskočte nasledujúce komponenty po nadpis „ÚLOHY“.
</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="fill"><a name="idg-----"/><span class="header">Application display&nbsp;<em
>Cdots</em>&nbsp;/&nbsp;0: <math xmlns="&mathml;">
<mo>&ctdot;</mo>
</math></span>
</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"><span class="header">Function&nbsp;<acronym title="This function is a constructor"
 class="fun_constr"><math xmlns="&mathml;">
<mi class="inh_col_id">Fill_in</mi>
</math></acronym>&nbsp;/&nbsp;0 displayed by&nbsp;<em>Cdots</em> as&nbsp;<math
 xmlns="&mathml;">
<mo>&ctdot;</mo>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mo>&ctdot;</mo><mo>=</mo><mn class="builtin">20090404</mn>
</math>
</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="fill"><a name="ido-----"/><span class="header">Application display&nbsp;<em
>E_d</em>&nbsp;/&nbsp;0: <math xmlns="&mathml;">
<mo>&bull;</mo>
</math></span>
</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">Application display&nbsp;<em
>Nd_d</em>&nbsp;/&nbsp;3: <math xmlns="&mathml;">
<mfrac>
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub>
<mrow>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub><mo>&mid;</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>3</mn>
</msub>
</mrow>
</mfrac>
</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
>Inbt_d</em>&nbsp;/&nbsp;2: <math xmlns="&mathml;">
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub>
</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="fill"><a name="id0-----"/><span class="header">Application display&nbsp;<em
>Sz_d</em>&nbsp;/&nbsp;1: <math xmlns="&mathml;">
<msub>
<mrow><mo>&mid;</mo>
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub>
</math></span>
</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="fill"><a name="id4-----"/><span class="header">Application display&nbsp;<em
>Subtree_d</em>&nbsp;/&nbsp;2: <math xmlns="&mathml;">
<msub class="ad_constr_arg"><mi>#</mi><mn>1</mn>
</msub>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub>
<msub class="ad_constr_arg"><mi>#</mi><mn>2</mn>
</msub>
</math></span>
</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="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">L</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>=</mo><mn class="builtin">0</mn>
</math>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>v</mi>
</mstyle><mo class="builtin">,</mo>
<mstyle class="bvar"><mi>w</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">L</mi>
<mrow class="cp1"><mo>(</mo><mi>w</mi><mo>)</mo>
</mrow><mo class="builtin">+</mo><mn class="builtin">1</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#id8-----" method="POST" id="id8-----__" onsubmit="return submitForm(this,this);"
><a name="id8-----"/><input type="hidden" name="selector" value="id8-----"/><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="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="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 S S I G N M E N T S</b>
</p>
<p><b>Ú L O H Y</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idAA----" method="POST" id="idAA----__" onsubmit="return submitForm(this,this);"
><a name="idAA----"/><input type="hidden" name="selector" value="idAA----"/><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="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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i><b>Binary Trees</b></i>
</p>
<p><i><b>Binárne stromy</b></i>
</p>
</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="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">E</mi>
</math></acronym>&nbsp;/&nbsp;0 displayed by&nbsp;<em>E_d</em> as&nbsp;<math
 xmlns="&mathml;">
<mo>&bull;</mo>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mo>&bull;</mo><mo>=</mo><mn class="builtin">0</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn>
</math>
</div>
<div class="editbuttontd">
<form action="#idIA----" method="POST" id="idIA----__" onsubmit="return submitForm(this,this);"
><a name="idIA----"/><input type="hidden" name="selector" value="idIA----"/><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="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="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">Nd</mi>
</math></acronym>&nbsp;/&nbsp;3 displayed by&nbsp;<em>Nd_d</em> as&nbsp;<math
 xmlns="&mathml;">
<mfrac>
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle>
<mrow>
<mstyle class="bvar">
<msub><mi>#</mi><mn>2</mn>
</msub>
</mstyle><mo>&mid;</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>3</mn>
</msub>
</mstyle>
</mrow>
</mfrac>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mfrac>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow>
<mstyle class="bvar"><mi>l</mi>
</mstyle><mo>&mid;</mo>
<mstyle class="bvar"><mi>r</mi>
</mstyle>
</mrow>
</mfrac><mo>=</mo><mn class="builtin">1</mn><mo class="builtin">,</mo><mi>a</mi
><mo class="builtin">,</mo><mi>l</mi><mo class="builtin">,</mo><mi>r</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idMA----" method="POST" id="idMA----__" onsubmit="return submitForm(this,this);"
><a name="idMA----"/><input type="hidden" name="selector" value="idMA----"/><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="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="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p>The predicate <math xmlns="&mathml;">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> holds if <math xmlns="&mathml;">
<mi>t</mi>
</math> is a code of a binary tree created by constructors <math xmlns="&mathml;"
>
<mo>&bull;</mo>
</math> and <math xmlns="&mathml;">
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac>
</math> (see above). The predicate <math xmlns="&mathml;">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> is a format. You can use it to display values as binary trees in queries,
 e.g.:
</p><pre>    Nd(0,Nd(1,Nd(3,E,E),Nd(4,E,E)),Nd(2,E,Nd(6,E,E))) = x &amp; x = t:Bt</pre>
</div>
<div class="editbuttontd">
<form action="#idQA----" method="POST" id="idQA----__" onsubmit="return submitForm(this,this);"
><a name="idQA----"/><input type="hidden" name="selector" value="idQA----"/><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="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="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p>Predikát <math xmlns="&mathml;">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> platí, ak <math xmlns="&mathml;">
<mi>t</mi>
</math> je kódom binárneho stromu vytvoreným pomocoy <math xmlns="&mathml;"
>
<mo>&bull;</mo>
</math> a <math xmlns="&mathml;">
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac>
</math> (viď vyššie). Predikát <math xmlns="&mathml;">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> je formátom. Môžete ho použiť na zobrazovanie hodnôt v query vo
 forme binárnych stromov:
</p><pre>    Nd(0,Nd(1,Nd(3,E,E),Nd(4,E,E)),Nd(2,E,Nd(6,E,E))) = x &amp; x = t:Bt</pre>
</div>
<div class="editbuttontd">
<form action="#idUA----" method="POST" id="idUA----__" onsubmit="return submitForm(this,this);"
><a name="idUA----"/><input type="hidden" name="selector" value="idUA----"/><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="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"><span class="header">Predicate&nbsp;<acronym title="This predicate is a format"
 class="pred_format"><math xmlns="&mathml;">
<mi class="inh_col_id">Bt</mi>
</math></acronym></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mo>&bull;</mo><mo>)</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo>
<mfrac>
<mstyle class="bvar"><mi>a</mi>
</mstyle>
<mrow>
<mstyle class="bvar"><mi>l</mi>
</mstyle><mo>&mid;</mo>
<mstyle class="bvar"><mi>r</mi>
</mstyle>
</mrow>
</mfrac><mo>)</mo>
</mrow><mo>&larr;</mo>
<mrow><mi class="ident">N</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>)</mo>
</mrow>
</mrow><mo>&and;</mo>
<mrow><mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>l</mi><mo>)</mo>
</mrow>
</mrow><mo>&and;</mo>
<mrow><mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>r</mi><mo>)</mo>
</mrow>
</mrow>
</math>
</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>Assignment 1.</b> Define a predicate <math xmlns="&mathml;">
<mi class="ident">Inbt</mi>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo>,</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> (displayed as <math xmlns="&mathml;">
<mi>a</mi>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub><mi>t</mi>
</math>) holding if <math xmlns="&mathml;">
<mi>a</mi>
</math> is in the tree <math xmlns="&mathml;">
<mi>t</mi>
</math> as a label (value) of some node.
</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"><span class="header">Predicate&nbsp;<acronym title="This is an inductive predicate"
 class="pred_induct"><math xmlns="&mathml;">
<mi class="inh_col_id">Inbt</mi>
</math></acronym>&nbsp;/&nbsp;2 displayed by&nbsp;<em>Inbt_d</em> as&nbsp;<math
 xmlns="&mathml;">
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub>
<mstyle class="bvar">
<msub><mi>#</mi><mn>2</mn>
</msub>
</mstyle>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mo>&ctdot;</mo>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub><mo>&ctdot;</mo>
</math>
</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>Assignment 2.</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Sz</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> (displayed as <math xmlns="&mathml;">
<msub>
<mrow class="cp1"><mo>&mid;</mo><mi>t</mi><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub>
</math>) that counts the number of <i>nodes</i> (<math xmlns="&mathml;">
<mi class="ident">Nd</mi>
</math>) in the tree <math xmlns="&mathml;">
<mi>t</mi>
</math>.
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Sz</mi>
</math></span> displayed by&nbsp;<em>Sz_d</em> as&nbsp;<math xmlns="&mathml;"
>
<msub>
<mrow><mo>&mid;</mo>
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<msub>
<mrow class="cp1"><mo>&mid;</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub><mo>=</mo><mo>&ctdot;</mo>
</math>
</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>Assignment 3.</b> Define the following functions:
</p>
<p><b>(a)</b> <math xmlns="&mathml;">
<mi class="ident">Count_e</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> yielding the number of <i>empty subtrees</i> (<math xmlns="&mathml;"
>
<mo>&bull;</mo>
</math>) in the tree <math xmlns="&mathml;">
<mi>t</mi>
</math>;
</p>
</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_e</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Count_e</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>(b)</b> <math xmlns="&mathml;">
<mi class="ident">Count_inner</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> yielding the number of <i>inner nodes</i> in the tree <math xmlns="&mathml;"
>
<mi>t</mi>
</math>, i.e., nodes (<math xmlns="&mathml;">
<mi class="ident">Nd</mi>
</math>) having at least one non-empty subtree;
</p>
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Count_inner</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Count_inner</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</math>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>(c)</b> <math xmlns="&mathml;">
<mi class="ident">Count_leaves</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> yielding the number of <i>leaves</i> in the tree <math xmlns="&mathml;"
>
<mi>t</mi>
</math>, i.e., nodes (<math xmlns="&mathml;">
<mi class="ident">Nd</mi>
</math>) having both left and right subtrees empty.
</p>
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Count_leaves</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Count_leaves</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</math>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Assignment 4.</b> Define a predicate <math xmlns="&mathml;">
<mi class="ident">Subtree</mi>
<mrow class="cp1"><mo>(</mo><mi>s</mi><mo>,</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> (displayed as <math xmlns="&mathml;">
<mi>s</mi>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mi>t</mi>
</math>) satisfying:
</p>
<math xmlns="&mathml;" mode="display">
<mrow><mi>s</mi>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mo>&bull;</mo>
</mrow><mo>&harr;</mo>
<mrow><mi>s</mi><mo>=</mo><mo>&bull;</mo>
</mrow>
</math>
<math xmlns="&mathml;" mode="display">
<mi>s</mi>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub>
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac><mo>&harr;</mo><mi>s</mi><mo>=</mo>
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac><mo>&or;</mo><mi>s</mi>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mi>l</mi><mo>&or;</mo><mi>s</mi>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mi>r</mi>
</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">Predicate&nbsp;<acronym title="This is an inductive predicate"
 class="pred_induct"><math xmlns="&mathml;">
<mi class="inh_col_id">Subtree</mi>
</math></acronym>&nbsp;/&nbsp;2 displayed by&nbsp;<em>Subtree_d</em> as&nbsp;<math
 xmlns="&mathml;">
<mstyle class="bvar">
<msub><mi>#</mi><mn>1</mn>
</msub>
</mstyle>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub>
<mstyle class="bvar">
<msub><mi>#</mi><mn>2</mn>
</msub>
</mstyle>
</math></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mo>&ctdot;</mo>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mo>&ctdot;</mo>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Assignment 5.</b>
</p>
<p><b>(a)</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> listing values of nodes in the tree <math xmlns="&mathml;">
<mi>t</mi>
</math> in in-order. The function is specified by the following properties:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">L</mi><mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>=</mo>
<msub>
<mrow class="cp1"><mo>&mid;</mo><mi>t</mi><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi>a</mi>&CLin;<mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&harr;</mo><mi>a</mi>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub><mi>t</mi>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&and;</mo>
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mi>t</mi><mo>&rarr;</mo>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi>y</mi>
</mstyle><mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>=</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo class="builtin">&oplus;</mo><mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>l</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo class="builtin">,</mo><mi class="ident"
>Inorder</mi>
<mrow class="cp2"><mo>(</mo><mi>r</mi><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo>
<mstyle class="bvar"><mi>y</mi>
</mstyle>
</mrow>
</mrow>
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Inorder</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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>(b)</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Inordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mi>a</mi><mo>)</mo>
</mrow>
</math> possessing the property
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Inordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mi>a</mi><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo><mi>a</mi>
</math>
<p>and consequently
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Inordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mn class="builtin">0</mn><mo
>)</mo>
</mrow><mo>=</mo><mi class="ident">Inorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math>
<p>Do not use concatenation (<math xmlns="&mathml;">
<mi>x</mi><mo class="builtin">&oplus;</mo><mi>y</mi>
</math>) or any auxiliary function in the definition.
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Inordera</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Inordera</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</math>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Assignment 6.</b>
</p>
<p><b>(a)</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Preorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> listing values of nodes in the tree <math xmlns="&mathml;">
<mi>t</mi>
</math> in pre-order, i.e., satisfying:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">L</mi><mi class="ident">Preorder</mi
>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>=</mo>
<msub>
<mrow class="cp1"><mo>&mid;</mo><mi>t</mi><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi>a</mi>&CLin;<mi class="ident">Preorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&harr;</mo><mi>a</mi>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub><mi>t</mi>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&and;</mo>
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mi>t</mi><mo>&rarr;</mo>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi>y</mi>
</mstyle><mi class="ident">Preorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>=</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo class="builtin">&oplus;</mo>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo class="builtin">,</mo><mi class="ident"
>Preorder</mi>
<mrow class="cp2"><mo>(</mo><mi>l</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo><mi class="ident">Preorder</mi>
<mrow class="cp2"><mo>(</mo><mi>r</mi><mo>)</mo>
</mrow><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo>
<mstyle class="bvar"><mi>y</mi>
</mstyle>
</mrow>
</mrow>
</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">Preorder</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Preorder</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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>(b)</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Preordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mi>a</mi><mo>)</mo>
</mrow>
</math> having the property
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Preordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mi>a</mi><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">Preorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo><mi>a</mi>
</math>
<p>Do not use concatenation (<math xmlns="&mathml;">
<mi>x</mi><mo class="builtin">&oplus;</mo><mi>y</mi>
</math>) or any auxiliary function in the definition.
</p>
</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">Preordera</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Preordera</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Assignment 7.</b>
</p>
<p><b>(a)</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow>
</math> listing values of nodes in the tree <math xmlns="&mathml;">
<mi>t</mi>
</math> in post-order, i.e., satisfying:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">L</mi><mi class="ident">Postorder</mi
>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>=</mo>
<msub>
<mrow class="cp1"><mo>&mid;</mo><mi>t</mi><mo>&mid;</mo>
</mrow><mi mathvariant="italic">b</mi>
</msub>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi>a</mi>&CLin;<mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&harr;</mo><mi>a</mi>
<msub><mi mathvariant="normal">&epsiv;</mi><mi mathvariant="italic">b</mi>
</msub><mi>t</mi>
</math>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&and;</mo>
<mfrac><mi>a</mi>
<mrow><mi>l</mi><mo>&mid;</mo><mi>r</mi>
</mrow>
</mfrac>
<msub><mo>&sqsube;</mo><mi mathvariant="italic">b</mi>
</msub><mi>t</mi><mo>&rarr;</mo>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle>
<mrow><mo>&exist;</mo>
<mstyle class="bvar"><mi>y</mi>
</mstyle><mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>=</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo class="builtin">&oplus;</mo><mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo><mi>l</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo><mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo><mi>r</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo>
<mrow class="cp1"><mo>(</mo><mi>a</mi><mo class="builtin">,</mo>
<mstyle class="bvar"><mi>y</mi>
</mstyle><mo>)</mo>
</mrow>
</mrow>
</mrow>
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Postorder</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</math>
</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>(b)</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Postordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mi>a</mi><mo>)</mo>
</mrow>
</math> having the property
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Bt</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Postordera</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>,</mo><mi>a</mi><mo>)</mo>
</mrow><mo>=</mo><mi class="ident">Postorder</mi>
<mrow class="cp1"><mo>(</mo><mi>t</mi><mo>)</mo>
</mrow><mo class="builtin">&oplus;</mo><mi>a</mi>
</math>
<p>Do not use concatenation (<math xmlns="&mathml;">
<mi>x</mi><mo class="builtin">&oplus;</mo><mi>y</mi>
</math>) or any auxiliary function in the definition.
</p>
</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">Postordera</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Postordera</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>t</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi>a</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Assignment 8. *</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Ln2bbt</mi>
<mrow class="cp1"><mo>(</mo><mi>x</mi><mo>)</mo>
</mrow>
</math> which takes a list and constructs an balanced binary tree containing
 all members of the list in the <i>breadth-first order</i>. The tree is balanced
 in the sense that the left child of each substree may be at most <i>one level
 deeper</i> than the right child. For example:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ln2bbt</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">0</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">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">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>=</mo>
<mfrac><mn class="builtin">0</mn>
<mrow>
<mfrac><mn class="builtin">1</mn>
<mrow>
<mfrac><mn class="builtin">3</mn>
<mrow>
<mfrac><mn class="builtin">7</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">8</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">4</mn>
<mrow>
<mfrac><mn class="builtin">9</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">2</mn>
<mrow>
<mfrac><mn class="builtin">5</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">6</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac>
</mrow>
</mfrac>
</mrow>
</mfrac>
</math>
<p><i>Hint.</i> Notice how many elements you have to drop from the list to get
 from a parent (e.g. <math xmlns="&mathml;">
<mn class="builtin">3</mn>
</math>) to its children (<math xmlns="&mathml;">
<mn class="builtin">7</mn>
</math>, <math xmlns="&mathml;">
<mn class="builtin">8</mn>
</math>). Define an auxiliary function <math xmlns="&mathml;">
<msub class="ident"><mi class="ident">Ln2bbt</mi><mn class="id_sub">1</mn>
</msub>
<mrow class="cp1"><mo>(</mo><mi>i</mi><mo>,</mo><mi>x</mi><mo>)</mo>
</mrow>
</math>, and keep the number of dropped elements in <math xmlns="&mathml;">
<mi>i</mi>
</math>. <math xmlns="&mathml;">
<mi class="ident">Ln2bbt</mi>
</math> just calls <math xmlns="&mathml;">
<msub class="ident"><mi class="ident">Ln2bt</mi><mn class="id_sub">1</mn>
</msub>
</math> with suitably initialized <math xmlns="&mathml;">
<mi>i</mi>
</math>. You will need the function <math xmlns="&mathml;">
<mi class="ident">Drop</mi>
</math> from ex04.
</p>
</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"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Drop</mi>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Drop</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>i</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</math>
</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;">
<msub class="inh_col_id"><mi class="inh_col_id">Ln2bbt</mi><mn class="id_sub"
>1</mn>
</msub>
</math></span>&nbsp;/&nbsp;2</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<msub class="ident"><mi class="ident">Ln2bbt</mi><mn class="id_sub">1</mn>
</msub>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>i</mi>
</mstyle><mo>,</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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">Ln2bbt</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ln2bbt</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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>Assignment 9. *</b> Define a function <math xmlns="&mathml;">
<mi class="ident">Ln2pbt</mi>
<mrow class="cp1"><mo>(</mo><mi>x</mi><mo>)</mo>
</mrow>
</math> which takes a list and constructs an perfectly balanced (Braun) binary
 tree containing all members of the list. The tree is perfectly balanced in 
the sense that the left child of each substree may contain at most <i>one more
 element</i> than the right child. The <i>path</i> to the <math xmlns="&mathml;"
>
<mi>i</mi>
</math>-th element of the list is determined by the <i>dyadic</i> representation
 of <math xmlns="&mathml;">
<mi>i</mi>
</math> (reading from the least to most significant digit, <math xmlns="&mathml;"
>
<mrow><mi>j</mi><mo class="bdsucc">1</mo>
</mrow>
</math> selects the left subtree, <math xmlns="&mathml;">
<mrow><mi>j</mi><mo class="bdsucc">2</mo>
</mrow>
</math> selects the right one). For example:
</p>
<math xmlns="&mathml;" mode="display">
<mi class="ident">Ln2pbt</mi>
<mrow class="cp1"><mo>(</mo><mn class="builtin">0</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">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">9</mn><mo class="builtin">,</mo
><mn class="builtin">0</mn><mo>)</mo>
</mrow><mo>=</mo>
<mfrac><mn class="builtin">0</mn>
<mrow>
<mfrac><mn class="builtin">1</mn>
<mrow>
<mfrac><mn class="builtin">3</mn>
<mrow>
<mfrac><mn class="builtin">7</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">5</mn>
<mrow>
<mfrac><mn class="builtin">9</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">2</mn>
<mrow>
<mfrac><mn class="builtin">4</mn>
<mrow>
<mfrac><mn class="builtin">8</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac><mo>&mid;</mo>
<mfrac><mn class="builtin">6</mn>
<mrow><mo>&bull;</mo><mo>&mid;</mo><mo>&bull;</mo>
</mrow>
</mfrac>
</mrow>
</mfrac>
</mrow>
</mfrac>
</math>
<p><i>Hint.</i> Notice that the <math xmlns="&mathml;">
<mn class="builtin">0</mn>
</math>-th element of the list goes to the root, the <math xmlns="&mathml;">
<mn class="builtin">1</mn>
</math>-st, <math xmlns="&mathml;">
<mn class="builtin">3</mn>
</math>-rd, ..., <math xmlns="&mathml;">
<mrow><mi>i</mi><mo class="bdsucc">1</mo>
</mrow>
</math>-th elements go to the left subtree, and <math xmlns="&mathml;">
<mn class="builtin">2</mn>
</math>-nd, <math xmlns="&mathml;">
<mn class="builtin">4</mn>
</math>-th, ..., <math xmlns="&mathml;">
<mrow><mi>i</mi><mo class="bdsucc">2</mo>
</mrow>
</math>-th elements go to the right subtree. Recall that the function <math xmlns="&mathml;"
>
<mi class="ident">Msplit</mi>
</math> from ex06 splits the list precisely as needed here.
</p>
</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">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>x</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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">Ln2pbt</mi>
</math></span></span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Ln2pbt</mi>
<mrow class="cp1"><mo>(</mo>
<mstyle class="bvar"><mi>x</mi>
</mstyle><mo>)</mo>
</mrow><mo>=</mo><mo>&ctdot;</mo>
</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="idWC----"/>
<form action="#idWC----" method="POST" id="idWC----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idWC----"/>
<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="#idYC----" method="POST" id="idYC----" onsubmit="return submitForm(this,this);"
><a name="idYC----"/><input type="hidden" name="selector" value="idYC----"/>
<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="idZC----" class="fill"><a name="idZC----"/>
<div>Heap used:&nbsp;295056 free:&nbsp;133921984
</div>
<div>Time used:&nbsp;0:0:0:63
</div>
</div>
</div>
</div>
</body></html>