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

<b>let </b><font color="Maroon">c<sub>1</sub></font> be  non <a href="xboole_0.html#V1">empty</a>  <a href="hidden.html#M1">set</a> ;<br/><b>let </b><font color="Maroon">c<sub>2</sub></font>, <font color="Maroon">c<sub>3</sub></font>, <font color="Maroon">c<sub>4</sub></font> be    <a href="filerec1.html#NM1" target="_self">File</a> of <font color="Maroon">c<sub>1</sub></font>;<br/>



<b>assume </b><a NAME="E1:38"/><i><font color="Green">E23</font></i>: 
( <font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#R5">is_terminated_by</a> <font color="Maroon">c<sub>2</sub></font> &amp; <font color="Maroon">c<sub>4</sub></font> <a href="finseq_8.html#R5">is_terminated_by</a> <font color="Maroon">c<sub>2</sub></font> )
 ;<br/>

<div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="38_1"><b>per </b></a><a class="txt" onclick="hs(this)" href="javascript:()"><b>cases </b></a><span class="hide"><a NAME="E1:38_1"/>
(  <a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>2</sub></font> <a href="xxreal_0.html#NR4" target="_self">&gt;</a> 0 or  <a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>2</sub></font> <a href="xxreal_0.html#R1">&lt;=</a> 0 )
 </span>;<br/><div class="add"><div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="38_1_1"><b>suppose </b></a><a NAME="E1:38_1_1"/>
 <a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>2</sub></font> <a href="xxreal_0.html#NR4" target="_self">&gt;</a> 0
 ;<br/><div class="add"><a NAME="E2:38_1_1"/>
<font color="Maroon">c<sub>3</sub></font> <a href="hidden.html#R1">=</a>  <a href="finseq_8.html#K8">addcr</a> <font color="Maroon">c<sub>3</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 <b>by </b><i><a class="txt" href="filerec1.html#E1:38"><i><font color="Green">E23</font></i></a>, <a class="ref" href="filerec1.html#T29" target="_self">Th29</a></i>;<br/><a NAME="E3:38_1_1"/><b>then </b><i><font color="Green">E24</font></i>: 
<font color="Maroon">c<sub>3</sub></font> <a href="hidden.html#R1">=</a>  <a href="finseq_8.html#K4">ovlcon</a> <font color="Maroon">c<sub>3</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 <b>by </b><i><a class="ref" href="finseq_8.html#D11">FINSEQ_8:def 11</a></i>;<br/><a NAME="E4:38_1_1"/>
<font color="Maroon">c<sub>4</sub></font> <a href="hidden.html#R1">=</a>  <a href="finseq_8.html#K8">addcr</a> <font color="Maroon">c<sub>4</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 <b>by </b><i><a class="txt" href="filerec1.html#E1:38"><i><font color="Green">E23</font></i></a>, <a class="ref" href="filerec1.html#T29" target="_self">Th29</a></i>;<br/><a NAME="E5:38_1_1"/><b>then </b>
<font color="Maroon">c<sub>4</sub></font> <a href="hidden.html#R1">=</a>  <a href="finseq_8.html#K4">ovlcon</a> <font color="Maroon">c<sub>4</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 <b>by </b><i><a class="ref" href="finseq_8.html#D11">FINSEQ_8:def 11</a></i>;<br/><a NAME="E6:38_1_1"/><b>then </b><i><font color="Green">E25</font></i>: 
<font color="Maroon">c<sub>4</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>4</sub></font> <a href="finseq_8.html#K1">^</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p2">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p3">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>4</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span>
 <b>by </b><i><a class="ref" href="finseq_8.html#D3">FINSEQ_8:def 3</a></i>;<br/><a NAME="E7:38_1_1"/><i><font color="Green">E26</font></i>: 
<font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font> <a href="hidden.html#R1">=</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_1.html#K17">|</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>3</sub></font></span>)</span> <a href="binarith.html#K5">-'</a> <span class="p4">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p5">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>3</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>2</sub></font></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>4</sub></font> <a href="finseq_8.html#K1">^</a> <span class="p2">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p3">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p4">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>4</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span></span>)</span>
 <b>by </b><i><a class="txt" href="filerec1.html#E3:38_1_1"><i><font color="Green">E24</font></i></a>, <a class="txt" href="filerec1.html#E6:38_1_1"><i><font color="Green">E25</font></i></a>, <a class="ref" href="finseq_8.html#T11">FINSEQ_8:11</a></i>;<br/> <a href="finseq_8.html#K8">addcr</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font> = 
 <a href="finseq_8.html#K4">ovlcon</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font>
<b>by </b><i><a class="ref" href="finseq_8.html#D11">FINSEQ_8:def 11</a></i>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p2">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p3">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <span class="p4">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span>
<b>by </b><i><a class="ref" href="finseq_8.html#D3">FINSEQ_8:def 3</a></i>
<br/>.= 
<span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_1.html#K17">|</a> <span class="p4">(<span class="default"><span class="p5">(<span class="default"><a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>3</sub></font></span>)</span> <a href="binarith.html#K5">-'</a> <span class="p5">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p0">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>3</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p3">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p2">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p3">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p4">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>4</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p2">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p3">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <span class="p4">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span>
<b>by </b><i><a class="txt" href="filerec1.html#E7:38_1_1"><i><font color="Green">E26</font></i></a>, <a class="ref" href="filerec1.html#T1" target="_self">Th1</a></i>
<br/>.= 
<span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_1.html#K17">|</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>3</sub></font></span>)</span> <a href="binarith.html#K5">-'</a> <span class="p4">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p5">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>3</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p2">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p3">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p4">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <font color="Maroon">c<sub>4</sub></font>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p2">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p3">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p4">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <span class="p5">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span></span>)</span>
<b>by </b><i><a class="ref" href="finseq_1.html#T45">FINSEQ_1:45</a></i>
;<br/><b>hence </b><a NAME="E9:38_1_1"/>
<font color="Maroon">c<sub>2</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font> <a href="finseq_8.html#R2">is_substring_of</a>  <a href="finseq_8.html#K8">addcr</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font>,1
 <b>by </b><i><a class="ref" href="filerec1.html#T36" target="_self">Th36</a></i>;<br/></div><b>end;</b></div><div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="38_1_2"><b>suppose </b></a><a NAME="E1:38_1_2"/><i><font color="Green">E24</font></i>: 
 <a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>2</sub></font> <a href="xxreal_0.html#R1">&lt;=</a> 0
 ;<br/><div class="add"><a NAME="E2:38_1_2"/><i><font color="Green">E25</font></i>: 
 <a href="finseq_1.html#K3">len</a> <font color="Maroon">c<sub>2</sub></font> <a href="hidden.html#R1">=</a> 0
 <b>by </b><i><a class="txt" href="filerec1.html#E1:38_1_2"><i><font color="Green">E24</font></i></a>, <a class="ref" href="nat_1.html#T18">NAT_1:18</a></i>;<br/><b>then </b><i><font color="Green">E26</font></i>: <font color="Maroon">c<sub>2</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font> = 
<a href="xboole_0.html#K1">{}</a>  <a href="finseq_1.html#K7">^</a> <font color="Maroon">c<sub>4</sub></font>
<b>by </b><i><a class="ref" href="finseq_1.html#T25">FINSEQ_1:25</a></i>
<br/>.= 
<font color="Maroon">c<sub>4</sub></font>
<b>by </b><i><a class="ref" href="finseq_1.html#T47">FINSEQ_1:47</a></i>
;<br/><a NAME="E4:38_1_2"/>
 <a href="finseq_1.html#K3">len</a> <span class="p1">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <span class="p2">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font></span>)</span> <a href="xxreal_0.html#R1">&lt;=</a> 0
 <b>by </b><i><a class="txt" href="filerec1.html#E1:38_1_2"><i><font color="Green">E24</font></i></a>, <a class="ref" href="finseq_8.html#T16">FINSEQ_8:16</a></i>;<br/><a NAME="E5:38_1_2"/><b>then </b><i><font color="Green">E27</font></i>: 
 <a href="finseq_1.html#K3">len</a> <span class="p1">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <span class="p2">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font></span>)</span> <a href="hidden.html#R1">=</a> 0
 <b>by </b><i><a class="ref" href="nat_1.html#T18">NAT_1:18</a></i>;<br/> <a href="finseq_8.html#K8">addcr</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font> = 
 <a href="finseq_8.html#K4">ovlcon</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font>
<b>by </b><i><a class="ref" href="finseq_8.html#D11">FINSEQ_8:def 11</a></i>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span> <a href="finseq_8.html#K1">^</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>2</sub></font> <a href="rfinseq.html#K1">/^</a> <span class="p2">(<span class="default"><a href="finseq_1.html#K3">len</a> <span class="p3">(<span class="default"><a href="finseq_8.html#K3">ovlpart</a> <span class="p4">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font></span>)</span></span>)</span></span>)</span>
<b>by </b><i><a class="ref" href="finseq_8.html#D3">FINSEQ_8:def 3</a></i>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>2</sub></font>
<b>by </b><i><a class="txt" href="filerec1.html#E5:38_1_2"><i><font color="Green">E27</font></i></a>, <a class="ref" href="finseq_5.html#T31">FINSEQ_5:31</a></i>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span> <a href="finseq_1.html#K7">^</a> <a href="xboole_0.html#K1">{}</a> 
<b>by </b><i><a class="txt" href="filerec1.html#E2:38_1_2"><i><font color="Green">E25</font></i></a>, <a class="ref" href="finseq_1.html#T25">FINSEQ_1:25</a></i>
<br/>.= 
<font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font>
<b>by </b><i><a class="ref" href="finseq_1.html#T47">FINSEQ_1:47</a></i>
;<br/><b>hence </b><a NAME="E7:38_1_2"/>
<font color="Maroon">c<sub>2</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font> <a href="finseq_8.html#R2">is_substring_of</a>  <a href="finseq_8.html#K8">addcr</a> <span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="finseq_8.html#K1">^</a> <font color="Maroon">c<sub>4</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font>,1
 <b>by </b><i><a class="txt" href="filerec1.html#E3:38_1_2"><i><font color="Green">E26</font></i></a>, <a class="ref" href="filerec1.html#T35" target="_self">Th35</a></i>;<br/></div><b>end;</b></div></div><b>end;</b></div>

</div>
