<?xml version="1.0"?>
<div class="add">

<b>let </b><font color="Maroon">X</font> be  <a href="finset_1.html#V1">finite</a>  <a href="hidden.html#M1">set</a> ;<br/><b>let </b><font color="Maroon">C</font> be   <a href="setfam_1.html#NM1">Subset-Family</a> of <font color="Maroon">X</font>;<br/><b>let </b><font color="Maroon">B</font> be    <a href="hidden.html#M1">set</a> ;<br/>





<b>assume </b><b>that </b><br/><a NAME="E1:107"/><i><font color="Green">E33</font></i>: 
<font color="Maroon">C</font> is <a href="xboole_0.html#V1">(C1)</a>
 <b>and </b><br/><a NAME="E2:107"/><i><font color="Green">E34</font></i>: 
<font color="Maroon">C</font> is <a href="armstrng.html#V11" target="_self">without_proper_subsets</a>
 <b>and </b><br/><a NAME="E3:107"/><i><font color="Green">E35</font></i>: 
<font color="Maroon">B</font> <a href="hidden.html#R1">=</a> <span class="p1">{<span class="default"> <font color="Olive">b</font> where <font color="Olive">b</font> is   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font> : for <font color="Olive">K</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>  st <font color="Olive">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font> holds <br/> not <font color="Olive">K</font> <a href="tarski.html#R1">c=</a> <font color="Olive">b</font> </span>}</span> 
 ;<br/>

<b>set </b><font color="Maroon">F</font> = <font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font>;<br/>
<a NAME="E4:107"/>
<font color="Maroon">B</font> <a href="tarski.html#R1">c=</a>  <a href="zfmisc_1.html#K1">bool</a> <font color="Maroon">X</font>
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="107_1"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">x</font> be    <a href="hidden.html#M1">set</a> ; <i><font color="Red">:: according to </font></i><a class="ref" href="tarski.html#D3">TARSKI:def 3</a><br/>

<b>assume </b><a NAME="E1:107_1"/>
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a> <font color="Maroon">B</font>
 ;<br/>

<a NAME="E2:107_1"/><b>then </b>
 ex <font color="Olive">b</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font> st <br/>( <font color="Maroon">x</font> <a href="hidden.html#R1">=</a> <font color="Olive">b</font> &amp; ( for <font color="Olive">K</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>  st <font color="Olive">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font> holds <br/> not <font color="Olive">K</font> <a href="tarski.html#R1">c=</a> <font color="Olive">b</font> ) )
 
<b>by </b><i/>;<br/>
<b>hence </b><a NAME="E3:107_1"/>
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a>  <a href="zfmisc_1.html#K1">bool</a> <font color="Maroon">X</font>
 ;<br/>


</div><b>end;</b></div>
<b>then reconsider </b><font color="Maroon">BB</font> = <font color="Maroon">B</font> as   <a href="setfam_1.html#NM1">Subset-Family</a> of <font color="Maroon">X</font> ;<br/>
<a NAME="E6:107"/><i><font color="Green">E38</font></i>: 
 <a href="subset_1.html#K2">[#]</a> <font color="Maroon">X</font> <a href="hidden.html#R1">=</a> <font color="Maroon">X</font>
 
;<br/>
<div><i><font color="Green">E39</font></i>: <a class="txt" onclick="hs2(this)" href="javascript:()" title="107_2"><b>now </b></a><div class="add"><b>let </b><font color="Maroon">x</font> be    <a href="hidden.html#M1">set</a> ;<br/><b>assume </b><a NAME="E1:107_2"/><i><font color="Green">E40</font></i>: 
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font>
 ;<br/><b>then reconsider </b><font color="Maroon">x'</font> = <font color="Maroon">x</font> as   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font> ;<br/><div><a class="txt" onclick="hs2(this)" href="javascript:()" title="107_2_1"><b>now </b></a><div class="add"><b>let </b><font color="Maroon">c</font> be    <a href="hidden.html#M1">set</a> ;<br/><b>assume </b><a NAME="E1:107_2_1"/><i><font color="Green">E43</font></i>: 
( <font color="Maroon">c</font> <a href="hidden.html#R2">in</a> <font color="Maroon">BB</font> &amp; <font color="Maroon">x'</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">c</font> )
 ;<br/><a NAME="E2:107_2_1"/><b>then </b>
 ex <font color="Olive">b</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font> st <br/>( <font color="Maroon">c</font> <a href="hidden.html#R1">=</a> <font color="Olive">b</font> &amp; ( for <font color="Olive">K</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>  st <font color="Olive">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font> holds <br/> not <font color="Olive">K</font> <a href="tarski.html#R1">c=</a> <font color="Olive">b</font> ) )
 <b>by </b><i/>;<br/><b>hence </b><a NAME="E3:107_2_1"/>
<font color="Maroon">X</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">c</font>
 <b>by </b><i>, <a class="ref" href="armstrng.html#D2" target="_self">Def2</a></i>;<br/></div><b>end;</b></div><a NAME="E4:107_2"/><b>then </b>
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">x'</font>,<font color="Maroon">X</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a> <font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font>
 <b>by </b><i/>;<br/><b>then consider </b><font color="Maroon">a</font> being   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>, <font color="Maroon">b</font> being   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font><b> such that </b><br/><a NAME="E6:107_2"/><i><font color="Green">E44</font></i>: 
<span class="p1"><a href="armstrng.html#K6" target="_self">[</a><span class="default"><font color="Maroon">a</font>,<font color="Maroon">b</font></span><a href="armstrng.html#K6" target="_self">]</a></span> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K8" target="_self">Maximal_wrt</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 <b>and </b><br/><a NAME="E7:107_2"/><i><font color="Green">E45</font></i>: 
<span class="p1"><a href="armstrng.html#K6" target="_self">[</a><span class="default"><font color="Maroon">a</font>,<font color="Maroon">b</font></span><a href="armstrng.html#K6" target="_self">]</a></span> <a href="armstrng.html#R3" target="_self">&gt;=</a> <span class="p1"><a href="armstrng.html#K6" target="_self">[</a><span class="default"><font color="Maroon">x'</font>,<span class="p2">(<span class="default"><a href="subset_1.html#K2">[#]</a> <font color="Maroon">X</font></span>)</span></span><a href="armstrng.html#K6" target="_self">]</a></span>
 <b>by </b><i/>;<br/><a NAME="E8:107_2"/><i><font color="Green">E46</font></i>: 
<font color="Maroon">a</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">x'</font>
 <b>by </b><i><a class="ref" href="armstrng.html#D3" target="_self">Def3</a>, </i>;<br/><a NAME="E9:107_2"/>
<font color="Maroon">X</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">b</font>
 <b>by </b><i><a class="ref" href="armstrng.html#D3" target="_self">Def3</a>, </i>;<br/><a NAME="E10:107_2"/><b>then </b><i><font color="Green">E50</font></i>: 
<font color="Maroon">b</font> <a href="hidden.html#R1">=</a> <font color="Maroon">X</font>
 <b>by </b><i><a class="ref" href="xboole_0.html#D10">XBOOLE_0:def 10</a></i>;<br/><b>assume </b><a NAME="E11:107_2"/><i><font color="Green">E74</font></i>: 
not <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">x</font>,<font color="Maroon">X</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K8" target="_self">Maximal_wrt</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 ;<br/><div><a class="txt" onclick="hs2(this)" href="javascript:()" title="107_2_2"><b>now </b></a><div class="add"><b>let </b><font color="Maroon">K</font> be   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>;<br/><b>assume </b><a NAME="E1:107_2_2"/><i><font color="Green">E75</font></i>: 
<font color="Maroon">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font>
 ;<br/><b>assume </b><a NAME="E2:107_2_2"/><i><font color="Green">E79</font></i>: 
<font color="Maroon">K</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">a</font>
 ;<br/><a NAME="E3:107_2_2"/><b>then </b>
<font color="Maroon">K</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">x'</font>
 <b>by </b><i>, <a class="ref" href="xboole_1.html#T1">XBOOLE_1:1</a></i>;<br/><a NAME="E4:107_2_2"/><b>then </b>
<font color="Maroon">K</font> <a href="hidden.html#R1">=</a> <font color="Maroon">x'</font>
 <b>by </b><i>, , , </i>;<br/><b>hence </b><a NAME="E5:107_2_2"/>
contradiction
 <b>by </b><i><a class="ref" href="armstrng.html#D2" target="_self">Def2</a>, , , , , <a class="ref" href="xboole_0.html#D10">XBOOLE_0:def 10</a></i>;<br/></div><b>end;</b></div><a NAME="E13:107_2"/><b>then </b>
<font color="Maroon">a</font> <a href="hidden.html#R2">in</a> <font color="Maroon">BB</font>
 <b>by </b><i/>;<br/><a NAME="E14:107_2"/><b>then </b>
<font color="Maroon">X</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">a</font>
 <b>by </b><i><a class="ref" href="armstrng.html#D2" target="_self">Def2</a>, , </i>;<br/><a NAME="E15:107_2"/><b>then </b>
<font color="Maroon">X</font> <a href="hidden.html#R1">=</a> <font color="Maroon">a</font>
 <b>by </b><i><a class="ref" href="xboole_0.html#D10">XBOOLE_0:def 10</a></i>;<br/><b>hence </b><a NAME="E16:107_2"/>
contradiction
 <b>by </b><i><a class="ref" href="armstrng.html#D2" target="_self">Def2</a>, , , , <a class="ref" href="xboole_0.html#D10">XBOOLE_0:def 10</a></i>;<br/></div><b>end;</b></div>
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="107_3"><b>now </b></a><div class="add"><b>let </b><font color="Maroon">x</font> be    <a href="hidden.html#M1">set</a> ;<br/><div><b>hereby </b>
<div class="add"><b>assume </b><a NAME="E1:107_3_1"/><i><font color="Green">E80</font></i>: 
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font>
 ;<br/><a NAME="E2:107_3_1"/><b>then </b>
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">x</font>,<font color="Maroon">X</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K8" target="_self">Maximal_wrt</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 <b>by </b><i><a class="ref" href="armstrng.html#D1" target="_self">Def1</a></i>;<br/><b>hence </b><a NAME="E3:107_3_1"/>
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K13" target="_self">candidate-keys</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 <b>by </b><i/>;<br/></div>
<b>end;</b></div><b>assume </b><a NAME="E2:107_3"/>
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K13" target="_self">candidate-keys</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 ;<br/><b>then consider </b><font color="Maroon">A</font> being   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font><b> such that </b><br/><a NAME="E4:107_3"/><i><font color="Green">E81</font></i>: 
<font color="Maroon">x</font> <a href="hidden.html#R1">=</a> <font color="Maroon">A</font>
 <b>and </b><br/><a NAME="E5:107_3"/><i><font color="Green">E82</font></i>: 
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">A</font>,<font color="Maroon">X</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K8" target="_self">Maximal_wrt</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 ;<br/><a NAME="E6:107_3"/><i><font color="Green">E83</font></i>: 
for <font color="Olive">c</font> being   <a href="hidden.html#M1">set</a>   holds <br/>(  not <font color="Olive">c</font> <a href="hidden.html#R2">in</a> <font color="Maroon">BB</font> or <font color="Olive">c</font> <a href="hidden.html#R1">=</a> <font color="Maroon">X</font> or  not <font color="Maroon">A</font> <a href="tarski.html#R1">c=</a> <font color="Olive">c</font> )
 <div><a class="txt" onclick="hs2(this)" href="javascript:()" title="107_3_2"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">c</font> be    <a href="hidden.html#M1">set</a> ;<br/>

<b>assume </b><b>that </b><br/><a NAME="E1:107_3_2"/><i><font color="Green">E84</font></i>: 
<font color="Maroon">c</font> <a href="hidden.html#R2">in</a> <font color="Maroon">BB</font>
 <b>and </b><br/><a NAME="E2:107_3_2"/><i><font color="Green">E85</font></i>: 
not <font color="Maroon">c</font> <a href="hidden.html#R1">=</a> <font color="Maroon">X</font>
 ;<br/>

<b>consider </b><font color="Maroon">cb</font> being   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font><b> such that </b><br/><a NAME="E4:107_3_2"/><i><font color="Green">E109</font></i>: 
<font color="Maroon">c</font> <a href="hidden.html#R1">=</a> <font color="Maroon">cb</font>
 <b>and </b><br/><a NAME="E5:107_3_2"/>
for <font color="Olive">K</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>  st <font color="Olive">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font> holds <br/> not <font color="Olive">K</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">cb</font>
 <b>by </b><i>, </i>;<br/>
<b>assume </b><a NAME="E6:107_3_2"/>
<font color="Maroon">A</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">c</font>
 ;<br/>

<a NAME="E7:107_3_2"/><b>then </b>
<font color="Maroon">X</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">c</font>
 
<b>by </b><i>, <a class="ref" href="armstrng.html#D2" target="_self">Def2</a>, , </i>;<br/>
<b>hence </b><a NAME="E8:107_3_2"/>
contradiction
 <b>by </b><i>, , <a class="ref" href="xboole_0.html#D10">XBOOLE_0:def 10</a></i>;<br/>


</div><b>end;</b></div><b>assume </b><a NAME="E7:107_3"/><i><font color="Green">E110</font></i>: 
not <font color="Maroon">x</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font>
 ;<br/><div><a class="txt" onclick="hs2(this)" href="javascript:()" title="107_3_3"><b>now </b></a><div class="add"><b>given </b><font color="Maroon">K</font> being   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font><b> such that </b><a NAME="E1:107_3_3"/><i><font color="Green">E111</font></i>: 
<font color="Maroon">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font>
 <b>and </b><br/><a NAME="E2:107_3_3"/><i><font color="Green">E112</font></i>: 
<font color="Maroon">K</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">A</font>
 ;<br/><a NAME="E3:107_3_3"/>
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">K</font>,<font color="Maroon">X</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a>  <a href="armstrng.html#K8" target="_self">Maximal_wrt</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 <b>by </b><i><a class="ref" href="armstrng.html#D1" target="_self">Def1</a>, </i>;<br/><a NAME="E4:107_3_3"/><b>then </b><i><font color="Green">E113</font></i>: 
<font color="Maroon">K</font> <a href="armstrng.html#R4" target="_self">^|^</a> <font color="Maroon">X</font>,<font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font>
 <b>by </b><i><a class="txt" href="armstrng.html#E3:107"><i><font color="Green">E35</font></i></a></i>;<br/><a NAME="E5:107_3_3"/><i><font color="Green">E114</font></i>: 
<font color="Maroon">A</font> <a href="armstrng.html#R4" target="_self">^|^</a> <font color="Maroon">X</font>,<font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font>
 <b>by </b><i><a class="ref" href="armstrng.html#D2" target="_self">Def2</a>, <a class="txt" href="armstrng.html#E3:107"><i><font color="Green">E35</font></i></a></i>;<br/><a NAME="E6:107_3_3"/><i><font color="Green">E115</font></i>: 
<span class="p1"><a href="armstrng.html#K6" target="_self">[</a><span class="default"><font color="Maroon">K</font>,<span class="p2">(<span class="default"><a href="subset_1.html#K2">[#]</a> <font color="Maroon">X</font></span>)</span></span><a href="armstrng.html#K6" target="_self">]</a></span> <a href="hidden.html#R2">in</a> <font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font>
 <b>by </b><i>, </i>;<br/><a NAME="E7:107_3_3"/>
<span class="p1"><a href="armstrng.html#K6" target="_self">[</a><span class="default"><font color="Maroon">K</font>,<span class="p2">(<span class="default"><a href="subset_1.html#K2">[#]</a> <font color="Maroon">X</font></span>)</span></span><a href="armstrng.html#K6" target="_self">]</a></span> <a href="armstrng.html#R3" target="_self">&gt;=</a> <span class="p1"><a href="armstrng.html#K6" target="_self">[</a><span class="default"><font color="Maroon">A</font>,<span class="p2">(<span class="default"><a href="subset_1.html#K2">[#]</a> <font color="Maroon">X</font></span>)</span></span><a href="armstrng.html#K6" target="_self">]</a></span>
 <b>by </b><i>, </i>;<br/><b>hence </b><a NAME="E8:107_3_3"/>
contradiction
 <b>by </b><i>, , , , , </i>;<br/></div><b>end;</b></div><a NAME="E9:107_3"/><b>then </b>
<font color="Maroon">A</font> <a href="hidden.html#R2">in</a> <font color="Maroon">BB</font>
 <b>by </b><i/>;<br/><a NAME="E10:107_3"/><b>then </b>
<font color="Maroon">X</font> <a href="hidden.html#R2">in</a> <font color="Maroon">BB</font>
 <b>by </b><i><a class="ref" href="armstrng.html#D3" target="_self">Def3</a></i>;<br/><b>then consider </b><font color="Maroon">b</font> being   <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font><b> such that </b><br/><a NAME="E12:107_3"/><i><font color="Green">E116</font></i>: 
<font color="Maroon">b</font> <a href="hidden.html#R1">=</a> <font color="Maroon">X</font>
 <b>and </b><br/><a NAME="E13:107_3"/><i><font color="Green">E117</font></i>: 
for <font color="Olive">K</font> being  <a href="subset_1.html#NM2">Subset</a> of <font color="Maroon">X</font>  st <font color="Olive">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font> holds <br/> not <font color="Olive">K</font> <a href="tarski.html#R1">c=</a> <font color="Maroon">b</font>
 <b>by </b><i/>;<br/><a NAME="E14:107_3"/>
for <font color="Olive">K</font> being   <a href="hidden.html#M1">set</a>   holds not <font color="Olive">K</font> <a href="hidden.html#R2">in</a> <font color="Maroon">C</font>
 <b>by </b><i>, </i>;<br/><b>hence </b><a NAME="E15:107_3"/>
contradiction
 <b>by </b><i>, <a class="ref" href="xboole_0.html#D1">XBOOLE_0:def 1</a></i>;<br/></div><b>end;</b></div>
<b>hence </b><a NAME="E9:107"/>
<font color="Maroon">C</font> <a href="hidden.html#R1">=</a>  <a href="armstrng.html#K13" target="_self">candidate-keys</a> <span class="p1">(<span class="default"><font color="Maroon">X</font> <a href="armstrng.html#K10" target="_self">deps_encl_by</a> <font color="Maroon">B</font></span>)</span>
 <b>by </b><i><a class="ref" href="tarski.html#T2">TARSKI:2</a></i>;<br/>


</div>
