Copyright (c) 1997 Association of Mizar Users
environ
vocabulary ARYTM_1, NAT_1, RELAT_1, ARYTM_3, FINSEQ_1, FINSEQ_6, FUNCT_1,
FINSEQ_5, RFINSEQ, EUCLID, TOPREAL1, JORDAN3, SEQM_3, GOBOARD5, TARSKI,
BOOLE, PRE_TOPC, TOPREAL4, TOPREAL2, MCART_1, JORDAN4, FINSEQ_4;
notation TARSKI, XBOOLE_0, XREAL_0, REAL_1, NAT_1, BINARITH, RELAT_1,
FINSEQ_1, FUNCT_1, FINSEQ_4, FINSEQ_5, STRUCT_0, TOPREAL1, TOPREAL2,
TOPREAL4, GOBOARD1, GOBOARD5, PRE_TOPC, EUCLID, FINSEQ_6, RFINSEQ,
JORDAN3;
constructors GOBOARD9, BINARITH, TOPREAL4, TOPREAL2, REAL_1, RFINSEQ, JORDAN3,
FINSEQ_4, MEMBERED;
clusters STRUCT_0, GOBOARD5, RELSET_1, EUCLID, SPPOL_2, XREAL_0, ARYTM_3,
MEMBERED;
requirements REAL, NUMERALS, BOOLE, SUBSET, ARITHM;
definitions TARSKI;
theorems TARSKI, AXIOMS, JORDAN3, TOPREAL4, EUCLID, TOPREAL1, TOPREAL2,
FUNCT_1, SPPOL_1, GOBOARD5, FINSEQ_1, GOBOARD7, NAT_1, SPPOL_2, REAL_1,
BINARITH, REAL_2, SQUARE_1, FINSEQ_3, GR_CY_1, FINSEQ_2, FINSEQ_4,
GOBOARD9, FINSEQ_5, RFINSEQ, FINSEQ_6, ENUMSET1, SCMFSA_7, ZFMISC_1,
TOPREAL3, GROUP_4, AMI_5, XBOOLE_0, XBOOLE_1, XCMPLX_0, XCMPLX_1;
begin :: Preliminaries
reserve i, i1, i2, i3, j, k, n for Nat,
r, r1, r2, s, s1 for Real;
theorem Th1: n-'i=0 implies n<=i
proof assume A1:n-'i=0;
assume i<n; then i+1<=n by NAT_1:38; then i+1-i<=n-i by REAL_1:49;
then 1<=n-i by XCMPLX_1:26;
then 0<n-i by AXIOMS:22;
hence contradiction by A1,BINARITH:def 3;
end;
theorem Th2:i<=j implies j+k-'i=j+k-i
proof assume i<=j; then i<=j+k by NAT_1:37;
hence thesis by SCMFSA_7:3;
end;
theorem Th3:i<=j implies j+k-'i=j-'i+k
proof assume A1:i<=j; then i<=j+k by NAT_1:37;
hence j+k-'i=j+k-i by SCMFSA_7:3 .=j-i+k by XCMPLX_1:29
.=j-'i+k by A1,SCMFSA_7:3;
end;
theorem Th4:i1<>0 & i2=i3*i1 implies i3<=i2
proof assume A1:i1<>0 & i2=i3*i1; then i1>0 by NAT_1:19;
then i1>=0+1 by NAT_1:38;
then i1-'1+1=i1 by AMI_5:4;
then i2=i3*(i1-'1)+i3*1 by A1,XCMPLX_1:8;
hence i3<=i2 by NAT_1:29;
end;
theorem i1<i2 implies i1 div i2=0
proof assume A1: i1<i2;
now per cases by NAT_1:def 1;
case (ex j1 be Nat st i1=i2*(i1 div i2)+j1 & j1<i2);
then consider j1 be Nat such that A2:i1=i2*(i1 div i2)+j1 & j1<i2;
A3:i1-'j1=i2*(i1 div i2) by A2,BINARITH:39;
now assume i1 div i2<>0;
then A4:i1-'j1>=i2 by A3,Th4;
i1>=i1-'j1 by JORDAN3:13;
hence contradiction by A1,A4,AXIOMS:22;
end;
hence i1 div i2=0;
case (i1 div i2)=0 & i2=0;
hence i1 div i2=0;
end;
hence thesis;
end;
theorem Th6: 0<j & j<i & i<j+j implies i mod j<>0
proof assume A1:0<j & j<i & i<j+j;
assume A2:i mod j=0;
A3:i-j=i-'j by A1,SCMFSA_7:3;
i=i-j+j by XCMPLX_1:27;
then A4:i mod j=(i-'j+j) mod j by A1,SCMFSA_7:3
.=((i-'j)+ (j mod j)) mod j by GR_CY_1:3
.=(i-'j+0)mod j by GR_CY_1:5
.=(i-'j)mod j;
i-j<j+j-j by A1,REAL_1:54;
then i-j<j by XCMPLX_1:26;
then (i-'j) mod j=i-'j by A3,GR_CY_1:4;
hence contradiction by A1,A2,A4,Th1;
end;
theorem Th7: 0<j & j<=i & i<j+j implies i mod j=i-j & i mod j=i-'j
proof assume A1:0<j & j<=i & i<j+j;
then A2:i-j=i-'j by SCMFSA_7:3;
i=i-j+j by XCMPLX_1:27;
then A3:i mod j=(i-'j+j) mod j by A1,SCMFSA_7:3
.=((i-'j)+(j mod j))mod j by GR_CY_1:3
.=((i-'j)+0)mod j by GR_CY_1:5 .=(i-'j)mod j;
i-j<j+j-j by A1,REAL_1:54;
then i-j<j by XCMPLX_1:26;
hence thesis by A2,A3,GR_CY_1:4;
end;
theorem Th8: (j+j)mod j=0
proof thus (j+j)mod j= (2*j) mod j by XCMPLX_1:11
.= 0 by GROUP_4:101;
end;
theorem Th9: 0<k & k<=j & k mod j=0 implies k=j
proof assume A1:0<k & k<=j & k mod j=0;
then k >= j by GR_CY_1:4;
hence k=j by A1,REAL_1:def 5;
end;
begin :: Some facts about cutting of finite sequences
reserve D for non empty set,
f1 for FinSequence of D;
canceled 4;
theorem Th14: for f1 st f1 is circular & 1<=len f1 holds f1.1=f1.len f1
proof let f1;assume A1:f1 is circular & 1<=len f1;
then A2:f1/.1=f1/.len f1 by FINSEQ_6:def 1;
f1.1=f1/.1 by A1,FINSEQ_4:24;
hence thesis by A1,A2,FINSEQ_4:24;
end;
theorem for f1,i1,i2 st i1<=i2 holds
(f1|i1)|i2=f1|i1 & (f1|i2)|i1=f1|i1
proof let f1,i1,i2;assume A1:i1<=i2;
len (f1|i1)<=i1 by FINSEQ_5:19;
then len (f1|i1)<=i2 by A1,AXIOMS:22;
hence (f1|i1)|i2=f1|i1 by TOPREAL1:2;
A2:f1|i2=f1|(Seg i2) by TOPREAL1:def 1;
A3:f1|i1=f1|(Seg i1) by TOPREAL1:def 1;
A4:(f1|i2)|i1=(f1|i2)|Seg i1 by TOPREAL1:def 1;
Seg i1 c= Seg i2 by A1,FINSEQ_1:7;
hence thesis by A2,A3,A4,FUNCT_1:82;
end;
theorem Th16: (<*>D)|i=<*>D
proof len (<*>D)=0 by FINSEQ_1:32;
then len (<*>D)<=i by NAT_1:18;
hence thesis by TOPREAL1:2;
end;
theorem Th17: Rev (<*>D)=<*>D
proof len (Rev(<*>D))=len (<*>D) by FINSEQ_5:def 3 .=0 by FINSEQ_1:32;
hence thesis by FINSEQ_1:32;
end;
theorem Th18: for f1,k st k<len f1 holds
(f1/^k).len (f1/^k)=f1.len f1 & (f1/^k)/.len (f1/^k)=f1/.len f1
proof let f1,k;assume A1:k<len f1;
then k+1<=len f1 by NAT_1:38;
then k+1-k<=len f1-k by REAL_1:49;
then A2:1<=len f1-k by XCMPLX_1:26;
0<=k by NAT_1:18;
then A3: 0+1<=len f1 by A1,NAT_1:38;
A4:1<=len (f1/^k) by A1,A2,RFINSEQ:def 2;
then len (f1/^k) in Seg len (f1/^k) by FINSEQ_1:3;
then A5: len (f1/^k) in dom (f1/^k) & k<=len f1 by A1,FINSEQ_1:def 3;
len (f1/^k)+k=len f1-k+k by A1,RFINSEQ:def 2 .=len f1 by XCMPLX_1:27;
hence A6:(f1/^k).len (f1/^k)=f1.len f1 by A5,RFINSEQ:def 2;
(f1/^k)/.len (f1/^k)=(f1/^k).len (f1/^k) by A4,FINSEQ_4:24;
hence thesis by A3,A6,FINSEQ_4:24;
end;
theorem Th19: for g being FinSequence of TOP-REAL 2,i
st g is_S-Seq & i+1<len g holds g/^i is_S-Seq
proof let g be FinSequence of TOP-REAL 2,i;
assume A1:g is_S-Seq & i+1<len g;
A2:1<=i+1 by NAT_1:29;
then A3:1<len g by A1,AXIOMS:22;
mid(g,i+1,len g)=g/^(i+1-'1) by A1,JORDAN3:26
.=g/^i by BINARITH:39;
hence thesis by A1,A2,A3,JORDAN3:39;
end;
theorem Th20: for f1,i1,i2 st 1<=i2 & i2<=i1 & i1<=len f1
holds len mid(f1,i2,i1)=i1-'i2+1
proof let f1,i1,i2;assume A1:1<= i2 & i2<=i1 & i1<= len f1;
then A2:1<=i1 by AXIOMS:22;
i2<=len f1 by A1,AXIOMS:22;
hence thesis by A1,A2,JORDAN3:27;
end;
theorem Th21: for f1,i1,i2 st 1<=i2 & i2<=i1 & i1<=len f1
holds len mid(f1,i1,i2)=i1-'i2+1
proof let f1,i1,i2;assume A1:1<= i2 & i2<=i1 & i1<= len f1;
per cases by A1,REAL_1:def 5;
suppose i1=i2;
hence len mid(f1,i1,i2)=i1-'i2+1 by A1,JORDAN3:27;
suppose A2:i2<i1; A3:1<=i1 by A1,AXIOMS:22;
i2<=len f1 by A1,AXIOMS:22;
hence len mid(f1,i1,i2)=i1-'i2+1 by A1,A2,A3,JORDAN3:27;
end;
theorem Th22: for f1,i1,i2,j st 1<=i1 & i1<=i2 & i2<=len f1
holds mid(f1,i1,i2).(len mid(f1,i1,i2))=f1.i2
proof let f1,i1,i2,j;assume A1:1<=i1 & i1<=i2 & i2<=len f1;
then A2:1<=i2 by AXIOMS:22;
A3:i1<=len f1 by A1,AXIOMS:22;
then len mid(f1,i1,i2)=i2-'i1+1 by A1,A2,JORDAN3:27;
then 1<=len mid(f1,i1,i2) by NAT_1:29;
then A4:mid(f1,i1,i2).(len mid(f1,i1,i2))
=f1.(len mid(f1,i1,i2)+i1-'1) by A1,A2,A3,JORDAN3:27
.=f1.(i2-'i1+1+i1-'1) by A1,A2,A3,JORDAN3:27;
i2-'i1+1+i1=i2-i1+1+i1 by A1,SCMFSA_7:3 .=i2+1 by XCMPLX_1:227;
hence thesis by A4,BINARITH:39;
end;
theorem Th23: for f1,i1,i2,j st 1<=i1 & i1<=len f1 & 1<=i2 & i2<=len f1
holds mid(f1,i1,i2).(len mid(f1,i1,i2))=f1.i2
proof let f1,i1,i2,j;assume A1:1<=i1 & i1<=len f1 & 1<=i2 & i2<=len f1;
per cases;
suppose i1<=i2;
hence mid(f1,i1,i2).(len mid(f1,i1,i2))=f1.i2 by A1,Th22;
suppose A2:i1>i2;
then len mid(f1,i1,i2)=i1-'i2+1 by A1,JORDAN3:27;
then 1<=len mid(f1,i1,i2) by NAT_1:29;
then A3:mid(f1,i1,i2).(len mid(f1,i1,i2))
=f1.(i1-'len mid(f1,i1,i2)+1) by A1,A2,JORDAN3:27
.=f1.(i1-'(i1-'i2+1)+1) by A1,A2,JORDAN3:27;
0<=i2-1 by A1,SQUARE_1:12;
then i1-0>=i1-(i2-1) by REAL_2:106;
then i1>=i1-i2+1 by XCMPLX_1:37;
then i1-'i2+1<=i1 by A2,SCMFSA_7:3;
then i1-'(i1-'i2+1)+1=i1-(i1-'i2+1)+1 by SCMFSA_7:3
.=i1-(i1-'i2)-1+1 by XCMPLX_1:36
.=i1-(i1-'i2) by XCMPLX_1:27
.=i1-(i1-i2) by A2,SCMFSA_7:3
.=i2 by XCMPLX_1:18;
hence thesis by A3;
end;
theorem Th24: for f1,i1,i2,j st 1<=i2 & i2<=i1 & i1<=len f1 & 1<=j
& j<=i1-'i2+1 holds mid(f1,i1,i2).j=f1.(i1-'j+1)
proof let f1,i1,i2,j;assume
A1:1<= i2 & i2<=i1 & i1<= len f1 & 1<=j
& j<=i1-'i2+1;
then A2:j<=len mid(f1,i1,i2) by Th21;
per cases by A1,REAL_1:def 5;
suppose A3:i1=i2;
then A4: i1-'i2+1=0+1 by GOBOARD9:1 .=1;
then j+i1-'1=1+i1-'1 by A1,AXIOMS:21
.=1+i1-1 by Th2 .=i1-1+1 by XCMPLX_1:29
.=i1-'1+1 by A1,A3,SCMFSA_7:3 .=i1-'j+1 by A1,A4,AXIOMS:21;
hence mid(f1,i1,i2).j=f1.(i1-'j+1) by A1,A2,A3,JORDAN3:27;
suppose A5:i2<i1; A6:1<=i1 by A1,AXIOMS:22;
i2<=len f1 by A1,AXIOMS:22;
hence mid(f1,i1,i2).j=f1.(i1-'j+1) by A1,A2,A5,A6,JORDAN3:27;
end;
theorem Th25:for f1,i1,i2 st 1<=i2 & i2<=i1 & i1<=len f1 & 1<=j & j<=i1-'i2+1
holds mid(f1,i1,i2).j=mid(f1,i2,i1).(i1-i2+1-j+1)
& i1-i2+1-j+1=i1-'i2+1-'j+1
proof let f1,i1,i2;assume A1: 1<=i2 & i2<=i1 & i1<=len f1 & 1<=j & j<=i1-'i2+1;
then A2:1<=i1 by AXIOMS:22;
A3:i2<=len f1 by A1,AXIOMS:22;
j-j<=i1-'i2+1-j by A1,REAL_1:49;
then 0<=i1-'i2+1-j by XCMPLX_1:14;
then A4:i1-'i2+1-j=i1-'i2+1-'j by BINARITH:def 3;
1-j<=j-j by A1,REAL_1:49;
then 1-j<=0 by XCMPLX_1:14;
then i1-'i2+(1-j)<=i1-'i2+0 by REAL_1:55;
then i1-'i2+1-'j<=i1-'i2 by A4,XCMPLX_1:29;
then A5:i1-'i2+1-'j+1<=i1-'i2+1 by AXIOMS:24;
i1-'i2+1=i1-i2+1 by A1,SCMFSA_7:3;
then A6:i1-'i2+1=i1-(i2-1) by XCMPLX_1:37;
i2-1>=0 by A1,SQUARE_1:12;
then i1-(i2-1)<=i1-0 by REAL_2:106;
then A7: j<=i1 by A1,A6,AXIOMS:22;
A8:(i1-'i2+1-'j+1)
=i1-'i2+1-j+1 by A1,SCMFSA_7:3
.=i1-i2+1-j+1 by A1,SCMFSA_7:3;
A9:1<=(i1-'i2+1-'j+1) by NAT_1:29;
now per cases by A1,REAL_1:def 5;
case A10:i1>i2;
len mid(f1,i2,i1)=i1-'i2+1 by A1,A2,A3,JORDAN3:27;
then A11:mid(f1,i2,i1).(i1-'i2+1-'j+1)=f1.((i1-'i2+1-'j+1)+i2-'1)
by A1,A2,A3,A5,A9,JORDAN3:27;
A12:(i1-'i2+1-'j+1)+i2-'1
=(i1-'i2+1-'j+1)+i2-1 by A1,Th2
.=i1-i2+1-j+i2 by A8,XCMPLX_1:226
.=i1-i2+(1-j)+i2 by XCMPLX_1:29
.=i1+(1-j) by XCMPLX_1:227
.=i1+1-j by XCMPLX_1:29 .=i1-j+1 by XCMPLX_1:29
.=i1-'j+1 by A7,SCMFSA_7:3;
len mid(f1,i1,i2)=i1-'i2+1 by A1,A2,A3,A10,JORDAN3:27;
hence mid(f1,i1,i2).j=mid(f1,i2,i1).(i1-i2+1-j+1)
& i1-i2+1-j+1=i1-'i2+1-'j+1 by A1,A2,A3,A8,A10,A11,A12,JORDAN3:27;
case A13:i1=i2;
then A14: i1-'i2+1=0+1 by GOBOARD9:1 .=1;
then j=1 by A1,AXIOMS:21;
then i1-i2+1-j+1=0+1-1+1 by A13,XCMPLX_1:14 .=1;
hence mid(f1,i1,i2).j=mid(f1,i2,i1).(i1-i2+1-j+1)
& i1-i2+1-j+1=i1-'i2+1-'j+1 by A1,A8,A13,A14,AXIOMS:21;
end;
hence thesis;
end;
theorem for f1,i1,i2 st 1<=i1 & i1<=i2 & i2<=len f1 & 1<=j & j<=i2-'i1+1
holds mid(f1,i1,i2).j=mid(f1,i2,i1).(i2-i1+1-j+1)
& i2-i1+1-j+1=i2-'i1+1-'j+1
proof let f1,i1,i2;assume A1:1<=i1 & i1<=i2 & i2<=len f1 & 1<=j & j<=i2-'i1+1;
set k=i2-'i1+1-'j+1;
A2:1<=k by NAT_1:29;
j-1>=0 by A1,SQUARE_1:12;
then A3: k+0<=k+(j-1) by REAL_1:55;
i2-'i1+1-j=i2-'i1+1-'j by A1,SCMFSA_7:3;
then A4: i2-'i1+1-'j+1+(j-1)=i2-'i1+1-(j-1)+(j-1) by XCMPLX_1:37
.=i2-'i1+1 by XCMPLX_1:27;
A5:i2-i1+1-j+1=i2-'i1+1-j+1 by A1,SCMFSA_7:3
.=i2-'i1+1-'j+1 by A1,SCMFSA_7:3;
then i2-i1+1-k+1=i2-i1+1-((i2-i1+1)-(j-1))+1 by XCMPLX_1:37
.=j-1+1 by XCMPLX_1:18
.=j by XCMPLX_1:27;
hence thesis by A1,A2,A3,A4,A5,Th25;
end;
theorem Th27: for f1,k st 1<=k & k<=len f1
holds mid(f1,k,k)=<*f1/.k*> & len mid(f1,k,k)=1
proof let f1,k;assume A1:1<=k & k<=len f1;
A2:len (f1/^(k-'1))=len f1-'(k-'1) by JORDAN3:19;
k-'1+1=k by A1,AMI_5:4;
then A3:(f1/^(k-'1)).1=f1.k by A1,JORDAN3:23;
A4:f1/.k=f1.k by A1,FINSEQ_4:24;
k-'1+1<=len f1 by A1,AMI_5:4;
then k-'1+1-(k-'1)<=len f1-(k-'1) by REAL_1:49;
then 1<=len f1-(k-'1) by XCMPLX_1:26;
then A5:1<=1 & 1<=len (f1/^(k-'1)) by A2,JORDAN3:1;
then 0<len (f1/^(k-'1)) by AXIOMS:22;
then A6:f1/^(k-'1) is non empty by FINSEQ_1:25;
k-'k+1=k-k+1 by SCMFSA_7:3 .=1 by XCMPLX_1:25;
then mid(f1,k,k)=(f1/^(k-'1))|1 by JORDAN3:def 1
.=<*(f1/^(k-'1))/.1*> by A6,FINSEQ_5:23;
hence thesis by A3,A4,A5,FINSEQ_1:56,FINSEQ_4:24;
end;
theorem Th28: mid(f1,0,0)=f1|1
proof
0-'0+1=0-0+1 by SCMFSA_7:3 .=1;
then A1:mid(f1,0,0)=(f1/^(0-'1))|1 by JORDAN3:def 1; 0-1<0;
then 0-'1=0 by BINARITH:def 3;
hence thesis by A1,FINSEQ_5:31;
end;
theorem Th29: for f1,k st len f1<k
holds mid(f1,k,k)=<*>D
proof let f1,k;assume A1:len f1<k;
0<=len f1 by NAT_1:18;
then A2: 0+1<=k by A1,NAT_1:38;
k-'k+1=k-k+1 by SCMFSA_7:3 .=1 by XCMPLX_1:25;
then A3:mid(f1,k,k)=(f1/^(k-'1))|1 by JORDAN3:def 1;
len f1+1<=k by A1,NAT_1:38;
then len f1+1-1<=k-1 by REAL_1:49;
then len f1<=k-1 by XCMPLX_1:26;
then len f1<=k-'1 by A2,SCMFSA_7:3;
then f1/^(k-'1)=<*>D by FINSEQ_5:35;
hence thesis by A3,Th16;
end;
theorem Th30: for f1,i1,i2 holds mid(f1,i1,i2)=Rev mid(f1,i2,i1)
proof let f1; let k1,k2 be Nat;
now per cases;
case A1:k1<=k2;
then A2:mid(f1,k1,k2)=(f1/^(k1-'1))|(k2-'k1+1)
by JORDAN3:def 1;
now per cases by A1,REAL_1:def 5;
case k1<k2;
then mid(f1,k2,k1)=Rev mid(f1,k1,k2) by A2,JORDAN3:def 1;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1) by FINSEQ_6:29;
case A3:k1=k2;
k1=0 or k1>0 by NAT_1:19;
then A4: k1=0 or 0+1<=k1 by NAT_1:38;
now per cases by A4;
case k1=0;
then A5:mid(f1,k1,k2)=f1|1 by A3,Th28;
now per cases;
case len f1=0; then f1=<*>D by FINSEQ_1:32;
then f1|1=<*>D by Th16;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1) by A3,A5,Th17;
case len f1<>0;
then f1 <> <*>D by FINSEQ_1:32;
then f1|1=<*f1/.1*> by FINSEQ_5:23;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1)
by A3,A5,FINSEQ_5:63;
end;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1);
case 1<=k1 & k1<= len f1;
then mid(f1,k1,k1)=<*f1/.k1*> by Th27;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1) by A3,FINSEQ_5:63;
case len f1<k1; then mid(f1,k1,k1)=<*>D by Th29;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1) by A3,Th17;
end;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1);
end;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1);
case A6:k1>k2;
then mid(f1,k1,k2)=Rev ((f1/^(k2-'1))|(k1-'k2+1)) by JORDAN3:def 1;
hence mid(f1,k1,k2)=Rev mid(f1,k2,k1) by A6,JORDAN3:def 1;
end;
hence thesis;
end;
theorem Th31: for f being FinSequence of TOP-REAL 2,i1,i2,i
st 1<=i1 & i1<i2 & i2<=len f & 1<=i & i<i2-'i1+1
holds LSeg(mid(f,i1,i2),i)=LSeg(f,i+i1-'1)
proof let f be FinSequence of TOP-REAL 2,i1,i2,i;
assume A1: 1<=i1 & i1<i2 & i2<=len f & 1<=i & i<i2-'i1+1;
then A2: i<len mid(f,i1,i2) by Th20;
then A3:i+1<=len mid(f,i1,i2) by NAT_1:38;
i2-i1+1=i2-'i1+1 by A1,SCMFSA_7:3;
then i+i1<i2-i1+1+i1 by A1,REAL_1:53;
then i+i1<i2+1 by XCMPLX_1:227;
then i+i1+1<=i2+1 by NAT_1:38;
then i+i1+1-1<=i2+1-1 by REAL_1:49;
then i+i1-1+1<=i2+1-1 by XCMPLX_1:29;
then i+i1-1+1<=i2 by XCMPLX_1:26;
then A4: i+i1-1+1<=len f by A1,AXIOMS:22;
1+1<=i+i1 by A1,REAL_1:55;
then 1+1-1<=i+i1-1 by REAL_1:49;
then A5:1<=i+i1-'1 & i+i1-'1+1<=len f by A1,A4,Th2;
then A6:LSeg(f,i+i1-'1)=LSeg(f/.(i+i1-'1),f/.(i+i1-'1+1)) by TOPREAL1:def 5;
A7:1<=i & i+1<=len mid(f,i1,i2) by A1,A2,NAT_1:38;
A8:1<i+i1-'1+1 by A5,NAT_1:38;
A9:i+i1-'1<len f by A5,NAT_1:38;
A10:i+i1-'1+1<=len f by A1,A4,Th2;
A11:i+i1-'1+1=i+i1-1+1 by A1,Th2 .=i+i1 by XCMPLX_1:27 .=i+1-1+i1 by XCMPLX_1
:26
.=i+1+i1-1 by XCMPLX_1:29 .=i+1+i1-'1 by A1,Th2;
A12:mid(f,i1,i2)/.i=mid(f,i1,i2).i by A1,A2,FINSEQ_4:24
.=f.(i+i1-'1) by A1,JORDAN3:31
.=f/.(i+i1-'1) by A5,A9,FINSEQ_4:24;
A13:i+1<=i2-'i1+1 by A1,NAT_1:38;
A14:1<=1+i by NAT_1:29;
then mid(f,i1,i2)/.(i+1)=mid(f,i1,i2).(i+1) by A7,FINSEQ_4:24
.=f.(i+1+i1-'1) by A1,A13,A14,JORDAN3:31
.=f/.(i+1+i1-'1) by A8,A10,A11,FINSEQ_4:24;
hence thesis by A1,A3,A6,A11,A12,TOPREAL1:def 5;
end;
theorem Th32: for f being FinSequence of TOP-REAL 2,i1,i2,i
st 1<=i1 & i1<i2 & i2<=len f & 1<=i & i<i2-'i1+1
holds LSeg(mid(f,i2,i1),i)=LSeg(f,i2-'i)
proof let f be FinSequence of TOP-REAL 2,i1,i2,i;
assume A1: 1<=i1 & i1<i2 & i2<=len f & 1<=i & i<i2-'i1+1;
then A2:len mid(f,i2,i1)=i2-'i1+1 by Th21;
A3:i<len mid(f,i2,i1) by A1,Th21;
A4:i+(len mid(f,i2,i1)-'i)
=len mid(f,i2,i1) by A1,A2,AMI_5:4;
i+1<=len mid(f,i2,i1) by A3,NAT_1:38;
then i+1-i<=len mid(f,i2,i1)-i by REAL_1:49;
then A5: 1<=len mid(f,i2,i1)-i by XCMPLX_1:26;
len mid(f,i2,i1)+1<=len mid(f,i2,i1)+i by A1,AXIOMS:24;
then len mid(f,i2,i1)<len mid(f,i2,i1)+i by NAT_1:38;
then len mid(f,i2,i1)-i<len mid(f,i2,i1)+i-i by REAL_1:54;
then len mid(f,i2,i1)-i<len mid(f,i2,i1) by XCMPLX_1:26;
then A6:1<=len mid(f,i2,i1)-'i & len mid(f,i2,i1)-'i<i2-'i1+1
by A2,A5,JORDAN3:1;
i2<=i2+(i1-'1) by NAT_1:29;
then i2<=i2+(i1-1) by A1,SCMFSA_7:3;
then i2-(i1-1)<=i2+(i1-1)-(i1-1) by REAL_1:49;
then i2-(i1-1)<=i2 by XCMPLX_1:26;
then i2-i1+1<=i2 by XCMPLX_1:37;
then i2-'i1+1<=i2 by A1,SCMFSA_7:3;
then A7:i<i2 by A1,AXIOMS:22;
A8:i2-'i1+1-'i+i1-'1
=i2-'i1+1-'i+i1-1 by A1,Th2
.=i2-'i1+1-i+i1-1 by A1,SCMFSA_7:3
.=i2-'i1+1-i-1+i1 by XCMPLX_1:29
.=i2-'i1-i+i1 by XCMPLX_1:228
.=i2-i1-i+i1 by A1,SCMFSA_7:3
.=i2-i by XCMPLX_1:229
.=i2-'i by A7,SCMFSA_7:3;
thus LSeg(mid(f,i2,i1),i)
=LSeg(Rev mid(f,i2,i1),len mid(f,i2,i1)-'i) by A4,SPPOL_2:2
.=LSeg(mid(f,i1,i2),len mid(f,i2,i1)-'i) by Th30
.=LSeg(f,len mid(f,i2,i1)-'i+i1-'1) by A1,A6,Th31
.=LSeg(f,i2-'i) by A1,A8,Th21;
end;
begin :: Dividing of special circular sequences into parts
definition let n be Nat, f be FinSequence;
func S_Drop(n,f) -> Nat equals
:Def1: (n mod (len f -'1)) if n mod (len f -'1)<>0
otherwise len f -'1;
correctness;
end;
theorem Th33: for f being FinSequence holds S_Drop(len f-'1,f)=len f-'1
proof let f be FinSequence;
(len f-'1) mod (len f-'1)=0 by GR_CY_1:5;
hence thesis by Def1;
end;
theorem Th34: for n being Nat, f being FinSequence
st 1<=n & n<=len f-'1 holds S_Drop(n,f)=n
proof let n be Nat,f be FinSequence;
assume A1: 1<=n & n<=len f-'1;
then A2:n<>0;
per cases by A1,REAL_1:def 5;
suppose n<len f-'1;
then n mod (len f-'1)=n by GR_CY_1:4;
hence thesis by A2,Def1;
suppose n=len f-'1;
hence thesis by Th33;
end;
theorem Th35: for n being Nat,f being FinSequence holds
S_Drop(n,f)=S_Drop(n+(len f-'1),f) &
S_Drop(n,f)=S_Drop(len f-'1+n,f)
proof let n be Nat,f be FinSequence;
A1:(n+(len f-'1))mod (len f-'1)
= (n+(len f-'1)*1)mod (len f-'1)
.=n mod (len f-'1) by GR_CY_1:1;
per cases;
suppose A2:n mod (len f-'1)<>0;
then S_Drop(n,f)=n mod (len f-'1) by Def1;
hence thesis by A1,A2,Def1;
suppose A3:n mod (len f-'1)=0;
then S_Drop(n,f)=len f-'1 by Def1;
hence thesis by A1,A3,Def1;
end;
definition let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
pred g is_a_part>_of f,i1,i2 means
:Def2: 1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f));
end;
definition let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
pred g is_a_part<_of f,i1,i2 means
:Def3: 1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop(len f +i1-'i,f));
end;
definition let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
pred g is_a_part_of f,i1,i2 means
:Def4: g is_a_part>_of f,i1,i2 or g is_a_part<_of f,i1,i2;
end;
theorem
for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part_of f,i1,i2 holds
1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
((for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))or
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop(len f +i1-'i,f)))
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;assume
A1: g is_a_part_of f,i1,i2;
now per cases by A1,Def4;
case g is_a_part>_of f,i1,i2;
hence
1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
((for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))or
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop(len f +i1-'i,f)))
by Def2;
case g is_a_part<_of f,i1,i2;
hence
1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
((for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))or
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop(len f +i1-'i,f)))
by Def3;
end;
hence thesis;
end;
theorem Th37:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part>_of f,i1,i2 & i1<=i2 holds len g=i2-'i1+1 & g=mid(f,i1,i2)
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part>_of f,i1,i2 & i1<=i2;
then A2:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))
by Def2;
then i1+1-1<=len f-1 by REAL_1:49;
then A3:i1<=len f-1 by XCMPLX_1:26;
then 1<=len f-1 by A2,AXIOMS:22;
then A4:len f-1=len f-'1 by JORDAN3:1;
then A5:0<>len f-'1 by A2,A3,AXIOMS:22;
i1<=i1+1 by NAT_1:29; then A6:i1<=len f by A2,AXIOMS:22;
i2<=i2+1 by NAT_1:29; then A7:i2<=len f by A2,AXIOMS:22;
A8:f.i2=f.S_Drop((i1+len g)-'1,f) by A2;
A9: now per cases;
case A10:(i1+len g)-'1 mod (len f -'1)<>0;
then 0<(i1+len g)-'1 mod (len f -'1) by NAT_1:19;
then 0+1<=(i1+len g)-'1 mod (len f -'1) by NAT_1:38;
hence 1<=S_Drop((i1+len g)-'1,f) by A10,Def1;
case (i1+len g)-'1 mod (len f -'1)=0;
then A11:S_Drop((i1+len g)-'1,f)=len f -'1 by Def1;
i1<=len f -'1 by A2,JORDAN3:12;
hence 1<=S_Drop((i1+len g)-'1,f) by A2,A11,AXIOMS:22;
end;
A12: now per cases;
case (i1+len g)-'1 mod (len f -'1)<>0;
then A13:S_Drop((i1+len g)-'1,f)=((i1+len g)-'1 mod (len f -'1)) by
Def1;
A14: i1<=len f -'1 by A2,JORDAN3:12;
then A15:1<=len f -'1 by A2,AXIOMS:22;
0<len f -'1 by A2,A14,AXIOMS:22;
then A16:((i1+len g)-'1 mod (len f -'1)) <len f-'1 by NAT_1:46;
len f -'1<len f by A15,JORDAN3:14;
hence S_Drop((i1+len g)-'1,f)< len f by A13,A16,AXIOMS:22;
case (i1+len g)-'1 mod (len f -'1)=0;
then A17:S_Drop((i1+len g)-'1,f)=len f -'1 by Def1;
i1<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
hence S_Drop((i1+len g)-'1,f)< len f by A17,JORDAN3:14;
end;
A18:i2<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
then len f -'1<len f by JORDAN3:14;
then A19:i2<len f by A18,AXIOMS:22;
now per cases by REAL_1:def 5;
case A20:i2<S_Drop((i1+len g)-'1,f);
then A21:f/.i2<>f/.(S_Drop((i1+len g)-'1,f)) by A2,A12,GOBOARD7:38;
i2<=len f by A2,JORDAN3:9;
then A22:f/.i2=f.i2 by A2,FINSEQ_4:24;
1<=S_Drop((i1+len g)-'1,f) by A2,A20,AXIOMS:22;
hence contradiction by A8,A12,A21,A22,FINSEQ_4:24;
case i2>S_Drop((i1+len g)-'1,f);
then A23:f/.i2<>f/.(S_Drop((i1+len g)-'1,f)) by A9,A19,GOBOARD7:38;
i2<=len f by A2,JORDAN3:9;
then f/.i2=f.i2 by A2,FINSEQ_4:24;
hence contradiction by A8,A9,A12,A23,FINSEQ_4:24;
case A24:i2=S_Drop((i1+len g)-'1,f);
now per cases;
case A25: (i1+len g)-'1 mod (len f -'1)<>0;
(ex n being Nat st i1+len g -'1
=(len f-'1)*n+((i1+len g-'1) mod (len f -'1)) &
((i1+len g-'1) mod (len f -'1))<len f -'1) by A5,NAT_1:def 2;
then consider n being Nat such that A26: i1+len g -'1
=(len f-'1)*n+((i1+len g)-'1 mod (len f -'1));
A27:i1+len g -'1=(len f-'1)*n+i2 by A24,A25,A26,Def1;
now per cases;
case n=0;
then A28:i2=i1+len g -'1 by A24,A25,A26,Def1;
1<=i1+len g by A2,NAT_1:37;
then i1+len g-'1=i1+len g-1 by SCMFSA_7:3;
then A29: i2+1-i1 = i1+len g-i1 by A28,XCMPLX_1:27
.= len g by XCMPLX_1:26;
then A30: i2-i1+1=len g by XCMPLX_1:29;
then len g=i2-'i1+1 by A1,SCMFSA_7:3;
then A31:len g = len g & len mid(f,i1,i2) = len g
by A1,A2,A6,A7,JORDAN3:27;
for j st j in Seg len g holds g.j = mid(f,i1,i2).j
proof let j;assume j in Seg len g;
then A32:1<=j & j<=len g by FINSEQ_1:3;
then A33:g.j=f.S_Drop((i1+j)-'1,f) by A1,Def2;
A34:i1+j-'1=i1+j-1 by A32,Th2;
i1+j>=1+1 by A2,A32,REAL_1:55;
then i1+j-1>=1+1-1 by REAL_1:49;
then A35:i1+j-'1<>0 by A34;
j+i1<=i2-i1+1+i1 by A30,A32,AXIOMS:24;
then j+i1<=i2+1 by XCMPLX_1:227;
then A36:i1+j<=len f by A2,AXIOMS:22;
now per cases;
case A37:i1+j=len f;
then (i1+j-'1) mod (len f-'1)=0 by GR_CY_1:5;
hence S_Drop(i1+j-'1,f)=i1+j-'1 by A37,Def1;
case i1+j<>len f; then i1+j<len f by A36,REAL_1:def 5;
then i1+j-1<len f-1 by REAL_1:54;
then i1+j-'1<len f-'1 by A2,A4,Th2;
then (i1+j-'1)mod (len f-'1)=i1+j-'1 by GR_CY_1:4;
hence S_Drop((i1+j)-'1,f)=i1+j-'1 by A35,Def1;
end;
hence g.j = mid(f,i1,i2).j
by A1,A2,A7,A29,A32,A33,JORDAN3:31;
end;
hence len g=i2-'i1+1 & g=mid(f,i1,i2)
by A1,A30,A31,FINSEQ_2:10,SCMFSA_7:3;
case n<>0; then 0<n by NAT_1:19; then A38: 0+1<=n by NAT_1:38;
0<=len f-'1 by NAT_1:18;
then (len f-'1)*n>=(len f-'1)*1 by A38,AXIOMS:25;
then A39:i1+len g-'1-i2>=(len f-'1) by A27,XCMPLX_1:26;
len g+1<=len f by A2,NAT_1:38;
then len g+1-1<=len f-1 by REAL_1:49;
then A40:len g<=len f-1 by XCMPLX_1:26;
0<=len g by NAT_1:18;
then len g<=len f-'1 by A40,BINARITH:def 3;
then len g+i1<=len f-'1+i2 by A1,REAL_1:55;
then i1+len g<len f-'1+i2+1 by NAT_1:38;
then i1+len g-1<len f-'1+i2+1-1 by REAL_1:92;
then A41:i1+len g-1<len f-'1+i2 by XCMPLX_1:26;
i1<=i1+len g by NAT_1:29;
then 1<=i1+len g by A2,AXIOMS:22;
then i1+len g-1=i1+len g-'1 by SCMFSA_7:3;
then i1+len g-'1-i2<len f-'1+i2-i2 by A41,REAL_1:92;
hence contradiction by A39,XCMPLX_1:26;
end;
hence len g=i2-'i1+1 & g=mid(f,i1,i2);
case A42:(i1+len g)-'1 mod (len f -'1)=0;
(ex n being Nat st i1+len g -'1
=(len f-'1)*n+((i1+len g-'1) mod (len f -'1)) &
((i1+len g-'1) mod (len f -'1))<len f -'1) by A5,NAT_1:def 2;
then consider n being Nat such that A43: i1+len g -'1
=(len f-'1)*n+((i1+len g-'1) mod (len f -'1));
A44:i1+len g -'1=i2*n by A24,A42,A43,Def1;
now assume n=0;
then A45: i1+len g<=1 by A42,A43,Th1;
i1+len g>=1+1 by A2,REAL_1:55;
hence contradiction by A45,AXIOMS:22;
end;
then n>0 by NAT_1:19;
then A46: n>=0+1 by NAT_1:38;
now assume n>1; then n>=1+1 by NAT_1:38;
then A47:i1+len g -'1>=(len f-'1)*(1+1) by A42,A43,NAT_1:20;
len g -1<len f-1 by A2,REAL_1:54;
then i1+(len g -1)<len f-'1+(len f-'1) by A3,A4,REAL_1:67;
then A48:i1+len g -1<len f-'1+(len f-'1) by XCMPLX_1:29;
A49:len f-'1+(len f-'1)=(len f-'1)*1+(len f-'1)
.=(len f-'1)*(1+1) by XCMPLX_1:8;
1<=len g+i1 by A2,NAT_1:37;
hence contradiction by A47,A48,A49,SCMFSA_7:3;
end;
then n=1 by A46,AXIOMS:21;
then i1+len g-1=i2 by A2,A44,JORDAN3:1;
then i1+(len g-1)=i2 by XCMPLX_1:29;
then A50:len g-1=i2-i1 by XCMPLX_1:26;
A51: i2-i1=i2-'i1 by A1,SCMFSA_7:3;
then A52:len g=i2-'i1+1 by A50,XCMPLX_1:27;
then A53:len g = len g & len mid(f,i1,i2) = len g
by A1,A2,A6,A7,JORDAN3:27;
for j st j in Seg len g holds g.j = mid(f,i1,i2).j
proof let j;assume j in Seg len g;
then A54:1<=j & j<=len g by FINSEQ_1:3;
then A55:g.j=f.S_Drop((i1+j)-'1,f) by A1,Def2;
A56:i1+j-'1=i1+j-1 by A54,Th2;
i1+j>=1+1 by A2,A54,REAL_1:55;
then i1+j-1>=1+1-1 by REAL_1:49;
then A57:i1+j-'1<>0 by A56;
j<=i2-i1+1 by A50,A54,XCMPLX_1:27;
then j+i1<=i2-i1+1+i1 by AXIOMS:24;
then j+i1<=i2+1 by XCMPLX_1:227;
then A58:i1+j<=len f by A2,AXIOMS:22;
now per cases;
case A59:i1+j=len f;
then (i1+j-'1) mod (len f-'1)=0 by GR_CY_1:5;
hence S_Drop(i1+j-'1,f)=i1+j-'1 by A59,Def1;
case i1+j<>len f; then i1+j<len f by A58,REAL_1:def 5;
then i1+j-1<len f-1 by REAL_1:54;
then A60:i1+j-'1<len f-'1 by A2,A4,Th2;
then (i1+j-'1) mod (len f-'1)<>0 by A57,GR_CY_1:4;
then S_Drop((i1+j)-'1,f)=(i1+j-'1) mod (len f-'1) by Def1;
hence S_Drop((i1+j)-'1,f)=i1+j-'1 by A60,GR_CY_1:4;
end;
hence g.j = mid(f,i1,i2).j by A1,A2,A7,A52,A54,A55,JORDAN3:31;
end;
hence len g=i2-'i1+1 & g=mid(f,i1,i2)
by A50,A51,A53,FINSEQ_2:10,XCMPLX_1:27;
end;
hence len g=i2-'i1+1 & g=mid(f,i1,i2);
end;
hence thesis;
end;
theorem Th38:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part>_of f,i1,i2 & i1>i2 holds len g=len f+i2-'i1
& g=mid(f,i1,len f-'1)^(f|i2)
& g=mid(f,i1,len f-'1)^mid(f,1,i2)
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part>_of f,i1,i2 & i1>i2;
then A2:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))
by Def2;
A3:i1<=i1+1 by NAT_1:37;
then A4:i1<=len f by A2,AXIOMS:22;
i1+1-1<=len f-1 by A2,REAL_1:49;
then A5:i1<=len f-1 by XCMPLX_1:26;
then A6:1<=len f-1 by A2,AXIOMS:22;
then A7:len f-1=len f-'1 by JORDAN3:1;
then A8:0<len f-'1 by A2,A5,AXIOMS:22;
A9:0<>len f-'1 by A2,A5,A7,AXIOMS:22;
i1<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
then A10:len f -'1<len f by JORDAN3:14;
A11: i2<=i2+1 by NAT_1:29;
then A12:i2<=len f by A2,AXIOMS:22;
A13:f.i2=f.S_Drop((i1+len g)-'1,f) by A2;
A14: now per cases;
case A15:(i1+len g)-'1 mod (len f -'1)<>0;
then 0<(i1+len g)-'1 mod (len f -'1) by NAT_1:19;
then 0+1<=(i1+len g)-'1 mod (len f -'1) by NAT_1:38;
hence 1<=S_Drop((i1+len g)-'1,f) by A15,Def1;
case (i1+len g)-'1 mod (len f -'1)=0;
then A16:S_Drop((i1+len g)-'1,f)=len f -'1 by Def1;
i1<=len f -'1 by A2,JORDAN3:12;
hence 1<=S_Drop((i1+len g)-'1,f) by A2,A16,AXIOMS:22;
end;
A17: now per cases;
case (i1+len g)-'1 mod (len f -'1)<>0;
then A18:S_Drop((i1+len g)-'1,f)=((i1+len g)-'1 mod (len f -'1)) by
Def1;
A19: i1<=len f -'1 by A2,JORDAN3:12;
then A20:1<=len f -'1 by A2,AXIOMS:22;
0<len f -'1 by A2,A19,AXIOMS:22;
then A21:((i1+len g)-'1 mod (len f -'1)) <len f-'1 by NAT_1:46;
len f -'1<len f by A20,JORDAN3:14;
hence S_Drop((i1+len g)-'1,f)< len f by A18,A21,AXIOMS:22;
case (i1+len g)-'1 mod (len f -'1)=0;
then A22:S_Drop((i1+len g)-'1,f)=len f -'1 by Def1;
i1<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
hence S_Drop((i1+len g)-'1,f)< len f by A22,JORDAN3:14;
end;
A23:i2<=len f -'1 by A2,JORDAN3:12;
then A24:1<=len f -'1 by A2,AXIOMS:22;
then len f -'1<len f by JORDAN3:14;
then A25:i2<len f by A23,AXIOMS:22;
now per cases by REAL_1:def 5;
case A26:i2<S_Drop((i1+len g)-'1,f);
then A27:f/.i2<>f/.(S_Drop((i1+len g)-'1,f)) by A2,A17,GOBOARD7:38;
i2<=len f by A2,JORDAN3:9;
then A28:f/.i2=f.i2 by A2,FINSEQ_4:24;
1<=S_Drop((i1+len g)-'1,f) by A2,A26,AXIOMS:22;
hence contradiction by A13,A17,A27,A28,FINSEQ_4:24;
case i2>S_Drop((i1+len g)-'1,f);
then A29:f/.i2<>f/.(S_Drop((i1+len g)-'1,f)) by A14,A25,GOBOARD7:38;
i2<=len f by A2,JORDAN3:9;
then f/.i2=f.i2 by A2,FINSEQ_4:24;
hence contradiction by A13,A14,A17,A29,FINSEQ_4:24;
case A30:i2=S_Drop((i1+len g)-'1,f);
now per cases;
case A31: (i1+len g)-'1 mod (len f -'1)<>0;
(ex n being Nat st i1+len g -'1
=(len f-'1)*n+((i1+len g-'1) mod (len f -'1)) &
((i1+len g-'1) mod (len f -'1))<len f -'1)or
((i1+len g-'1) mod (len f -'1))=0 & len f-'1=0
by NAT_1:def 2;
then consider n being Nat such that A32: i1+len g -'1
=(len f-'1)*n+((i1+len g)-'1 mod (len f -'1))
by A2,A5,A7,AXIOMS:22;
A33:i1+len g -'1=(len f-'1)*n+i2 by A30,A31,A32,Def1;
now per cases;
case n=0;
then i2=i1+len g -'1 by A30,A31,A32,Def1;
then A34:i2+1=i1+len g -1+1 by A2,JORDAN3:1
.=i1+len g by XCMPLX_1:27;
A35:i2+1<=i1 by A1,NAT_1:38;
0<len g by A2,AXIOMS:22;
then i2+1+0<i1+len g by A35,REAL_1:67;
hence contradiction by A34;
case n<>0; then 0<n by NAT_1:19;
then A36: 0+1<=n by NAT_1:38;
now per cases by A36,REAL_1:def 5;
case A37:1=n;
len f-'1=len f-1 by A24,JORDAN3:1;
then i1+len g-1=len f-1+i2 by A2,A33,A37,Th2;
then i1+len g=len f-1+i2+1 by XCMPLX_1:27;
then i1+len g-i1=len f+i2-i1 by XCMPLX_1:227;
then A38:len g=len f+i2-i1 by XCMPLX_1:26;
A39:len (mid(f,i1,len f-'1)^(f|i2))
= len (mid(f,i1,len f-'1))+ len(f|i2)
by FINSEQ_1:35;
A40: 1<=i1 & i1<=len f & 1<=len f-'1 & len f-'1<=len f & i1<=len f-'1
by A2,A3,A5,A6,AXIOMS:22,JORDAN3:1,13;
then A41:len (mid(f,i1,len f-'1))=len f-'1-'i1+1 by JORDAN3:27;
A42:len f-'1-'i1=len f-'1-i1 by A5,A7,SCMFSA_7:3;
A43:len f-'1-'i1+1 =len f-1-i1+1 by A5,A7,SCMFSA_7:3
.=len f-i1 by XCMPLX_1:229;
then len (mid(f,i1,len f-'1)^(f|i2))=len f-i1+i2
by A12,A39,A41,TOPREAL1:3
.=len f+i2-i1 by XCMPLX_1:29
.=len f+i2-'i1 by A4,Th2;
then A44:len g = len g & len (mid(f,i1,len f-'1)^(f|i2))=len g
by A4,A38,Th2;
for j st j in Seg len g holds g.j =(mid(f,i1,len f-'1)^(f|i2)).j
proof let j;assume A45: j in Seg len g;
then A46:1<=j & j<=len g by FINSEQ_1:3;
then A47:g.j=f.S_Drop((i1+j)-'1,f) by A1,Def2;
A48:i1+j-'1=i1+j-1 by A46,Th2;
i1+j>=1+1 by A2,A46,REAL_1:55;
then i1+j-1>=1+1-1 by REAL_1:49;
then A49:i1+j-'1<>0 by A48;
now per cases;
case A50:j<=len mid(f,i1,len f-'1);
then j in dom mid(f,i1,len f-'1) by A46,FINSEQ_3:27;
then A51:(mid(f,i1,len f-'1)^(f|i2)).j =mid(f,i1,len f-'1).j
by FINSEQ_1:def 7;
A52:1<=i1 & i1<=len f-'1 & len f-'1<=len f & 1<=j & j<=
len f-'1-i1+1
by A40,A42,A45,A50,FINSEQ_1:3,JORDAN3:27;
j+i1<=len f-'1-i1+1+i1
by A41,A42,A50,AXIOMS:24;
then i1+j<=len f-1+1 by A7,XCMPLX_1:227;
then A53:i1+j<=len f by XCMPLX_1:27;
now per cases;
case A54:i1+j=len f;
then (i1+j-'1) mod (len f-'1)=0 by GR_CY_1:5;
hence S_Drop(i1+j-'1,f)=i1+j-'1 by A54,Def1;
case i1+j<>len f; then i1+j<len f by A53,REAL_1:def 5;
then i1+j-1<len f-1 by REAL_1:54;
then A55:i1+j-'1<len f-'1 by A2,A7,Th2;
then (i1+j-'1) mod (len f-'1)<>0 by A49,GR_CY_1:4;
then S_Drop((i1+j)-'1,f)=(i1+j-'1) mod (len f-'1) by Def1;
hence S_Drop((i1+j)-'1,f)=i1+j-'1 by A55,GR_CY_1:4;
end;
hence g.j = (mid(f,i1,len f-'1)^(f|i2)).j
by A47,A51,A52,JORDAN3:31;
case A56:j>len mid(f,i1,len f-'1);
then j+i1>len f-i1+i1 by A41,A43,REAL_1:53;
then j+i1>len f by XCMPLX_1:27;
then i1+j-len f>len f-len f by REAL_1:54;
then A57: i1+j-len f>0 by XCMPLX_1:14;
then A58:i1+j-'len f=i1+j-len f by BINARITH:def 3;
A59:(mid(f,i1,len f-'1)^(f|i2)).j
=(f|i2).(j-len mid(f,i1,len f-'1))
by A44,A46,A56,JORDAN3:15;
A60:j-len mid(f,i1,len f-'1)=j-(len f-i1) by A40,A43,JORDAN3:27
.=j-len f+i1 by XCMPLX_1:37
.=j+i1-len f by XCMPLX_1:29;
j<=len f+i2-i1 by A38,A45,FINSEQ_1:3;
then j+i1<=len f+i2-i1+i1 by AXIOMS:24;
then j+i1<=len f+i2 by XCMPLX_1:27;
then j+i1-len f<=len f+i2-len f by REAL_1:49;
then j+i1-'len f<=i2 by A58,XCMPLX_1:26;
then A61:(f|i2).(j-len mid(f,i1,len f-'1))
=f.(i1+j-'len f) by A58,A60,JORDAN3:20;
A62: j<=len f-i1+i2 by A38,A46,XCMPLX_1:29;
A63:j-len mid(f,i1,len f-'1)=j-'len mid(f,i1,len f-'1)
by A56,SCMFSA_7:3;
len mid(f,i1,len f-'1)+1<=j by A56,NAT_1:38;
then len mid(f,i1,len f-'1)+1-len mid(f,i1,len f-'1)
<=j -len mid(f,i1,len f-'1) by REAL_1:49;
then A64:1 <=j -'len mid(f,i1,len f-'1) &
j-'len mid(f,i1,len f-'1)<=i2 & i2<=len f
by A2,A11,A41,A43,A62,A63,AXIOMS:22,REAL_1:86,XCMPLX_1:26;
A65:j-'len mid(f,i1,len f-'1)=j-len mid(f,i1,len f-'1)
by A56,SCMFSA_7:3
.=j-(len f-i1) by A40,A43,JORDAN3:27
.=j-len f+i1 by XCMPLX_1:37
.=i1+j-len f by XCMPLX_1:29;
A66:i1+j-1=i1+j-'1 by A2,Th2;
1+len f<=i1+j-len f+len f by A64,A65,AXIOMS:24;
then 1+len f<=i1+j by XCMPLX_1:27;
then 1+len f -1<=i1+j-1 by REAL_1:49;
then len f<=i1+j-'1 by A66,XCMPLX_1:26;
then A67:len f-'1<i1+j-'1 by A10,AXIOMS:22;
i1+1-1<=len f-1 by A2,REAL_1:49;
then A68:i1<=len f-'1 by A7,XCMPLX_1:26;
j<len f by A2,A46,AXIOMS:22;
then j<=len f-1 by SPPOL_1:6;
then A69:i1+j<=(len f-'1)+(len f-'1) by A7,A68,REAL_1:55;
i1+j<i1+j+1 by NAT_1:38;
then i1+j-1<i1+j+1-1 by REAL_1:54;
then i1+j-1<i1+j by XCMPLX_1:26;
then A70:i1+j-'1<(len f-'1)+(len f-'1) by A66,A69,AXIOMS:22;
now per cases;
case (i1+j-'1) mod (len f -'1)=0;
hence contradiction by A8,A67,A70,Th6;
case (i1+j-'1) mod (len f -'1)<>0;
then A71:S_Drop(i1+j-'1,f)= (i1+j-'1) mod (len f -'1) by Def1;
i1+j-'len f+(len f-'1)=i1+j-'len f+(len f-1)
by A6,JORDAN3:1
.=i1+j-len f+(len f-1) by A57,BINARITH:def 3
.=i1+j-len f+len f-1 by XCMPLX_1:29
.=i1+j-1 by XCMPLX_1:27
.=i1+j-'1 by A46,Th2;
then A72:(i1+j-'1) mod (len f-'1)
=(i1+j-'len f+((len f-'1)mod (len f-'1)))
mod (len f-'1) by GR_CY_1:3
.=(i1+j-'len f+0)
mod (len f-'1) by GR_CY_1:5
.=(i1+j-'len f) mod (len f-'1);
i1+j-(len f-'1)<=(len f-'1)+(len f-'1)-(len f-'1)
by A69,REAL_1:49;
then i1+j-(len f-1)<=(len f-'1) by A7,XCMPLX_1:26;
then i1+j-'len f+1<=(len f-'1) by A58,XCMPLX_1:37;
then i1+j-'len f<(len f-'1) by NAT_1:38;
hence g.j = (mid(f,i1,len f-'1)^(f|i2)).j
by A47,A59,A61,A71,A72,GR_CY_1:4;
end;
hence g.j = (mid(f,i1,len f-'1)^(f|i2)).j;
end;
hence g.j = (mid(f,i1,len f-'1)^(f|i2)).j;
end;
hence len g=len f+i2-'i1 & g=mid(f,i1,len f-'1)^(f|i2)
by A4,A38,A44,Th2,FINSEQ_2:10;
case 1<n;
then 1+1<=n by NAT_1:38;
then (len f-'1)*n>=(len f-'1)*(1+1) by A8,AXIOMS:25;
then A73:i1+len g-'1>=(len f-'1)*(1+1)+i2 by A33,AXIOMS:24;
i1+1-1<=len f-1 by A2,REAL_1:49;
then A74:i1<=len f-'1 by A7,XCMPLX_1:26;
len g-1<len f-'1 by A2,A7,REAL_1:54;
then i1+(len g-1)<len f-'1+(len f-'1) by A74,REAL_1:67;
then i1+len g-1<(len f-'1)*1+(len f-'1)*1 by XCMPLX_1:29;
then A75:i1+len g-1<(len f-'1)*(1+1) by XCMPLX_1:8;
A76:i1+len g-1=i1+len g-'1 by A2,Th2;
(len f-'1)*(1+1)<=(len f-'1)*(1+1)+i2 by NAT_1:29;
hence contradiction by A73,A75,A76,AXIOMS:22;
end;
hence len g=len f+i2-'i1 & g=mid(f,i1,len f-'1)^(f|i2);
end;
hence len g=len f+i2-'i1 & g=mid(f,i1,len f-'1)^(f|i2);
case A77:(i1+len g)-'1 mod (len f -'1)=0;
(ex n being Nat st i1+len g -'1
=(len f-'1)*n+((i1+len g-'1) mod (len f -'1)) &
((i1+len g-'1) mod (len f -'1))<len f -'1) by A9,NAT_1:def 2;
then consider n being Nat such that A78: i1+len g -'1
=(len f-'1)*n+((i1+len g-'1) mod (len f -'1));
now assume n=0;
then A79: i1+len g<=1 by A77,A78,Th1;
i1+len g>=1+1 by A2,REAL_1:55;
hence contradiction by A79,AXIOMS:22;
end;
then n>0 by NAT_1:19;
then A80: n>=0+1 by NAT_1:38;
now assume n>1; then n>=1+1 by NAT_1:38;
then A81:i1+len g -'1>=(len f-'1)*(1+1) by A77,A78,NAT_1:20;
len g -1<len f-1 by A2,REAL_1:54;
then i1+(len g -1)<len f-'1+(len f-'1) by A5,A7,REAL_1:67;
then A82:i1+len g -1<len f-'1+(len f-'1) by XCMPLX_1:29;
A83:len f-'1+(len f-'1)=(len f-'1)*1+(len f-'1)
.=(len f-'1)*(1+1) by XCMPLX_1:8;
1<=len g+i1 by A2,NAT_1:37;
hence contradiction by A81,A82,A83,SCMFSA_7:3;
end;
then n=1 by A80,AXIOMS:21;
then i1+len g-'1=i2 by A30,A77,A78,Def1;
then i1+len g-1=i2 by A2,JORDAN3:1;
then i1+(len g-1)=i2 by XCMPLX_1:29;
then A84:len g-1=i2-i1 by XCMPLX_1:26;
A85: 1-1<=len g-1 by A2,REAL_1:49;
i2-i2<i1-i2 by A1,REAL_1:54;
then 0<i1-i2 by XCMPLX_1:14;
then 0>-(i1-i2) by REAL_1:26,50;
hence contradiction by A84,A85,XCMPLX_1:143;
end;
hence len g=len f+i2-'i1 & g=mid(f,i1,len f-'1)^(f|i2);
end;
hence thesis by A2,JORDAN3:25;
end;
theorem Th39:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part<_of f,i1,i2 & i1>=i2 holds len g=i1-'i2+1 & g=mid(f,i1,i2)
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part<_of f,i1,i2 & i1>=i2;
then A2:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((len f+i1-'i),f))
by Def3;
then i2+1-1<=len f-1 by REAL_1:49;
then A3:i2<=len f-1 by XCMPLX_1:26;
then A4:1<=len f-1 by A2,AXIOMS:22;
then A5:len f-1=len f-'1 by JORDAN3:1;
then A6:0<len f-'1 by A2,A3,AXIOMS:22;
A7:0<>len f-'1 by A2,A3,A5,AXIOMS:22;
i1<=i1+1 by NAT_1:29; then A8:i1<=len f by A2,AXIOMS:22;
A9:f.i2=f.S_Drop((len f+i1-'len g),f) by A2;
A10: now per cases;
case A11:(len f+i1-'len g) mod (len f -'1)<>0;
then 0<(len f+i1-'len g) mod (len f -'1) by NAT_1:19;
then 0+1<=(len f+i1-'len g) mod (len f -'1) by NAT_1:38;
hence 1<=S_Drop((len f+i1-'len g),f) by A11,Def1;
case (len f+i1-'len g) mod (len f -'1)=0;
then A12:S_Drop((len f+i1-'len g),f)=len f -'1 by Def1;
i2<=len f -'1 by A2,JORDAN3:12;
hence 1<=S_Drop((len f+i1-'len g),f) by A2,A12,AXIOMS:22;
end;
A13: now per cases;
case (len f+i1-'len g) mod (len f -'1)<>0;
then A14:S_Drop((len f+i1-'len g),f)
=((len f+i1-'len g) mod (len f -'1)) by Def1;
A15: i2<=len f -'1 by A2,JORDAN3:12;
then A16:1<=len f -'1 by A2,AXIOMS:22;
0<len f -'1 by A2,A15,AXIOMS:22;
then A17:((len f+i1-'len g) mod (len f -'1)) <len f-'1 by NAT_1:46;
len f -'1<len f by A16,JORDAN3:14;
hence S_Drop((len f+i1-'len g),f)< len f by A14,A17,AXIOMS:22;
case (len f+i1-'len g) mod (len f -'1)=0;
then A18:S_Drop((len f+i1-'len g),f)=len f -'1 by Def1;
i2<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
hence S_Drop((len f+i1-'len g),f)< len f by A18,JORDAN3:14;
end;
A19:i2<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
then len f -'1<len f by JORDAN3:14;
then A20:i2<len f by A19,AXIOMS:22;
now per cases by REAL_1:def 5;
case A21:i2<S_Drop((len f+i1-'len g),f);
then A22:f/.i2<>f/.(S_Drop((len f+i1-'len g),f)) by A2,A13,GOBOARD7:38;
i2<=len f by A2,NAT_1:38;
then A23:f/.i2=f.i2 by A2,FINSEQ_4:24;
1<=S_Drop((len f+i1-'len g),f) by A2,A21,AXIOMS:22;
hence contradiction by A9,A13,A22,A23,FINSEQ_4:24;
case i2>S_Drop((len f+i1-'len g),f);
then A24:f/.i2<>f/.(S_Drop((len f+i1-'len g),f)) by A10,A20,GOBOARD7:38;
i2<=len f by A2,NAT_1:38;
then f/.i2=f.i2 by A2,FINSEQ_4:24;
hence contradiction by A9,A10,A13,A24,FINSEQ_4:24;
case A25:i2=S_Drop((len f+i1-'len g),f);
now per cases;
case A26: (len f+i1-'len g) mod (len f -'1)<>0;
(ex n being Nat st len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1)) &
((len f+i1-'len g) mod (len f -'1))<len f -'1)
by A7,NAT_1:def 2;
then consider n being Nat such that A27: len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1));
A28:len f+i1-'len g=(len f-'1)*n+i2 by A25,A26,A27,Def1;
n>=0 by NAT_1:18;
then A29: n=0 or n>=0+1 by NAT_1:38;
now per cases by A29,REAL_1:def 5;
case n=0;
then i2=len f+i1-'len g by A25,A26,A27,Def1;
then i2=len f+i1-len g by A2,Th2;
then i2+len g=i1+len f by XCMPLX_1:27;
hence contradiction by A1,A2,REAL_1:67;
case n=1;
then A30:len f-1+i2=len f+i1-'len g by A5,A25,A26,A27,Def1;
len f+i1-'len g=len f+i1-len g by A2,Th2;
then len f-(1-i2)=len f+i1-len g by A30,XCMPLX_1:37;
then len f-(1-i2)=len f+(i1-len g) by XCMPLX_1:29;
then len f-(1-i2)-len f=(i1-len g) by XCMPLX_1:26;
then len f+-(1-i2)-len f=(i1-len g) by XCMPLX_0:def 8;
then -(1-i2)=(i1-len g) by XCMPLX_1:26;
then -(1-i2)+len g=i1 by XCMPLX_1:27;
then len g=i1+(1-i2) by XCMPLX_1:139;
then len g=i1+1-i2 by XCMPLX_1:29;
then A31: len g=i1-i2+1 by XCMPLX_1:29;
then A32:len g=i1-'i2+1 by A1,SCMFSA_7:3;
then A33:len g = len g & len mid(f,i1,i2) = len g by A1,A2,A8,Th21;
for j st j in Seg len g holds g.j =mid(f,i1,i2).j
proof let j;assume j in Seg len g;
then A34:1<=j & j<=len g by FINSEQ_1:3;
then A35:g.j=f.S_Drop(len f+i1-'j,f) by A1,Def3;
A36:j<=i1-'i2+1 by A1,A31,A34,SCMFSA_7:3;
A37:i1-'i2+1=i1-i2+1 by A1,SCMFSA_7:3
.=i1-(i2-1) by XCMPLX_1:37;
1-1<=i2-1 by A2,REAL_1:49;
then i1-0>=i1-(i2-1) by REAL_2:106;
then A38:j<=i1 by A36,A37,AXIOMS:22;
then A39:i1-'j+1=i1-j+1 by SCMFSA_7:3;
i1-j>=0 by A38,SQUARE_1:12;
then i1-j+1>=0+1 by AXIOMS:24;
then A40:i1-'j+1<>0 by A39;
now per cases;
case len f+i1-'j=len f-'1;
then len f+i1-j=len f-'1 by A38,Th2 .=len f-1 by A4,JORDAN3:1;
then len f+(i1-j)-len f=len f-1 -len f by XCMPLX_1:29;
then i1-j=len f-1-len f by XCMPLX_1:26;
then i1-j=len f +-1-len f by XCMPLX_0:def 8.=-1 by XCMPLX_1:26;
hence contradiction by A38,SQUARE_1:12;
case len f+i1-'j<>len f-'1;
A41:len f+i1-'j=len f+i1-j by A38,Th2;
now
0<j by A34,AXIOMS:22;
then i1+1+0<len f+j by A2,REAL_1:67;
then i1+1-j<len f+j-j by REAL_1:54;
then i1+1-j<len f by XCMPLX_1:26;
then i1+1-j-1<len f-1 by REAL_1:54;
then i1-j<len f-1 by XCMPLX_1:228;
then i1-'j<len f-'1 by A5,A38,SCMFSA_7:3;
then A42: i1-'j+1<=len f-'1 by NAT_1:38;
now per cases by A42,REAL_1:def 5;
case A43:i1-'j+1=len f-'1;
len f+i1-'j=len f+i1-j by A38,Th2
.=len f-1+1+i1-j by XCMPLX_1:27
.=len f-'1+(1+i1)-j by A5,XCMPLX_1:1
.=len f-'1+((1+i1)-j) by XCMPLX_1:29
.=len f-'1+(i1-j+1) by XCMPLX_1:29
.=len f-'1+(len f-'1) by A38,A43,SCMFSA_7:3;
then (len f+i1-'j)mod (len f-'1)=0 by Th8;
hence S_Drop(len f+i1-'j,f)=i1-'j+1 by A43,Def1;
case A44:i1-'j+1<len f-'1;
A45: len f=len f-1+1 by XCMPLX_1:27 .=len f-'1+1 by A4,JORDAN3:1;
len f-'1+1+i1-'j=len f-'1+1+i1-j by A38,Th2
.=len f-'1+1+(i1-j) by XCMPLX_1:29
.=len f-'1+(1+(i1-j)) by XCMPLX_1:1
.=len f-'1+(1+(i1-'j)) by A38,SCMFSA_7:3;
then (len f+i1-'j)mod (len f-'1)
=(((len f-'1)mod (len f-'1))+(1+(i1-'j)))mod (len f-'1)
by A45,GR_CY_1:2
.=(0+(1+(i1-'j)))mod (len f-'1) by GR_CY_1:5
.=(i1-'j+1) by A44,GR_CY_1:4;
then A46:S_Drop(len f+i1-'j,f)=(len f+i1-'j)mod (len f-'1)
by A40,Def1;
(1+i1)-j=i1-j+1 by XCMPLX_1:29;
then len f-1+(1+i1)-j=(len f-1)+(i1-j+1) by XCMPLX_1:29;
then len f-1+1+i1-j=(len f-1)+(i1-j+1) by XCMPLX_1:1;
then A47:len f+i1-'j=i1-'j+1+(len f-'1) by A5,A39,A41,
XCMPLX_1:27;
(len f-'1)mod(len f-'1)=0 by GR_CY_1:5;
then S_Drop(len f+i1-'j,f)=(i1-'j+1+0)mod (len f-'1)
by A46,A47,GR_CY_1:2
.=(i1-'j+1)mod (len f-'1);
hence S_Drop(len f+i1-'j,f)=i1-'j+1 by A44,GR_CY_1:4;
end;
hence S_Drop(len f+i1-'j,f)=i1-'j+1;
end;
hence S_Drop(len f+i1-'j,f)=i1-'j+1;
end;
hence g.j = mid(f,i1,i2).j by A1,A2,A8,A32,A34,A35,Th24;
end;
hence len g=i1-'i2+1 & g=mid(f,i1,i2) by A1,A31,A33,FINSEQ_2:10,
SCMFSA_7:3;
case n>1;
then A48:1+1<=n by NAT_1:38;
A49:len f-'1>=0 by NAT_1:18;
len f+i1-'len g-i2=(len f-'1)*n by A28,XCMPLX_1:26;
then len f+i1-'len g-i2>=(len f-'1)*(1+1) by A48,A49,AXIOMS:25;
then A50: len f+i1-'len g-i2>=(len f-'1)*1+(len f-'1)*1 by XCMPLX_1:8;
0<len g by A2,AXIOMS:22;
then i1+1+0<i1+1+len g by REAL_1:67;
then i1+1-len g<i1+1+len g-len g by REAL_1:92;
then i1+1-len g<i1+1 by XCMPLX_1:26;
then i1-len g+1<i1+1 by XCMPLX_1:29;
then i1-len g+1-i2<i1+1-i2 by REAL_1:92;
then i1-len g-i2+1<i1+1-i2 by XCMPLX_1:29;
then len f-1+(i1-len g-i2+1)<len f-1+(i1+1-i2) by REAL_1:67;
then len f-1+(i1-len g-i2)+1<len f-1+(i1+1-i2) by XCMPLX_1:1;
then len f+(i1-len g-i2)<len f-1+(i1+1-i2)
by XCMPLX_1:227;
then len f+(i1-len g)-i2<len f-1+(i1+1-i2) by XCMPLX_1:29;
then A51:len f+i1-len g-i2<len f-1+(i1+1-i2) by XCMPLX_1:29;
A52:i1+1-i2<=len f-i2 by A2,REAL_1:49;
len f-i2<=len f-1 by A2,REAL_2:106;
then i1+1-i2<=len f-1 by A52,AXIOMS:22;
then len f-1+(i1+1-i2)<=len f-1+(len f-1) by REAL_1:55;
then len f+i1-len g-i2<len f-1+(len f-1) by A51,AXIOMS:22;
hence contradiction by A2,A5,A50,Th2;
end;
hence len g=i1-'i2+1 & g=mid(f,i1,i2);
case A53:(len f+i1-'len g) mod (len f -'1)=0;
(ex n being Nat st len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1)) &
((len f+i1-'len g) mod (len f -'1))<len f -'1)or
((len f+i1-'len g) mod (len f -'1))=0 & len f-'1=0
by NAT_1:def 2;
then consider n being Nat such that A54: len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1))
by A2,A3,A5,AXIOMS:22;
A55:len f+i1-'len g=i2*n by A25,A53,A54,Def1;
now assume n=0;
then A56: len g>=len f+i1 by A53,A54,Th1;
len f<=len f +i1 by NAT_1:29;
hence contradiction by A2,A56,AXIOMS:22;
end;
then n>0 by NAT_1:19;
then A57: n>=0+1 by NAT_1:38;
A58: now per cases by A57,REAL_1:def 5;
case n>1;
then A59: n>=1+1 by NAT_1:38;
i1+1+1<=len f+len g by A2,REAL_1:55;
then 1+(i1+1)-len g<=len f+len g-len g by REAL_1:49;
then 1+(i1+1)-len g<=len f by XCMPLX_1:26;
then 1+((i1+1)-len g)<=len f by XCMPLX_1:29;
then 1+((i1+1)-len g)-1<=len f-1 by REAL_1:49;
then (i1+1)-len g<=len f-1 by XCMPLX_1:26;
then len f-1+((i1+1)-len g)<=len f-1+(len f-1) by AXIOMS:24;
then len f-1+(i1+1)-len g<=len f-1+(len f-1) by XCMPLX_1:29;
then len f-1+i1+1-len g<=len f-1+(len f-1) by XCMPLX_1:1;
then len f+i1-len g<=len f-1+(len f-1)
by XCMPLX_1:227;
then A60:len f+i1-'len g<=len f-'1+(len f-'1) by A2,A5,Th2;
A61:len f-'1+(len f-'1)=(len f-'1)*1+(len f-'1)
.=(len f-'1)*(1+1) by XCMPLX_1:8;
now per cases by A59,REAL_1:def 5;
case n>1+1;
hence contradiction by A6,A53,A54,A60,A61,REAL_1:70;
case A62:n=1+1;
then len f+i1-len g=len f-'1+(len f-'1) by A2,A53,A54,A61,Th2;
then len f-1+1+i1-len g=len f-'1+(len f-'1) by XCMPLX_1:27;
then len f-1+(1+i1)-len g=len f-'1+(len f-'1) by XCMPLX_1:1;
then len f-1+((1+i1)-len g)=len f-'1+(len f-'1) by XCMPLX_1:29;
then (1+i1)-len g=(len f-'1) by A5,XCMPLX_1:2;
then A63:(1+i1)-(len f-'1)=len g by XCMPLX_1:18;
then 1+(len f-'1)<=(1+i1)-(len f-'1)+(len f-'1) by A2,AXIOMS:24;
then 1+(len f-1)<=(1+i1) by A5,XCMPLX_1:27;
then len f<=i1+1 by XCMPLX_1:27;
then A64:len f=i1+1 by A2,AXIOMS:21;
then A65: i1+1-i1=len g by A63,BINARITH:39;
i2*(1+1)=i1*(1+1) by A53,A54,A55,A62,A64,BINARITH:39;
then i2=i1 by XCMPLX_1:5;
then i1-'i2=0 by GOBOARD9:1;
hence len g=i1-'i2+1 by A65,XCMPLX_1:26;
end;
hence len g=i1-'i2+1;
case A66: n=1;
len f+i1-'len g=len f+i1-len g by A2,Th2;
then len f+i1=i2+len g by A55,A66,XCMPLX_1:27;
hence contradiction by A1,A2,REAL_1:67;
end;
then A67:len g = len g & len mid(f,i1,i2) = len g by A1,A2,A8,Th21;
for j st j in Seg len g holds g.j =mid(f,i1,i2).j
proof let j;assume j in Seg len g;
then A68:1<=j & j<=len g by FINSEQ_1:3;
then A69:g.j=f.S_Drop(len f+i1-'j,f) by A1,Def3;
A70:i1-'i2+1=i1-i2+1 by A1,SCMFSA_7:3
.=i1-(i2-1) by XCMPLX_1:37;
1-1<=i2-1 by A2,REAL_1:49;
then i1-0>=i1-(i2-1) by REAL_2:106;
then A71:j<=i1 by A58,A68,A70,AXIOMS:22;
then A72:i1-'j+1=i1-j+1 by SCMFSA_7:3;
i1-j>=0 by A71,SQUARE_1:12;
then i1-j+1>=0+1 by AXIOMS:24;
then A73:i1-'j+1<>0 by A72;
now per cases;
case len f+i1-'j=len f-'1;
then len f+i1-j=len f-'1 by A71,Th2 .=len f-1 by A4,JORDAN3:1;
then len f+(i1-j)-len f=len f-1 -len f by XCMPLX_1:29;
then i1-j=len f-1-len f by XCMPLX_1:26;
then i1-j=len f +-1-len f by XCMPLX_0:def 8.=-1 by XCMPLX_1:26;
hence contradiction by A71,SQUARE_1:12;
case len f+i1-'j<>len f-'1;
A74:len f+i1-'j=len f+i1-j by A71,Th2;
now
0<j by A68,AXIOMS:22;
then i1+1+0<len f+j by A2,REAL_1:67;
then i1+1-j<len f+j-j by REAL_1:54;
then i1+1-j<len f by XCMPLX_1:26;
then i1+1-j-1<len f-1 by REAL_1:54;
then i1-j<len f-1 by XCMPLX_1:228;
then i1-'j<len f-'1 by A5,A71,SCMFSA_7:3;
then A75: i1-'j+1<=len f-'1 by NAT_1:38;
now per cases by A75,REAL_1:def 5;
case A76:i1-'j+1=len f-'1;
len f+i1-'j=len f+i1-j by A71,Th2
.=len f-1+1+i1-j by XCMPLX_1:27
.=len f-'1+(1+i1)-j by A5,XCMPLX_1:1
.=len f-'1+((1+i1)-j) by XCMPLX_1:29
.=len f-'1+(i1-j+1) by XCMPLX_1:29
.=len f-'1+(len f-'1) by A71,A76,SCMFSA_7:3;
then (len f+i1-'j)mod (len f-'1)=0 by Th8;
hence S_Drop(len f+i1-'j,f)=i1-'j+1 by A76,Def1;
case A77:i1-'j+1<len f-'1;
A78: len f=len f-1+1 by XCMPLX_1:27 .=len f-'1+1 by A4,JORDAN3:1;
len f-'1+1+i1-'j=len f-'1+1+i1-j by A71,Th2
.=len f-'1+1+(i1-j) by XCMPLX_1:29
.=len f-'1+(1+(i1-j)) by XCMPLX_1:1
.=len f-'1+(1+(i1-'j)) by A71,SCMFSA_7:3;
then (len f+i1-'j)mod (len f-'1)
=(((len f-'1)mod (len f-'1))+(1+(i1-'j)))mod (len f-'1)
by A78,GR_CY_1:2
.=(0+(1+(i1-'j)))mod (len f-'1) by GR_CY_1:5
.=(i1-'j+1) by A77,GR_CY_1:4;
then A79:S_Drop(len f+i1-'j,f)=(len f+i1-'j)mod (len f-'1)
by A73,Def1;
(1+i1)-j=i1-j+1 by XCMPLX_1:29;
then len f-1+(1+i1)-j=(len f-1)+(i1-j+1) by XCMPLX_1:29;
then len f-1+1+i1-j=(len f-1)+(i1-j+1) by XCMPLX_1:1;
then A80:len f+i1-'j=i1-'j+1+(len f-'1) by A5,A72,A74,
XCMPLX_1:27;
(len f-'1)mod(len f-'1)=0 by GR_CY_1:5;
then S_Drop(len f+i1-'j,f)=(i1-'j+1+0)mod (len f-'1)
by A79,A80,GR_CY_1:2
.=(i1-'j+1)mod (len f-'1);
hence S_Drop(len f+i1-'j,f)=i1-'j+1 by A77,GR_CY_1:4;
end;
hence S_Drop(len f+i1-'j,f)=i1-'j+1;
end;
hence S_Drop(len f+i1-'j,f)=i1-'j+1;
end;
hence g.j = mid(f,i1,i2).j by A1,A2,A8,A58,A68,A69,Th24;
end;
hence len g=i1-'i2+1 & g=mid(f,i1,i2) by A58,A67,FINSEQ_2:10;
end;
hence len g=i1-'i2+1 & g=mid(f,i1,i2);
end;
hence thesis;
end;
theorem Th40:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part<_of f,i1,i2 & i1<i2 holds len g=len f+i1-'i2
& g=mid(f,i1,1)^mid(f,len f-'1,i2)
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part<_of f,i1,i2 & i1<i2;
then A2:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((len f+i1-'i),f))
by Def3;
i1<=i1+1 by NAT_1:37;
then A3:i1<=len f by A2,AXIOMS:22;
i1+1-1<=len f-1 by A2,REAL_1:49;
then A4:i1<=len f-1 by XCMPLX_1:26;
then A5:1<=len f-1 by A2,AXIOMS:22;
then A6:len f-1=len f-'1 by JORDAN3:1;
then A7:0<len f-'1 by A2,A4,AXIOMS:22;
A8:0<>len f-'1 by A2,A4,A6,AXIOMS:22;
i2+1-1<=len f-1 by A2,REAL_1:49;
then A9:i2<=len f-'1 by A6,XCMPLX_1:26;
i1<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
then A10:len f -'1<len f by JORDAN3:14;
i1<=i1+1 by NAT_1:29; then A11:i1<=len f by A2,AXIOMS:22;
i2<=i2+1 by NAT_1:29; then A12:i2<=len f by A2,AXIOMS:22;
A13:f.i2=f.S_Drop(len f+i1-'len g,f) by A2;
A14: now per cases;
case A15:len f+i1-'len g mod (len f -'1)<>0;
then 0<len f+i1-'len g mod (len f -'1) by NAT_1:19;
then 0+1<=len f+i1-'len g mod (len f -'1) by NAT_1:38;
hence 1<=S_Drop(len f+i1-'len g,f) by A15,Def1;
case len f+i1-'len g mod (len f -'1)=0;
then A16:S_Drop(len f+i1-'len g,f)=len f -'1 by Def1;
i1<=len f -'1 by A2,JORDAN3:12;
hence 1<=S_Drop(len f+i1-'len g,f) by A2,A16,AXIOMS:22;
end;
A17: now per cases;
case len f+i1-'len g mod (len f -'1)<>0;
then A18:S_Drop(len f+i1-'len g,f)
=(len f+i1-'len g mod (len f -'1)) by Def1;
A19: i1<=len f -'1 by A2,JORDAN3:12;
then A20:1<=len f -'1 by A2,AXIOMS:22;
0<len f -'1 by A2,A19,AXIOMS:22;
then A21:(len f+i1-'len g mod (len f -'1)) <len f-'1 by NAT_1:46;
len f -'1<len f by A20,JORDAN3:14;
hence S_Drop(len f+i1-'len g,f)< len f by A18,A21,AXIOMS:22;
case len f+i1-'len g mod (len f -'1)=0;
then A22:S_Drop(len f+i1-'len g,f)=len f -'1 by Def1;
i1<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
hence S_Drop(len f+i1-'len g,f)< len f by A22,JORDAN3:14;
end;
A23:i2<=len f -'1 by A2,JORDAN3:12;
then 1<=len f -'1 by A2,AXIOMS:22;
then len f -'1<len f by JORDAN3:14;
then A24:i2<len f by A23,AXIOMS:22;
now per cases by REAL_1:def 5;
case A25:i2<S_Drop(len f+i1-'len g,f);
then A26:f/.i2<>f/.(S_Drop(len f+i1-'len g,f)) by A2,A17,GOBOARD7:38;
i2<=len f by A2,NAT_1:38;
then A27:f/.i2=f.i2 by A2,FINSEQ_4:24;
1<=S_Drop(len f+i1-'len g,f) by A2,A25,AXIOMS:22;
hence contradiction by A13,A17,A26,A27,FINSEQ_4:24;
case i2>S_Drop(len f+i1-'len g,f);
then A28:f/.i2<>f/.(S_Drop(len f+i1-'len g,f)) by A14,A24,GOBOARD7:38;
i2<=len f by A2,NAT_1:38;
then f/.i2=f.i2 by A2,FINSEQ_4:24;
hence contradiction by A13,A14,A17,A28,FINSEQ_4:24;
case A29:i2=S_Drop(len f+i1-'len g,f);
now per cases;
case A30: len f+i1-'len g mod (len f -'1)<>0;
(ex n being Nat st len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1)) &
((len f+i1-'len g) mod (len f -'1))<len f -'1)
by A8,NAT_1:def 2;
then consider n being Nat such that A31: len f+i1-'len g
=(len f-'1)*n+(len f+i1-'len g mod (len f -'1));
A32:len f+i1-'len g=(len f-'1)*n+i2 by A29,A30,A31,Def1;
now per cases;
case n=0;
then i2=len f+i1-'len g by A29,A30,A31,Def1 .=len f+i1-len g by A2,
Th2
.=len f-len g+i1 by XCMPLX_1:29;
then i2+len g=len f+i1 by XCMPLX_1:227;
then A33:len g=len f+i1-i2 by XCMPLX_1:26;
A34:len (mid(f,i1,1)^mid(f,len f-'1,i2))
= len (mid(f,i1,1))+ len(mid(f,len f-'1,i2))
by FINSEQ_1:35;
A35:len (mid(f,i1,1))=i1-'1+1 by A2,A3,Th21
.=i1 by A2,AMI_5:4;
len (mid(f,len f-'1,i2))=len f-'1-'i2+1
by A2,A9,A10,Th21;
then len (mid(f,len f-'1,i2))=len f-'1-i2+1 by A9,SCMFSA_7:3;
then len (mid(f,i1,1)^mid(f,len f-'1,i2))=i1+(len f-i2)
by A6,A34,A35,XCMPLX_1:229
.=i1+len f-i2 by XCMPLX_1:29
.=len f+i1-'i2 by A12,Th2;
then A36:len g = len g
& len (mid(f,i1,1)^mid(f,len f-'1,i2))=len g by A12,A33,Th2;
for j st j in Seg len g holds
g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
proof let j;
assume A37: j in Seg len g;
then A38:1<=j & j<=len g by FINSEQ_1:3;
then A39:g.j=f.S_Drop(len f+i1-'j,f) by A1,Def3;
A40:j<len f by A2,A38,AXIOMS:22;
then A41:len f+i1-'j=len f+i1-j by Th2;
now per cases;
case A42:j<=len mid(f,i1,1);
then j in dom mid(f,i1,1) by A38,FINSEQ_3:27;
then A43:(mid(f,i1,1)^mid(f,len f-'1,i2)).j =mid(f,i1,1).j
by FINSEQ_1:def 7;
A44:len mid(f,i1,1)=i1-'1+1 by A2,A11,Th21;
1<=i1 & i1<=len f-'1 & len f-'1<=len f & 1<=j & j<=i1
by A1,A4,A5,A35,A37,A42,Def3,FINSEQ_1:3,JORDAN3:1,13;
then len f-1+j<=len f+i1 by A6,REAL_1:55;
then len f-1+j-j<=len f+i1-j by REAL_1:49;
then A45: len f-1<=len f+i1-j by XCMPLX_1:26;
then A46:len f-'1<=len f+i1-'j by A6,A35,A42,Th2;
now per cases;
case len f+i1-'j=len f-'1;
then len f+i1-j=len f-1 by A6,A35,A42,Th2;
then len f+(i1-j)=len f-1 by XCMPLX_1:29;
then i1-j=len f-1-len f by XCMPLX_1:26;
then i1-j=len f+-1-len f by XCMPLX_0:def 8;
then i1-j=-1 by XCMPLX_1:26;
then i1=-1+j by XCMPLX_1:27;
then i1+1=j by XCMPLX_1:139;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A35,A42,NAT_1:38;
case len f+i1-'j<>len f-'1;
then A47:len f+i1-'j>len f-'1 by A6,A41,A45,REAL_1:def 5;
A48:j-1>=0 by A38,SQUARE_1:12;
then j-1=j-'1 by BINARITH:def 3;
then A49:len f<=len f+(j-1) by NAT_1:29;
now per cases;
case A50:i1+1=len f & j-1=0;
A51:j=j-1+1 by XCMPLX_1:27 .=1 by A50;
len f+i1-'j=len f+i1-j by A40,Th2
.=len f-1+1+i1-j by XCMPLX_1:27
.=len f-1+len f-1 by A50,A51,XCMPLX_1:1
.=len f-'1+(len f-'1) by A6,XCMPLX_1:29;
then (len f+i1-'j)mod (len f-'1)=0 by Th8;
then S_Drop(len f+i1-'j,f) =j+i1-'1 by A50,A51,Def1;
then A52:S_Drop(len f+i1-'j,f)
=1+i1-1 by A51,Th2
.=i1-j+1 by A51,XCMPLX_1:29;
A53: i1-j+1=i1-'j+1 by A35,A42,SCMFSA_7:3;
A54:1<=i1-'j+1 by NAT_1:29;
A55:j-1=j-'1 by A38,SCMFSA_7:3;
i1<=i1+(j-'1) by NAT_1:29;
then i1-(j-'1)<=i1 by REAL_1:86;
then A56:i1-'j+1<=i1 by A53,A55,XCMPLX_1:37;
mid(f,i1,1).j=mid(f,1,i1).(i1-1+1-j+1)
by A2,A11,A38,A42,A44,Th25
.=mid(f,1,i1).(i1-'j+1) by A53,XCMPLX_1:27
.=f.(i1-'j+1) by A11,A54,A56,JORDAN3:32;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A35,A39,A42,A43,A52,SCMFSA_7:3;
case A57:i1+1<>len f or j-1<>0;
now per cases by A57;
case i1+1<>len f; then i1+1<len f by A2,REAL_1:def 5;
hence i1+1<len f+(j-1) by A49,AXIOMS:22;
case j-1<>0;
then len f<len f+(j-1) by A48,REAL_1:69;
hence i1+1<len f+(j-1) by A2,AXIOMS:22;
end;
then i1+1<len f+j-1 by XCMPLX_1:29;
then i1+1<len f-1+j by XCMPLX_1:29;
then i1+1-j<len f-1+j-j by REAL_1:54;
then i1+1-j<len f-1 by XCMPLX_1:26;
then len f-1+(i1+1-j)<len f-1+(len f-1) by REAL_1:67;
then len f-1+(i1+1)-j<len f-1+(len f-1) by XCMPLX_1:29;
then len f-1+i1+1-j<len f-1+(len f-1) by XCMPLX_1:1;
then
A58:len f+i1-'j<len f-'1+(len f-'1) by A6,A41,XCMPLX_1:227;
then (len f+i1-'j) mod (len f-'1)<>0 by A7,A47,Th6;
then A59: S_Drop(len f+i1-'j,f)
=(len f+i1-'j) mod (len f-'1) by Def1
.=len f+i1-'j-(len f-'1) by A7,A46,A58,Th7
.=len f+i1-j-(len f-1) by A5,A41,JORDAN3:1
.=len f+(i1-j)-(len f-1) by XCMPLX_1:29
.=len f+(i1-j)-len f+1 by XCMPLX_1:37
.=(i1-j)+1 by XCMPLX_1:26;
A60: i1-j+1=i1-'j+1 by A35,A42,SCMFSA_7:3;
A61:1<=i1-'j+1 by NAT_1:29;
A62:j-1=j-'1 by A38,SCMFSA_7:3;
i1<=i1+(j-'1) by NAT_1:29;
then i1-(j-'1)<=i1 by REAL_1:86;
then A63:i1-'j+1<=i1 by A60,A62,XCMPLX_1:37;
mid(f,i1,1).j=mid(f,1,i1).(i1-1+1-j+1)
by A2,A11,A38,A42,A44,Th25
.=mid(f,1,i1).(i1-'j+1) by A60,XCMPLX_1:27
.=f.(i1-'j+1) by A11,A61,A63,JORDAN3:32;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A35,A39,A42,A43,A59,SCMFSA_7:3;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
case A64:j>len mid(f,i1,1);
then A65:i1+1<=j by A35,NAT_1:38;
A66:(mid(f,i1,1)^(mid(f,len f-'1,i2))).j
=(mid(f,len f-'1,i2)).(j-len mid(f,i1,1))
by A36,A38,A64,JORDAN3:15;
A67:j<=len f+i1-i2 by A33,A37,FINSEQ_1:3;
i2-i1>=0 by A1,SQUARE_1:12;
then len f+0<=len f+(i2-i1) by REAL_1:55;
then len f-(i2-i1)<=len f+(i2-i1)-(i2-i1) by REAL_1:49
;
then len f-(i2-i1)<=len f by XCMPLX_1:26;
then len f-i2+i1<=len f by XCMPLX_1:37;
then len f+i1-i2<=len f by XCMPLX_1:29;
then A68:j<=len f by A67,AXIOMS:22;
i1+1<=j by A35,A64,NAT_1:38;
then i1+1-i1<=j-i1 by REAL_1:49;
then A69: 1<=j-i1 by XCMPLX_1:26;
i2+1-1<=len f-1 by A2,REAL_1:49;
then i2<=len f-1 by XCMPLX_1:26;
then i2-i2<=len f-1-i2 by REAL_1:49;
then A70: 0<=len f-'1-i2 by A6,XCMPLX_1:14;
A71: j-i1<=len f+i1-i2-i1 by A33,A38,REAL_1:49;
then A72:j-i1<=len f-i2 by XCMPLX_1:228;
len f-i2<=len f-1 by A2,REAL_1:92;
then j-i1<=len f-'1 by A6,A72,AXIOMS:22;
then A73:j-'i1<=len f-'1 by A35,A64,SCMFSA_7:3;
A74: len f-i2=len f-1+1-i2 by XCMPLX_1:27
.=len f-1-i2+1 by XCMPLX_1:29
.=len f-'1-i2+1 by A5,JORDAN3:1
.=len f-'1-'i2+1 by A70,BINARITH:def 3;
0<j-i1 by A69,AXIOMS:22;
then A75: j-i1 =j-'len mid(f,i1,1) by A35,BINARITH:def 3;
A76:j-len mid(f,i1,1)<=len f-'1-'i2+1 by A35,A71,A74,XCMPLX_1:228;
len f-'1-'(j-'i1)+1=len f-'1-(j-'i1)+1
by A73,SCMFSA_7:3
.=len f-1-(j-i1)+1 by A6,A35,A64,SCMFSA_7:3
.=len f-(j-i1) by XCMPLX_1:229
.=len f-j+i1 by XCMPLX_1:37
.=len f+i1-j by XCMPLX_1:29 .=len f+i1-'j by A68,Th2;
then A77:(mid(f,i1,1)^(mid(f,len f-'1,i2))).j
=f.(len f+i1-'j) by A2,A9,A10,A35,A66,A69,A75,A76,Th24;
A78:len f+i1-j=len f+i1-'j by A40,Th2;
0<i1 by A2,AXIOMS:22;
then len f+0<len f+i1 by REAL_1:67;
then j<len f+i1 by A68,AXIOMS:22;
then j-j<len f+i1-j by REAL_1:54;
then 0<len f+i1-j by XCMPLX_1:14;
then A79:0<len f+i1-'j by A68,Th2;
i1+1<=j by A35,A64,NAT_1:38;
then len f+(i1+1)<=len f+j by AXIOMS:24;
then len f+(i1+1)-1<=len f+j-1 by REAL_1:49;
then len f+i1+1-1<=len f+j-1 by XCMPLX_1:1;
then len f+i1<=len f+j-1 by XCMPLX_1:26;
then len f+i1-j<=len f+j-1-j by REAL_1:49;
then len f+i1-j<=len f-1 by XCMPLX_1:228;
then A80:len f-'1>=len f+i1-'j by A6,A68,Th2;
now per cases;
case A81:(len f+i1-'j) mod (len f -'1)=0;
then len f+i1-'j=len f-'1 by A79,A80,Th9;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A39,A77,A81,Def1;
case A82:(len f+i1-'j) mod (len f -'1)<>0;
then A83:S_Drop(len f+i1-'j,f)
= (len f+i1-'j) mod (len f -'1) by Def1;
len f+(i1+1)<=len f+j by A65,REAL_1:55;
then len f+i1+1<=len f+j by XCMPLX_1:1;
then len f+i1+1-j<=len f+j-j by REAL_1:49;
then len f+i1+1-j<=len f by XCMPLX_1:26;
then len f+i1+1-j-1<=len f-1 by REAL_1:49;
then
A84:len f+i1-j<=len f-'1 by A6,XCMPLX_1:228;
len f+i1-j=len f-'1 implies
contradiction by A78,A82,GR_CY_1:5;
then len f+i1-'j<(len f-'1) by A78,A84,REAL_1:def 5;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A39,A77,A83,GR_CY_1:4;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
end;
hence len g=len f+i1-'i2 & g=mid(f,i1,1)^mid(f,len f-'1,i2)
by A12,A33,A36,Th2,FINSEQ_2:10;
case n<>0; then 0<n by NAT_1:19;
then A85: 0+1<=n by NAT_1:38;
now per cases by A85,REAL_1:def 5;
case A86:1=n;
len f+i1-'len g=len f+i1-len g by A2,Th2;
then
A87:i1-len g=i2+(len f-1)-len f by A6,A32,A86,XCMPLX_1:228
.=i2+len f-1-len f by XCMPLX_1:29
.=i2-1 by XCMPLX_1:228;
A88:i1+1<=i2 by A1,NAT_1:38;
0<len g by A2,AXIOMS:22;
then i1+1+0<i2+len g by A88,REAL_1:67;
then i1+1-len g<i2+len g-len g by REAL_1:54;
then i1+1-len g<i2 by XCMPLX_1:26;
then i1+1-len g-1<i2-1 by REAL_1:54;
hence contradiction by A87,XCMPLX_1:228;
case 1<n;
then 1+1<=n by NAT_1:38;
then (len f-'1)*n>=(len f-'1)*(1+1) by A7,AXIOMS:25;
then A89:len f+i1-'len g>=(len f-'1)*(1+1)+i2
by A32,AXIOMS:24;
i1+1-1<=len f-1 by A2,REAL_1:49;
then i1<=len f-'1 by A6,XCMPLX_1:26;
then 1+i1<=len g+(len f-'1) by A2,REAL_1:55;
then len f-1+(1+i1)<=len f-1+(len g+(len f-'1)) by AXIOMS:24
;
then len f-1+1+i1<=len f-1+(len g+(len f-'1)) by XCMPLX_1:1;
then len f+i1<=len f-1+(len g+(len f-'1)) by XCMPLX_1:27;
then len f+i1<=len f-1+len g+(len f-'1) by XCMPLX_1:1;
then len f+i1-len g<=len f-1+len g+(len f-'1)-len g by REAL_1:49;
then len f+i1-len g<=(len f-'1)*1+(len f-'1)*1
by A6,XCMPLX_1:226;
then A90:len f+i1-len g<=(len f-'1)*(1+1) by XCMPLX_1:8;
A91:len f+i1-len g=len f+i1-'len g by A2,Th2;
0<i2 by A2,AXIOMS:22;
then (len f-'1)*(1+1)<(len f-'1)*(1+1)+i2 by REAL_1:69;
hence contradiction by A89,A90,A91,AXIOMS:22;
end;
hence contradiction;
end;
hence len g=len f+i1-'i2 & g=mid(f,i1,1)^mid(f,len f-'1,i2);
case A92:len f+i1-'len g mod (len f -'1)=0;
(ex n being Nat st len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1)) &
((len f+i1-'len g) mod (len f -'1))<len f -'1)
by A8,NAT_1:def 2;
then consider n being Nat such that A93: len f+i1-'len g
=(len f-'1)*n+((len f+i1-'len g) mod (len f -'1));
A94:len f+i1-'len g=i2*n by A29,A92,A93,Def1;
now assume n=0;
then A95: len f+i1<=len g by A92,A93,Th1;
len f<=len f+i1 by NAT_1:29;
hence contradiction by A2,A95,AXIOMS:22;
end;
then n>0 by NAT_1:19;
then A96: n>=0+1 by NAT_1:38;
now assume n>1; then n>=1+1 by NAT_1:38;
then A97:len f+i1-'len g>=(len f-'1)*(1+1) by A92,A93,NAT_1:20;
now assume i1+1<len f;
then i1+1+1<len f+len g by A2,REAL_1:67;
then i1+1+1-1<len f+len g-1 by REAL_1:54;
then i1+1<len f+len g-1 by XCMPLX_1:26;
then i1+1-len g<len f+len g-1-len g by REAL_1:54;
then i1+1-len g<len f-1 by XCMPLX_1:228;
then len f-1+(i1+1-len g)<len f-1+(len f-1) by REAL_1:53;
then len f-1+(i1+1)-len g<len f-1+(len f-1) by XCMPLX_1:29;
then len f-1+i1+1-len g<len f-1+(len f-1) by XCMPLX_1:1;
then A98:len f+i1-len g<len f-1+(len f-1)
by XCMPLX_1:227;
len f-'1+(len f-'1)=(len f-'1)*1+(len f-'1)
.=(len f-'1)*(1+1) by XCMPLX_1:8;
hence contradiction by A2,A6,A97,A98,Th2;
end; then i1+1=len f by A2,REAL_1:def 5;
then i2>len f-1 by A1,XCMPLX_1:26;
then i2+1>len f-1+1 by REAL_1:53;
hence contradiction by A2,XCMPLX_1:27;
end;
then n=1 by A96,AXIOMS:21;
then A99: len f+i1-len g=i2 by A2,A94,Th2;
then A100:len f+i1-i2=len g by XCMPLX_1:18;
A101:len (mid(f,i1,1)^mid(f,len f-'1,i2))
= len (mid(f,i1,1))+ len(mid(f,len f-'1,i2))
by FINSEQ_1:35;
A102:len (mid(f,i1,1))=i1-'1+1 by A2,A3,Th21
.=i1 by A2,AMI_5:4;
len (mid(f,len f-'1,i2))=len f-'1-'i2+1
by A2,A9,A10,Th21;
then len (mid(f,len f-'1,i2))=len f-1-i2+1 by A6,A9,SCMFSA_7:3;
then len (mid(f,i1,1)^mid(f,len f-'1,i2))=i1+(len f-i2) by A101,
A102,XCMPLX_1:229
.=i1+len f-i2 by XCMPLX_1:29
.=len f+i1-'i2 by A12,Th2;
then A103:len g = len g
& len (mid(f,i1,1)^mid(f,len f-'1,i2))=len g by A12,A100,Th2;
for j st j in Seg len g holds
g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
proof let j;assume j in Seg len g;
then A104:1<=j & j<=len g by FINSEQ_1:3;
then A105:g.j=f.S_Drop(len f+i1-'j,f) by A1,Def3;
A106:j<len f by A2,A104,AXIOMS:22;
then A107:len f+i1-'j=len f+i1-j by Th2;
now per cases;
case A108:j<=len mid(f,i1,1);
then j in dom mid(f,i1,1) by A104,FINSEQ_3:27;
then A109:(mid(f,i1,1)^mid(f,len f-'1,i2)).j =mid(f,i1,1).j
by FINSEQ_1:def 7;
A110:len mid(f,i1,1)=i1-'1+1 by A2,A11,Th21;
len f-'1<=len f by JORDAN3:13;
then len f-1+j<=len f+i1 by A6,A102,A108,REAL_1:55;
then len f-1+j-j<=len f+i1-j by REAL_1:49;
then A111: len f-1<=len f+i1-j by XCMPLX_1:26;
then A112:len f-'1<=len f+i1-'j
by A6,A102,A108,Th2;
now per cases;
case len f+i1-'j=len f-'1;
then len f+i1-j=len f-1 by A6,A102,A108,Th2;
then len f+(i1-j)=len f-1 by XCMPLX_1:29;
then i1-j=len f-1-len f by XCMPLX_1:26;
then i1-j=len f+-1-len f by XCMPLX_0:def 8;
then i1-j=-1 by XCMPLX_1:26;
then i1=-1+j by XCMPLX_1:27;
then i1+1=j by XCMPLX_1:139;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A102,A108,NAT_1:38;
case len f+i1-'j<>len f-'1;
then A113:len f+i1-'j>len f-'1
by A6,A107,A111,REAL_1:def 5;
A114:j-1>=0 by A104,SQUARE_1:12;
then j-1=j-'1 by BINARITH:def 3;
then A115:len f<=len f+(j-1) by NAT_1:29;
now per cases;
case A116:i1+1=len f & j-1=0;
A117:j=j-1+1 by XCMPLX_1:27 .=1 by A116;
len f+i1-'j=len f+i1-j by A106,Th2
.=len f-1+1+i1-j by XCMPLX_1:27
.=len f-1+len f-1 by A116,A117,XCMPLX_1:1
.=len f-'1+(len f-'1) by A6,XCMPLX_1:29;
then (len f+i1-'j)mod (len f-'1)=0 by Th8;
then S_Drop(len f+i1-'j,f) =j+i1-'1 by A116,A117,Def1;
then A118:S_Drop(len f+i1-'j,f)
=i1+1-1 by A117,Th2
.=i1-j+1 by A117,XCMPLX_1:29;
A119: i1-j+1=i1-'j+1 by A102,A108,SCMFSA_7:3;
A120:f.S_Drop(len f+i1-'j,f)=f.(i1-'j+1)
by A102,A108,A118,SCMFSA_7:3;
A121:1<=i1-'j+1 by NAT_1:29;
A122:j-1=j-'1 by A104,SCMFSA_7:3;
i1<=i1+(j-'1) by NAT_1:29;
then i1-(j-'1)<=i1 by REAL_1:86;
then A123:i1-'j+1<=i1 by A119,A122,XCMPLX_1:37;
mid(f,i1,1).j=mid(f,1,i1).(i1-1+1-j+1)
by A2,A11,A104,A108,A110,Th25
.=mid(f,1,i1).(i1-'j+1) by A119,XCMPLX_1:27
.=f.(i1-'j+1) by A11,A121,A123,JORDAN3:32;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A1,A104,A109,A120,Def3;
case A124:i1+1<>len f or j-1<>0;
now per cases by A124;
case i1+1<>len f; then i1+1<len f by A2,REAL_1:def 5;
hence i1+1<len f+(j-1) by A115,AXIOMS:22;
case j-1<>0;
then len f<len f+(j-1) by A114,REAL_1:69;
hence i1+1<len f+(j-1) by A2,AXIOMS:22;
end;
then i1+1<len f+j-1 by XCMPLX_1:29;
then i1+1<len f-1+j by XCMPLX_1:29;
then i1+1-j<len f-1+j-j by REAL_1:54;
then i1+1-j<len f-1 by XCMPLX_1:26;
then len f-1+(i1+1-j)<len f-1+(len f-1) by REAL_1:67;
then len f-1+(i1+1)-j<len f-1+(len f-1) by XCMPLX_1:29;
then len f-1+i1+1-j<len f-1+(len f-1) by XCMPLX_1:1;
then
A125:len f+i1-'j<len f-'1+(len f-'1) by A6,A107,XCMPLX_1:227;
then (len f+i1-'j) mod (len f-'1)<>0 by A7,A113,Th6;
then A126: S_Drop(len f+i1-'j,f)
=(len f+i1-'j) mod (len f-'1) by Def1
.=len f+i1-'j-(len f-'1) by A7,A112,A125,Th7
.=len f+i1-j-(len f-1) by A5,A107,JORDAN3:1
.=len f+(i1-j)-(len f-1) by XCMPLX_1:29
.=len f+(i1-j)-len f+1 by XCMPLX_1:37
.=(i1-j)+1 by XCMPLX_1:26;
A127: i1-j+1=i1-'j+1 by A102,A108,SCMFSA_7:3;
A128:1<=i1-'j+1 by NAT_1:29;
A129:j-1=j-'1 by A104,SCMFSA_7:3;
i1<=i1+(j-'1) by NAT_1:29;
then i1-(j-'1)<=i1 by REAL_1:86;
then A130:i1-'j+1<=i1 by A127,A129,XCMPLX_1:37;
mid(f,i1,1).j=mid(f,1,i1).(i1-1+1-j+1)
by A2,A11,A104,A108,A110,Th25
.=mid(f,1,i1).(i1-'j+1) by A127,XCMPLX_1:27
.=f.(i1-'j+1) by A11,A128,A130,JORDAN3:32;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A102,A105,A108,A109,A126,SCMFSA_7:3;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
case A131:j>len mid(f,i1,1);
then A132:i1+1<=j by A102,NAT_1:38;
A133:(mid(f,i1,1)^(mid(f,len f-'1,i2))).j
=(mid(f,len f-'1,i2)).(j-len mid(f,i1,1))
by A103,A104,A131,JORDAN3:15;
A134:j<=len f+i1-i2 by A99,A104,XCMPLX_1:18;
i2-i1>=0 by A1,SQUARE_1:12;
then len f+0<=len f+(i2-i1) by REAL_1:55;
then len f-(i2-i1)<=len f+(i2-i1)-(i2-i1) by REAL_1:49;
then len f-(i2-i1)<=len f by XCMPLX_1:26;
then len f-i2+i1<=len f by XCMPLX_1:37;
then len f+i1-i2<=len f by XCMPLX_1:29;
then A135:j<=len f by A134,AXIOMS:22;
i1+1<=j by A102,A131,NAT_1:38;
then i1+1-i1<=j-i1 by REAL_1:49;
then A136: 1<=j-i1 by XCMPLX_1:26;
i2+1-1<=len f-1 by A2,REAL_1:49;
then i2<=len f-1 by XCMPLX_1:26;
then i2-i2<=len f-1-i2 by REAL_1:49;
then A137: 0<=len f-'1-i2 by A6,XCMPLX_1:14;
A138: j-i1<=len f+i1-i2-i1 by A100,A104,REAL_1:49;
then A139:j-i1<=len f-i2 by XCMPLX_1:228;
len f-i2<=len f-1 by A2,REAL_1:92;
then j-i1<=len f-'1 by A6,A139,AXIOMS:22;
then A140:j-'i1<=len f-'1 by A102,A131,SCMFSA_7:3;
A141: len f-i2=len f-1+1-i2 by XCMPLX_1:27
.=len f-1-i2+1 by XCMPLX_1:29
.=len f-'1-i2+1 by A5,JORDAN3:1
.=len f-'1-'i2+1 by A137,BINARITH:def 3;
0<j-i1 by A136,AXIOMS:22;
then A142: j-i1 =j-'len mid(f,i1,1) by A102,BINARITH:def 3;
A143: j-len mid(f,i1,1)<=len f-'1-'i2+1
by A102,A138,A141,XCMPLX_1:228;
len f-'1-'(j-'i1)+1=len f-'1-(j-'i1)+1
by A140,SCMFSA_7:3
.=len f-1-(j-i1)+1 by A6,A102,A131,SCMFSA_7:3
.=len f-(j-i1) by XCMPLX_1:229
.=len f-j+i1 by XCMPLX_1:37
.=len f+i1-j by XCMPLX_1:29 .=len f+i1-'j by A135,Th2;
then A144:(mid(f,i1,1)^(mid(f,len f-'1,i2))).j
=f.(len f+i1-'j) by A2,A9,A10,A102,A133,A136,A142,A143,Th24;
A145:len f+i1-j=len f+i1-'j by A106,Th2;
0<i1 by A2,AXIOMS:22;
then len f+0<len f+i1 by REAL_1:67;
then j<len f+i1 by A135,AXIOMS:22;
then j-j<len f+i1-j by REAL_1:54;
then 0<len f+i1-j by XCMPLX_1:14;
then A146:0<len f+i1-'j by A135,Th2;
i1+1<=j by A102,A131,NAT_1:38;
then len f+(i1+1)<=len f+j by AXIOMS:24;
then len f+(i1+1)-1<=len f+j-1 by REAL_1:49;
then len f+i1+1-1<=len f+j-1 by XCMPLX_1:1;
then len f+i1<=len f+j-1 by XCMPLX_1:26;
then len f+i1-j<=len f+j-1-j by REAL_1:49;
then len f+i1-j<=len f-1 by XCMPLX_1:228;
then A147:len f-'1>=len f+i1-'j by A6,A135,Th2;
now per cases;
case A148:(len f+i1-'j) mod (len f -'1)=0;
then len f+i1-'j=len f-'1 by A146,A147,Th9;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A105,A144,A148,Def1;
case A149:(len f+i1-'j) mod (len f -'1)<>0;
then A150:S_Drop(len f+i1-'j,f)
= (len f+i1-'j) mod (len f -'1) by Def1;
len f+(i1+1)<=len f+j by A132,REAL_1:55;
then len f+i1+1<=len f+j by XCMPLX_1:1;
then len f+i1+1-j<=len f+j-j by REAL_1:49;
then len f+i1+1-j<=len f by XCMPLX_1:26;
then len f+i1+1-j-1<=len f-1 by REAL_1:49;
then
A151:len f+i1-j<=len f-'1 by A6,XCMPLX_1:228;
len f+i1-j=len f-'1 implies
contradiction by A145,A149,GR_CY_1:5;
then len f+i1-'j<(len f-'1) by A145,A151,REAL_1:def 5;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j
by A105,A144,A150,GR_CY_1:4;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
end;
hence g.j = (mid(f,i1,1)^mid(f,len f-'1,i2)).j;
end;
hence len g=len f+i1-'i2 & g=mid(f,i1,1)^mid(f,len f-'1,i2)
by A12,A100,A103,Th2,FINSEQ_2:10;
end;
hence len g=len f+i1-'i2 & g=mid(f,i1,1)^mid(f,len f-'1,i2);
end;
hence thesis;
end;
theorem Th41:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part>_of f,i1,i2 holds Rev g is_a_part<_of f,i2,i1
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part>_of f,i1,i2;
then A2:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))
by Def2;
then A3:1<len f by AXIOMS:22;
A4:i1<len f by A2,NAT_1:38;
A5:len g=len (Rev g) by FINSEQ_5:def 3;
A6:(Rev g).len (Rev g)=(Rev g).len g by FINSEQ_5:def 3
.=g.(len g-len g+1) by A2,JORDAN3:24
.=g.1 by XCMPLX_1:25 .=f.S_Drop((i1+1-'1),f) by A2
.=f.S_Drop(i1,f) by BINARITH:39;
A7:i1>0 by A2,AXIOMS:22;
i1+1-1<=len f-1 by A2,REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then A8:i1<=len f-'1 by A3,SCMFSA_7:3;
A9:now per cases;
case A10:i1 mod (len f-'1)<>0;
then A11:S_Drop(i1,f)=i1 mod (len f-'1) by Def1;
i1 <> len f-'1 by A10,GR_CY_1:5;
then i1<len f-'1 by A8,REAL_1:def 5;
hence (Rev g).len (Rev g)=f.i1 by A6,A11,GR_CY_1:4;
case A12:i1 mod (len f-'1)=0;
then S_Drop(i1,f)=len f-'1 by Def1;
hence (Rev g).len (Rev g)=f.i1 by A6,A7,A8,A12,Th9;
end;
for i being Nat st 1<=i & i<=len (Rev g) holds
(Rev g).i=f.S_Drop(len f +i2-'i,f)
proof let i be Nat;assume A13:1<=i & i<=len (Rev g);
len g<=len g+(i-'1) by NAT_1:29;
then len g<=len g+(i-1) by A13,SCMFSA_7:3;
then len g-(i-1)<=len g+(i-1)-(i-1) by REAL_1:49;
then len g-(i-1)<=len g by XCMPLX_1:26;
then len g-i+1<=len g by XCMPLX_1:37;
then A14:1<=len g-'i+1 & len g-'i+1<=len g
by A5,A13,NAT_1:29,SCMFSA_7:3;
A15:(Rev g).i=g.(len g-i+1) by A5,A13,JORDAN3:24
.=g.(len g-'i+1) by A5,A13,SCMFSA_7:3
.=f.S_Drop((i1+(len g-'i+1)-'1),f) by A1,A14,Def2;
A16:i<len f by A2,A5,A13,AXIOMS:22;
now per cases;
case A17:i1<=i2;
then len f-1+len g=len f-1+(i2-'i1+1) by A1,Th37;
then len f-1+len g=len f-1+(i2-'i1)+1 by XCMPLX_1:1;
then len f-1+len g=len f+(i2-'i1) by XCMPLX_1:227;
then len f-1+len g=len f+(i2-i1) by A17,SCMFSA_7:3;
then len f-1+len g+i1=len f+i2-i1+i1 by XCMPLX_1:29;
then len f-1+(len g+i1)=len f+i2-i1+i1 by XCMPLX_1:1;
then len f+i2-i=len f-1+(i1+len g)-i by XCMPLX_1:27;
then len f+i2-i=len f-1+(i1+len g-i) by XCMPLX_1:29;
then len f+i2-'i=len f-1+(i1+len g-i) by A16,Th2;
then len f+i2-'i=len f-1+(i1+(len g-i)) by XCMPLX_1:29;
then len f+i2-'i=len f-1+(i1+(len g-'i)) by A5,A13,SCMFSA_7:3;
then len f+i2-'i=len f-1+(i1+(len g-'i)+1-1) by XCMPLX_1:26;
then len f+i2-'i=len f-1+(i1+(len g-'i+1)-1) by XCMPLX_1:1;
then len f+i2-'i=len f-1+(i1+(len g-'i+1)-'1) by A2,Th2;
then len f+i2-'i=(i1+(len g-'i+1)-'1)+(len f-'1) by A3,SCMFSA_7:3;
hence (Rev g).i=f.S_Drop(len f +i2-'i,f) by A15,Th35;
case i1>i2; then len g=len f+i2-'i1 by A1,Th38;
then len g+i1=len f+i2-i1+i1 by A4,Th2;
then len f+i2=i1+len g by XCMPLX_1:27;
then len f+i2-'i=i1+len g-i by A5,A13,Th2;
then len f+i2-'i=i1+(len g-i) by XCMPLX_1:29;
then len f+i2-'i=i1+(len g-'i) by A5,A13,SCMFSA_7:3;
then len f+i2-'i=i1+(len g-'i)+1-1 by XCMPLX_1:26;
then len f+i2-'i=i1+(len g-'i+1)-1 by XCMPLX_1:1;
hence (Rev g).i=f.S_Drop(len f +i2-'i,f) by A2,A15,Th2;
end;
hence (Rev g).i=f.S_Drop(len f +i2-'i,f);
end;
hence thesis by A2,A5,A9,Def3;
end;
theorem Th42:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part<_of f,i1,i2 holds Rev g is_a_part>_of f,i2,i1
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part<_of f,i1,i2;
then A2:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2
& 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds
g.i=f.S_Drop(len f+i1-'i,f)) by Def3;
then A3:1<len f by AXIOMS:22;
A4:i2<len f by A2,NAT_1:38;
A5:len g=len (Rev g) by FINSEQ_5:def 3;
A6:(Rev g).len (Rev g)=(Rev g).len g by FINSEQ_5:def 3
.=g.(len g-len g+1) by A2,JORDAN3:24
.=g.1 by XCMPLX_1:25 .=f.S_Drop(len f+i1-'1,f) by A2
.=f.S_Drop(len f-'1+i1,f) by A3,Th3;
A7:i1>0 by A2,AXIOMS:22;
i1+1-1<=len f-1 by A2,REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then A8:i1<=len f-'1 by A3,SCMFSA_7:3;
A9:S_Drop(len f-'1+i1,f)=S_Drop(i1,f) by Th35;
A10:now per cases;
case A11:i1 mod (len f-'1)<>0;
then A12:S_Drop(i1,f)=i1 mod (len f-'1) by Def1;
i1 <> len f-'1 by A11,GR_CY_1:5;
then i1<len f-'1 by A8,REAL_1:def 5;
hence (Rev g).len (Rev g)=f.i1 by A6,A9,A12,GR_CY_1:4;
case A13:i1 mod (len f-'1)=0;
then S_Drop(i1,f)=len f-'1 by Def1;
hence (Rev g).len (Rev g)=f.i1 by A6,A7,A8,A9,A13,Th9;
end;
for i being Nat st 1<=i & i<=len (Rev g) holds
(Rev g).i=f.S_Drop((i2+i)-'1,f)
proof let i be Nat;assume A14:1<=i & i<=len (Rev g);
len g<=len g+(i-'1) by NAT_1:29;
then len g<=len g+(i-1) by A14,SCMFSA_7:3;
then len g-(i-1)<=len g+(i-1)-(i-1) by REAL_1:49;
then len g-(i-1)<=len g by XCMPLX_1:26;
then len g-i+1<=len g by XCMPLX_1:37;
then A15:1<=len g-'i+1 & len g-'i+1<=len g
by A5,A14,NAT_1:29,SCMFSA_7:3;
A16:(Rev g).i=g.(len g-i+1) by A5,A14,JORDAN3:24
.=g.(len g-'i+1) by A5,A14,SCMFSA_7:3
.=f.S_Drop(len f+i1-'(len g-'i+1),f) by A1,A15,Def3;
A17:len g+1<=len f by A2,NAT_1:38;
len g+1<=len g+1+i by NAT_1:29;
then len g+1-i<=len g+1+i-i by REAL_1:49;
then len g+1-i<=len g+1 by XCMPLX_1:26;
then len g-i+1<=len g+1 by XCMPLX_1:29;
then len g-'i+1<=len g+1 by A5,A14,SCMFSA_7:3;
then A18:len g-'i+1<=len f by A17,AXIOMS:22;
now per cases;
case i1<i2;
then len g=len f+i1-'i2 by A1,Th40;
then A19:len g=len f+i1-i2 by A4,Th2;
len f=len f-'1+1 by A3,AMI_5:4;
then -len f+i2+i=i2+i-(1+(len f-'1)) by XCMPLX_1:155;
then -len f+i2+i=i2+i-1-(len f-'1) by XCMPLX_1:36;
then -len f+i2+i=i2+i-'1-(len f-'1) by A2,Th2;
then i1+-len f-i1+i2+i=i2+i-'1-(len f-'1) by XCMPLX_1:26;
then i1-len f-i1+i2+i=i2+i-'1-(len f-'1) by XCMPLX_0:def 8;
then i1-(len f+i1)+i2+i=i2+i-'1-(len f-'1) by XCMPLX_1:36;
then i1-len g+i=i2+i-'1-(len f-'1) by A19,XCMPLX_1:37;
then i1-(len g-i)=i2+i-'1-(len f-'1) by XCMPLX_1:37;
then i1-(len g-'i)=i2+i-'1-(len f-'1) by A5,A14,SCMFSA_7:3;
then i1+1-(len g-'i)-1=i2+i-'1-(len f-'1) by XCMPLX_1:228;
then i1+1-(len g-'i+1)=i2+i-'1-(len f-'1) by XCMPLX_1:36;
then 1+(i1-(len g-'i+1))=i2+i-'1-(len f-'1) by XCMPLX_1:29;
then len f-'1+(1+(i1-(len g-'i+1)))=len f-'1+(i2+i-'1)-(len f-'1)
by XCMPLX_1:29;
then len f-'1+1+(i1-(len g-'i+1))=len f-'1+(i2+i-'1)-(len f-'1)
by XCMPLX_1:1;
then len f-'1+1+i1-(len g-'i+1)=len f-'1+(i2+i-'1)-(len f-'1)
by XCMPLX_1:29;
then len f+i1-(len g-'i+1)=len f-'1+(i2+i-'1)-(len f-'1)
by A3,AMI_5:4;
then len f+i1-'(len g-'i+1)=len f-'1+(i2+i-'1)-(len f-'1) by A18,Th2;
hence (Rev g).i=f.S_Drop((i2+i)-'1,f) by A16,XCMPLX_1:26;
case A20:i1>=i2;
then len g=i1-'i2+1 by A1,Th39;
then len g=i1-i2+1 by A20,SCMFSA_7:3;
then i1-len g=i1-(i1-i2)-1 by XCMPLX_1:36;
then i1-len g=i2-1 by XCMPLX_1:18;
then i1-len g+i=(i2+i)-1 by XCMPLX_1:29;
then i1-(len g-i)=(i2+i)-1 by XCMPLX_1:37;
then i1-(len g-i)=(i2+i)-'1 by A14,Th2;
then i1-(len g-'i)=(i2+i)-'1 by A5,A14,SCMFSA_7:3;
then len f-1+(i1-(len g-'i))=(i2+i)-'1+(len f-'1) by A3,SCMFSA_7:3;
then len f-1+i1-(len g-'i)=(i2+i)-'1+(len f-'1) by XCMPLX_1:29;
then len f+i1-1-(len g-'i)=(i2+i)-'1+(len f-'1) by XCMPLX_1:29;
then len f+i1-(len g-'i+1)=(i2+i)-'1+(len f-'1) by XCMPLX_1:36;
then (Rev g).i=f.S_Drop((i2+i)-'1+(len f-'1),f) by A16,A18,Th2
.=f.S_Drop((i2+i)-'1,f) by Th35;
hence (Rev g).i=f.S_Drop((i2+i)-'1,f);
end;
hence (Rev g).i=f.S_Drop((i2+i)-'1,f);
end;
hence thesis by A2,A5,A10,Def2;
end;
theorem Th43:for f being non constant standard special_circular_sequence,
i1,i2 being Nat st 1<=i1 & i1<=i2 & i2<len f
holds mid(f,i1,i2) is_a_part>_of f,i1,i2
proof let f be non constant standard special_circular_sequence,
i1,i2 be Nat;
assume A1:1<=i1 & i1<=i2 & i2<len f;
then A2:1<=i2 by AXIOMS:22;
then A3:1<len f by A1,AXIOMS:22;
A4:i1<len f by A1,AXIOMS:22;
then A5:i1+1<=len f by NAT_1:38;
A6:i2+1<=len f by A1,NAT_1:38;
A7:mid(f,i1,i2).len mid(f,i1,i2)=f.i2 by A1,Th22;
A8:len mid(f,i1,i2)=i2-'i1+1 by A1,A2,A4,JORDAN3:27;
then A9:1<=len mid(f,i1,i2) by NAT_1:29;
A10:i2-'i1+1=i2-i1+1 by A1,SCMFSA_7:3;
0<i1 by A1,AXIOMS:22;
then i2+1<i2+1+i1 by REAL_1:69;
then i2+1-i1<i2+1+i1-i1 by REAL_1:54;
then i2+1-i1<i2+1 by XCMPLX_1:26;
then len mid(f,i1,i2)<i2+1 by A8,A10,XCMPLX_1:29;
then A11:len mid(f,i1,i2)<len f by A6,AXIOMS:22;
for i being Nat st 1<=i & i<=len mid(f,i1,i2) holds
mid(f,i1,i2).i=f.S_Drop((i1+i)-'1,f)
proof let i be Nat;assume A12: 1<=i & i<=len mid(f,i1,i2);
then i+i1<=i2-i1+1+i1 by A8,A10,AXIOMS:24;
then i1+i<=i2+1 by XCMPLX_1:227;
then i1+i<=len f by A6,AXIOMS:22;
then i1+i-1<=len f-1 by REAL_1:49;
then i1+i-1<=len f-'1 by A3,SCMFSA_7:3;
then A13:i1+i-'1<=len f-'1 by A1,Th2;
1+1<=i1+i by A1,A12,REAL_1:55;
then 1+1-1<=i1+i-1 by REAL_1:49;
then 1<=i1+i-'1 by A1,Th2;
then S_Drop((i1+i)-'1,f)=(i1+i)-'1 by A13,Th34;
hence mid(f,i1,i2).i=f.S_Drop((i1+i)-'1,f) by A1,A2,A4,A12,JORDAN3:27;
end;
hence thesis by A1,A2,A5,A6,A7,A9,A11,Def2;
end;
theorem Th44:for f being non constant standard special_circular_sequence,
i1,i2 being Nat st 1<=i1 & i1<=i2 & i2<len f
holds mid(f,i2,i1) is_a_part<_of f,i2,i1
proof let f be non constant standard special_circular_sequence,
i1,i2 be Nat;
assume 1<=i1 & i1<=i2 & i2<len f;
then mid(f,i1,i2) is_a_part>_of f,i1,i2 by Th43;
then Rev mid(f,i1,i2) is_a_part<_of f,i2,i1 by Th41;
hence thesis by Th30;
end;
theorem Th45:for f being non constant standard special_circular_sequence,
i1,i2 being Nat st 1<=i2 & i1>i2 & i1<len f
holds mid(f,i1,len f-'1)^mid(f,1,i2) is_a_part>_of f,i1,i2
proof let f be non constant standard special_circular_sequence,
i1,i2 be Nat;assume A1:1<=i2 & i1>i2 & i1<len f;
then A2:1<=i1 by AXIOMS:22;
then A3:1<len f by A1,AXIOMS:22;
A4:i2<len f by A1,AXIOMS:22;
then A5:i2+1<=len f by NAT_1:38;
A6:i1+1<=len f by A1,NAT_1:38;
then i1+1-1<=len f-1 by REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then A7:i1<=len f-'1 by A3,SCMFSA_7:3;
then A8:1<=len f-'1 by A2,AXIOMS:22;
i2+1-1<=len f-1 by A5,REAL_1:49;
then i2<=len f-1 by XCMPLX_1:26;
then A9:i2<=len f-'1 by A3,SCMFSA_7:3;
len f<len f+1 by NAT_1:38;
then len f-1<len f+1-1 by REAL_1:54;
then len f-1<len f by XCMPLX_1:26;
then A10:len f-'1<len f by A3,SCMFSA_7:3;
A11:len (mid(f,i1,len f-'1)^mid(f,1,i2))
=len mid(f,i1,len f-'1)+ len mid(f,1,i2) by FINSEQ_1:35;
A12:len mid(f,1,i2)=len (f|i2) by A1,JORDAN3:25 .=i2 by A4,TOPREAL1:3;
then 0<len mid(f,1,i2) by A1,AXIOMS:22;
then len mid(f,i1,len f-'1)< len mid(f,i1,len f-'1)+ len mid(f,1,i2)
by REAL_1:69;
then A13:(mid(f,i1,len f-'1)^mid(f,1,i2)).len (mid(f,i1,len f-'1)^mid(f,1,i2)
)
=mid(f,1,i2).(len mid(f,i1,len f-'1)+ len mid(f,1,i2)
-len mid(f,i1,len f-'1)) by A11,JORDAN3:15
.=mid(f,1,i2).(len mid(f,1,i2)) by XCMPLX_1:26
.=f.i2 by A1,A4,Th22;
len mid(f,1,i2)<=len (mid(f,i1,len f-'1)^mid(f,1,i2)) by A11,NAT_1:29;
then A14:1<=len (mid(f,i1,len f-'1)^mid(f,1,i2)) by A1,A12,AXIOMS:22;
len mid(f,i1,len f-'1)=len f-'1-'i1+1 by A1,A2,A7,A8,A10,JORDAN3:27
.=len f-'1-i1+1 by A7,SCMFSA_7:3
.=len f-1-i1+1 by A3,SCMFSA_7:3
.=len f-i1 by XCMPLX_1:229;
then A15:len (mid(f,i1,len f-'1)^mid(f,1,i2))=len f-i1 +i2 by A12,FINSEQ_1:35
.=len f-(i1-i2) by XCMPLX_1:37;
i1-i2>0 by A1,SQUARE_1:11;
then len f<len f+(i1-i2) by REAL_1:69;
then len f-(i1-i2)<len f+(i1-i2)-(i1-i2) by REAL_1:54;
then A16:len (mid(f,i1,len f-'1)^mid(f,1,i2))<len f by A15,XCMPLX_1:26;
for i being Nat st 1<=i & i<=len (mid(f,i1,len f-'1)^mid(f,1,i2)) holds
(mid(f,i1,len f-'1)^mid(f,1,i2)).i
=f.S_Drop((i1+i)-'1,f)
proof let i be Nat;assume
A17: 1<=i & i<=len (mid(f,i1,len f-'1)^mid(f,1,i2));
A18:len mid(f,i1,len f-'1)=len f-'1-'i1+1
by A1,A2,A7,A8,A10,JORDAN3:27;
A19: len f-'1-'i1+1=len f-'1-i1+1 by A7,SCMFSA_7:3
.=len f-1-i1+1 by A3,SCMFSA_7:3
.=len f-i1 by XCMPLX_1:229;
A20:len f-i1=len f-'i1 by A1,SCMFSA_7:3;
A21:i1+i-'1=i1+i-1 by A17,Th2;
now per cases;
case A22:i<=len mid(f,i1,len f-'1);
then i in dom mid(f,i1,len f-'1) by A17,FINSEQ_3:27;
then A23:(mid(f,i1,len f-'1)^mid(f,1,i2)).i=mid(f,i1,len f-'1).i
by FINSEQ_1:def 7;
A24:mid(f,i1,len f-'1).i=f.(i1+i-'1)
by A1,A2,A7,A8,A10,A17,A22,JORDAN3:27;
0<=i-1 by A17,SQUARE_1:12;
then A25: 1+0<=i1+(i-1) by A2,REAL_1:55;
i1+i<=i1+(len f-'1-'i1+1) by A18,A22,AXIOMS:24;
then i1+i<=(len f-'1-i1+1)+i1 by A7,SCMFSA_7:3;
then i1+i<=len f-'1+1 by XCMPLX_1:227;
then i1+i<=len f by A3,AMI_5:4;
then i1+i-'1<=len f-1 by A21,REAL_1:49;
then 1<=i1+i-'1 & i1+i-'1<=len f-'1
by A3,A21,A25,SCMFSA_7:3,XCMPLX_1:29;
hence (mid(f,i1,len f-'1)^mid(f,1,i2)).i=f.S_Drop((i1+i)-'1,f)
by A23,A24,Th34;
case A26:i>len mid(f,i1,len f-'1);
A27:len f-i1=len f-'i1 by A1,SCMFSA_7:3;
i>=len f-'i1+1 by A18,A19,A20,A26,NAT_1:38;
then i-(len f-'i1)>=len f-'i1+1-(len f-'i1) by REAL_1:49;
then A28: i-(len f-'i1)>=1 by XCMPLX_1:26;
i<=len f-i1+i2 by A15,A17,XCMPLX_1:37;
then i-(len f-i1)<=len f-i1+i2-(len f-i1) by REAL_1:49;
then i-(len f-'i1)<=i2 by A27,XCMPLX_1:26;
then A29:1<=i-'(len f-'i1) & i-'(len f-'i1)<=i2 by A28,JORDAN3:1;
then A30:i-'(len f-'i1)<=len f-'1 by A9,AXIOMS:22;
A31:(mid(f,i1,len f-'1)^mid(f,1,i2)).i
=mid(f,1,i2).(i-len mid(f,i1,len f-'1)) by A17,A26,JORDAN3:15
.=mid(f,1,i2).(i-'(len f-'i1))
by A18,A19,A20,A26,SCMFSA_7:3
.=f.(i-'(len f-'i1)) by A4,A29,JORDAN3:32;
len f-'1+(i-'(len f-'i1))=len f-'1+(i-(len f-'i1))
by A18,A19,A20,A26,SCMFSA_7:3
.=len f-'1+i-(len f-'i1) by XCMPLX_1:29
.=len f-1+i-(len f-'i1) by A3,SCMFSA_7:3
.=len f-1+i-(len f-i1) by A1,SCMFSA_7:3
.=len f-1+i-len f+i1 by XCMPLX_1:37
.=len f-1-len f+i+i1 by XCMPLX_1:29
.=len f+-1-len f+i+i1 by XCMPLX_0:def 8
.=-1+i+i1 by XCMPLX_1:26
.=-1+(i+i1) by XCMPLX_1:1
.=(i+i1)-1 by XCMPLX_0:def 8
.=i1+i-'1 by A17,Th2;
then S_Drop((i1+i)-'1,f) =S_Drop(i-'(len f-'i1),f) by Th35
.=i-'(len f-'i1) by A29,A30,Th34;
hence (mid(f,i1,len f-'1)^mid(f,1,i2)).i=f.S_Drop((i1+i)-'1,f) by A31;
end;
hence (mid(f,i1,len f-'1)^mid(f,1,i2)).i=f.S_Drop((i1+i)-'1,f);
end;
hence thesis by A1,A2,A5,A6,A13,A14,A16,Def2;
end;
theorem Th46:for f being non constant standard special_circular_sequence,
i1,i2 being Nat st 1<=i1 & i1<i2 & i2<len f
holds mid(f,i1,1)^mid(f,len f-'1,i2) is_a_part<_of f,i1,i2
proof let f be non constant standard special_circular_sequence,
i1,i2 be Nat;assume 1<=i1 & i1<i2 & i2<len f;
then A1: mid(f,i2,len f-'1)^mid(f,1,i1) is_a_part>_of f,i2,i1 by Th45;
Rev (mid(f,i2,len f-'1)^mid(f,1,i1))
=Rev(mid(f,1,i1))^Rev(mid(f,i2,len f-'1)) by FINSEQ_5:67
.=mid(f,i1,1)^Rev(mid(f,i2,len f-'1)) by Th30
.=mid(f,i1,1)^mid(f,len f-'1,i2) by Th30;
hence thesis by A1,Th41;
end;
theorem Th47:for h being FinSequence of TOP-REAL 2,i1,i2 st
1<=i1 & i1<=len h & 1<=i2 & i2<=len h holds L~mid(h,i1,i2) c= L~h
proof let h be FinSequence of TOP-REAL 2,i1,i2;
assume A1:1<=i1 & i1<=len h & 1<=i2 & i2<=len h;
thus L~mid(h,i1,i2) c= L~h
proof let x be set;assume
A2: x in L~mid(h,i1,i2);
now per cases;
case A3:i1<=i2;
x in union { LSeg(mid(h,i1,i2),i) : 1 <= i & i+1 <= len mid(h,i1,i2) }
by A2,TOPREAL1:def 6;
then consider Y being set such that A4: x in Y
& Y in { LSeg(mid(h,i1,i2),i) : 1 <= i & i+1 <= len mid(h,i1,i2) }
by TARSKI:def 4;
consider i such that A5:Y=LSeg(mid(h,i1,i2),i)
& (1 <= i & i+1 <= len mid(h,i1,i2)) by A4;
A6:LSeg(mid(h,i1,i2),i)=LSeg(mid(h,i1,i2)/.i,mid(h,i1,i2)/.(i+1))
by A5,TOPREAL1:def 5;
i<=i+1 by NAT_1:29;
then A7:i<=len mid(h,i1,i2) by A5,AXIOMS:22;
then A8:mid(h,i1,i2).i=h.(i+i1-'1) by A1,A3,A5,JORDAN3:27;
A9:len mid(h,i1,i2)=i2-'i1+1 by A1,A3,JORDAN3:27;
A10:1<=i+1 & i+1<=len mid(h,i1,i2) by A5,NAT_1:29;
then A11:mid(h,i1,i2).(i+1)=h.(i+1+i1-'1) by A1,A3,JORDAN3:27;
A12:mid(h,i1,i2)/.i=mid(h,i1,i2).i by A5,A7,FINSEQ_4:24;
A13:mid(h,i1,i2)/.(i+1)=mid(h,i1,i2).(i+1) by A10,FINSEQ_4:24;
1+1<=i+i1 by A1,A5,REAL_1:55;
then A14: 1+1-1<=i+i1-1 by REAL_1:49;
then A15:1<=i+i1-'1 by A1,Th2;
i+1-1<=i2-'i1+1-1 by A5,A9,REAL_1:49;
then i<=i2-'i1+1-1 by XCMPLX_1:26;
then i<=i2-'i1 by XCMPLX_1:26;
then i<=i2-i1 by A3,SCMFSA_7:3;
then i+i1<=i2-i1+i1 by AXIOMS:24;
then A16: i+i1<=i2 by XCMPLX_1:27;
then i+i1<=len h by A1,AXIOMS:22;
then A17:1<=i+i1-'1 & i+i1-'1<=len h by A1,A14,Th2,JORDAN3:7;
then A18:h/.(i+i1-'1)=h.(i+i1-'1) by FINSEQ_4:24;
A19:i+1+i1-'1=i+1+i1-1 by A1,Th2 .=i+i1 by XCMPLX_1:226;
then A20:i+1+i1-'1=i+i1-1+1 by XCMPLX_1:27 .=i+i1-'1+1 by A1,Th2;
i+i1-'1<=i+i1-'1+1 by NAT_1:29;
then i+i1-'1<=i+i1-1+1 by A1,Th2;
then i+i1-'1<=i+i1 by XCMPLX_1:27;
then A21:1<=i+i1 & i+i1<=len h by A1,A16,A17,AXIOMS:22;
then LSeg(mid(h,i1,i2),i)=LSeg(h/.(i+i1-'1),h/.(i+1+i1-'1))
by A6,A8,A11,A12,A13,A18,A19,FINSEQ_4:24
.=LSeg(h,i+i1-'1) by A17,A19,A20,A21,TOPREAL1:def 5;
then LSeg(mid(h,i1,i2),i) in { LSeg(h,j) : 1 <= j & j+1 <= len h}
by A15,A19,A20,A21;
then x in union { LSeg(h,j) : 1 <= j & j+1 <= len h} by A4,A5,TARSKI:def 4
;
hence x in L~h by TOPREAL1:def 6;
case A22:i1>i2;
mid(h,i1,i2)=Rev mid(h,i2,i1) by Th30;
then x in L~mid(h,i2,i1) by A2,SPPOL_2:22;
then x in union { LSeg(mid(h,i2,i1),i) : 1 <= i & i+1 <= len mid(h,i2,i1)
}
by TOPREAL1:def 6;
then consider Y being set such that A23: x in Y
& Y in { LSeg(mid(h,i2,i1),i) : 1 <= i & i+1 <= len mid(h,i2,i1) }
by TARSKI:def 4;
consider i such that A24:Y=LSeg(mid(h,i2,i1),i)
& (1 <= i & i+1 <= len mid(h,i2,i1)) by A23;
A25:LSeg(mid(h,i2,i1),i)=LSeg(mid(h,i2,i1)/.i,mid(h,i2,i1)/.(i+1))
by A24,TOPREAL1:def 5;
i<=i+1 by NAT_1:29;
then A26:i<=len mid(h,i2,i1) by A24,AXIOMS:22;
then A27:mid(h,i2,i1).i=h.(i+i2-'1) by A1,A22,A24,JORDAN3:27;
A28:len mid(h,i2,i1)=i1-'i2+1 by A1,A22,JORDAN3:27;
A29:1<=i+1 & i+1<=len mid(h,i2,i1) by A24,NAT_1:29;
then A30:mid(h,i2,i1).(i+1)=h.(i+1+i2-'1) by A1,A22,JORDAN3:27;
A31:mid(h,i2,i1)/.i=mid(h,i2,i1).i by A24,A26,FINSEQ_4:24;
A32:mid(h,i2,i1)/.(i+1)=mid(h,i2,i1).(i+1) by A29,FINSEQ_4:24;
1+1<=i+i2 by A1,A24,REAL_1:55;
then A33: 1+1-1<=i+i2-1 by REAL_1:49;
then A34:1<=i+i2-'1 by A1,Th2;
i+1-1<=i1-'i2+1-1 by A24,A28,REAL_1:49;
then i<=i1-'i2+1-1 by XCMPLX_1:26;
then i<=i1-'i2 by XCMPLX_1:26;
then i<=i1-i2 by A22,SCMFSA_7:3;
then i+i2<=i1-i2+i2 by AXIOMS:24;
then A35: i+i2<=i1 by XCMPLX_1:27;
then A36:i+i2<=len h by A1,AXIOMS:22;
then A37: i+i2-'1<=len h by JORDAN3:7;
A38:1<=i+i2-'1 & i+i2-'1<=len h by A1,A33,A36,Th2,JORDAN3:7;
A39:h/.(i+i2-'1)=h.(i+i2-'1) by A34,A37,FINSEQ_4:24;
A40:i+1+i2-'1=i+1+i2-1 by A1,Th2 .=i+i2 by XCMPLX_1:226;
then A41:i+1+i2-'1=i+i2-1+1 by XCMPLX_1:27 .=i+i2-'1+1 by A1,Th2;
i+i2-'1<=i+i2-'1+1 by NAT_1:29;
then i+i2-'1<=i+i2-1+1 by A1,Th2;
then i+i2-'1<=i+i2 by XCMPLX_1:27;
then A42:1<=i+i2 & i+i2<=len h by A1,A34,A35,AXIOMS:22;
then LSeg(mid(h,i2,i1),i)=LSeg(h/.(i+i2-'1),h/.(i+1+i2-'1))
by A25,A27,A30,A31,A32,A39,A40,FINSEQ_4:24
.=LSeg(h,i+i2-'1) by A38,A40,A41,A42,TOPREAL1:def 5;
then LSeg(mid(h,i2,i1),i) in { LSeg(h,j) : 1 <= j & j+1 <= len h}
by A34,A40,A41,A42;
then x in union { LSeg(h,j) : 1 <= j & j+1 <= len h} by A23,A24,TARSKI:def
4;
hence x in L~h by TOPREAL1:def 6;
end;
hence x in L~h;
end;
end;
theorem Th48:for g being FinSequence of D holds
g is one-to-one iff for i1,i2 st 1<=i1 & i1<=len g & 1<=i2 & i2<=len g &
(g.i1=g.i2 or g/.i1=g/.i2) holds i1=i2
proof let g be FinSequence of D;
A1:g is one-to-one implies
for i1,i2 st 1<=i1 & i1<=len g & 1<=i2 & i2<=len g &
(g.i1=g.i2 or g/.i1=g/.i2) holds i1=i2
proof assume A2: g is one-to-one;
thus for i1,i2 st 1<=i1 & i1<=len g & 1<=i2 & i2<=len g &
(g.i1=g.i2 or g/.i1=g/.i2) holds i1=i2
proof let i1,i2;assume A3:1<=i1 & i1<=len g & 1<=i2 & i2<=len g &
(g.i1=g.i2 or g/.i1=g/.i2);
then A4:i1 in dom g by FINSEQ_3:27;
A5:i2 in dom g by A3,FINSEQ_3:27;
A6:g/.i1=g.i1 by A3,FINSEQ_4:24;
g/.i2=g.i2 by A3,FINSEQ_4:24;
hence i1=i2 by A2,A3,A4,A5,A6,FUNCT_1:def 8;
end;
end;
(for i1,i2 st 1<=i1 & i1<=len g & 1<=i2 & i2<=len g &
(g.i1=g.i2 or g/.i1=g/.i2) holds i1=i2)
implies g is one-to-one
proof assume A7:(for i1,i2 st 1<=i1 & i1<=len g & 1<=i2 & i2<=len g &
(g.i1=g.i2 or g/.i1=g/.i2) holds i1=i2);
for x1,x2 being set st x1 in dom g & x2 in dom g & g.x1=g.x2 holds x1=x2
proof let x1,x2 be set;
assume A8:x1 in dom g & x2 in dom g & g.x1=g.x2;
then reconsider n1=x1 as Nat;
reconsider n2=x2 as Nat by A8;
A9:1<=n1 & n1<=len g by A8,FINSEQ_3:27;
1<=n2 & n2<=len g by A8,FINSEQ_3:27;
hence x1=x2 by A7,A8,A9;
end;
hence g is one-to-one by FUNCT_1:def 8;
end;
hence thesis by A1;
end;
theorem Th49:for f being non constant standard special_circular_sequence,
i2 st 1<i2 & i2+1<=len f holds f|i2 is_S-Seq
proof let f be non constant standard special_circular_sequence,i2;
assume A1: 1<i2 & i2+1<=len f;
then i2<=len f by NAT_1:38;
then A2:len (f|i2)=i2 by TOPREAL1:3;
then A3:1+1<=len (f|i2) by A1,NAT_1:38;
for i,j st i+1 < j holds LSeg(f|i2,i) misses LSeg(f|i2,j)
proof let i,j;assume A4:i+1 < j;
now per cases;
case A5:1<=i & j+1<=len (f|i2);
then A6:LSeg(f|i2,j)=LSeg(f,j) by SPPOL_2:3;
j<=len (f|i2) by A5,NAT_1:38;
then i+1<=len (f|i2) by A4,AXIOMS:22;
then A7:LSeg(f|i2,i) /\ LSeg(f|i2,j) = LSeg(f,i) /\ LSeg(f,j) by A6,
SPPOL_2:3;
i2<=len f by A1,NAT_1:38;
then len (f|i2)=i2 by TOPREAL1:3;
then j+1<i2+1 by A5,NAT_1:38;
then j+1<len f by A1,AXIOMS:22;
then LSeg(f,i) misses LSeg(f,j) by A4,GOBOARD5:def 4;
then LSeg(f|i2,i) /\ LSeg(f|i2,j) = {} by A7,XBOOLE_0:def 7;
hence LSeg(f|i2,i) misses LSeg(f|i2,j) by XBOOLE_0:def 7;
case A8:1>i or j+1>len (f|i2);
now per cases by A8;
case 1>i;
then LSeg(f|i2,i)={} by TOPREAL1:def 5;
then LSeg(f|i2,i) /\ LSeg(f|i2,j) = {};
hence LSeg(f|i2,i) misses LSeg(f|i2,j) by XBOOLE_0:def 7;
case j+1>len (f|i2);
then LSeg(f|i2,j)={} by TOPREAL1:def 5;
then LSeg(f|i2,i) /\ LSeg(f|i2,j) = {};
hence LSeg(f|i2,i) misses LSeg(f|i2,j) by XBOOLE_0:def 7;
end;
hence LSeg(f|i2,i) misses LSeg(f|i2,j);
end;
hence LSeg(f|i2,i) misses LSeg(f|i2,j);
end;
then A9:f|i2 is s.n.c. by TOPREAL1:def 9;
f|i2 is one-to-one
proof
for n1,n2 being Nat st 1<=n1 & n1<=len (f|i2) & 1<=n2 & n2<=len (f|i2)
&((f|i2).n1=(f|i2).n2 or (f|i2)/.n1=(f|i2)/.n2) holds n1=n2
proof let n1,n2 be Nat;assume A10: 1<=n1 & n1<=len (f|i2)
& 1<=n2 & n2<=
len (f|i2) & ((f|i2).n1=(f|i2).n2 or (f|i2)/.n1=(f|i2)/.n2);
then A11:n1 in dom (f|i2) by FINSEQ_3:27;
A12:n2 in dom (f|i2) by A10,FINSEQ_3:27;
now per cases by REAL_1:def 5;
case A13:n1<n2;
n2+1<=i2+1 by A2,A10,AXIOMS:24;
then n2+1<=len f by A1,AXIOMS:22;
then A14:n2<len f by NAT_1:38;
len f>4 by GOBOARD7:36;
then A15:f/.n1<>f/.n2 by A10,A13,A14,GOBOARD7:37;
A16:(f|i2)/.n1=f/.n1 by A11,TOPREAL1:1;
A17:(f|i2)/.n2=f/.n2 by A12,TOPREAL1:1;
(f|i2)/.n1=(f|i2).n1 by A10,FINSEQ_4:24;
hence contradiction by A10,A15,A16,A17,FINSEQ_4:24;
case n1=n2;
hence n1=n2;
case A18:n2<n1;
n1+1<=i2+1 by A2,A10,AXIOMS:24;
then n1+1<=len f by A1,AXIOMS:22;
then A19:n1<len f by NAT_1:38;
len f>4 by GOBOARD7:36;
then A20:f/.n2<>f/.n1 by A10,A18,A19,GOBOARD7:37;
A21:(f|i2)/.n2=f/.n2 by A12,TOPREAL1:1;
A22:(f|i2)/.n1=f/.n1 by A11,TOPREAL1:1;
(f|i2)/.n2=(f|i2).n2 by A10,FINSEQ_4:24;
hence contradiction by A10,A20,A21,A22,FINSEQ_4:24;
end;
hence n1=n2;
end;
hence thesis by Th48;
end;
hence thesis by A3,A9,TOPREAL1:def 10;
end;
theorem Th50:for f being non constant standard special_circular_sequence,
i2 st 1<=i2 & i2+1<len f holds f/^i2 is_S-Seq
proof let f be non constant standard special_circular_sequence,i2;
assume A1: 1<=i2 & i2+1<len f;
then A2:i2<len f by NAT_1:38;
then A3:len (f/^i2)=len f-i2 by RFINSEQ:def 2;
i2+1-i2<len f-i2 by A1,REAL_1:54;
then 1<len (f/^i2) by A3,XCMPLX_1:26;
then A4:1+1<=len (f/^i2) by NAT_1:38;
for i,j st i+1 < j holds LSeg(f/^i2,i) misses LSeg(f/^i2,j)
proof let i,j;assume A5:i+1 < j;
then A6:i<j by NAT_1:38;
now per cases;
case A7:1<=i & j<len (f/^i2); then 1<j by A6,AXIOMS:22;
then A8:LSeg(f/^i2,j)=LSeg(f,i2+j) by A2,SPPOL_2:4;
A9:j<len f-i2 by A2,A7,RFINSEQ:def 2;
A10:LSeg(f/^i2,i) /\ LSeg(f/^i2,j) = LSeg(f,i2+i) /\ LSeg(f,i2+j)
by A2,A7,A8,SPPOL_2:4;
i2+(i+1)<i2+j by A5,REAL_1:53;
then A11:i2+i+1<i2+j by XCMPLX_1:1;
A12: 1+1<=i2+i by A1,A7,REAL_1:55;
j+i2<len f-i2+i2 by A9,REAL_1:53;
then 1<i2+i & i2+j<len f by A12,AXIOMS:22,XCMPLX_1:27;
then LSeg(f,i2+i) misses LSeg(f,i2+j) by A11,GOBOARD5:def 4;
then LSeg(f,i2+i) /\ LSeg(f,i2+j) = {} by XBOOLE_0:def 7;
hence LSeg(f/^i2,i) misses LSeg(f/^i2,j) by A10,XBOOLE_0:def 7;
case A13:1>i or j>=len (f/^i2);
now per cases by A13;
case 1>i;
then LSeg(f/^i2,i)={} by TOPREAL1:def 5;
then LSeg(f/^i2,i) /\ LSeg(f/^i2,j) = {};
hence LSeg(f/^i2,i) misses LSeg(f/^i2,j) by XBOOLE_0:def 7;
case j>=len (f/^i2);
then j+1>len (f/^i2) by NAT_1:38;
then LSeg(f/^i2,j)={} by TOPREAL1:def 5;
then LSeg(f/^i2,i) /\ LSeg(f/^i2,j) = {};
hence LSeg(f/^i2,i) misses LSeg(f/^i2,j) by XBOOLE_0:def 7;
end;
hence LSeg(f/^i2,i) misses LSeg(f/^i2,j);
end;
hence LSeg(f/^i2,i) misses LSeg(f/^i2,j);
end;
then A14:f/^i2 is s.n.c. by TOPREAL1:def 9;
f/^i2 is one-to-one
proof
for n1,n2 being Nat st 1<=n1 & n1<=len (f/^i2) & 1<=n2 & n2<=len (f/^i2)
&((f/^i2).n1=(f/^i2).n2 or (f/^i2)/.n1=(f/^i2)/.n2) holds n1=n2
proof let n1,n2 be Nat;assume A15: 1<=n1 & n1<=len (f/^i2)
& 1<=n2 & n2<=len (f/^i2) & ((f/^i2).n1=(f/^i2).n2 or
(f/^i2)/.n1=(f/^i2)/.n2);
then A16:n1 in dom (f/^i2) by FINSEQ_3:27;
A17:n2 in dom (f/^i2) by A15,FINSEQ_3:27;
now per cases by REAL_1:def 5;
case A18:n1<n2;
A19: n2+i2<=len f-i2+i2 by A3,A15,AXIOMS:24;
A20:i2+1<=i2+n1 by A15,AXIOMS:24;
1<i2+1 by A1,NAT_1:38;
then A21:1<i2+n1 by A20,AXIOMS:22;
A22:i2+n1<i2+n2 by A18,REAL_1:53;
i2+n2<=len f by A19,XCMPLX_1:27;
then A23:f/.(i2+n1)<>f/.(i2+n2) by A21,A22,GOBOARD7:39;
A24:(f/^i2)/.n1=f/.(i2+n1) by A16,FINSEQ_5:30;
A25:(f/^i2)/.n2=f/.(i2+n2) by A17,FINSEQ_5:30;
(f/^i2)/.n1=(f/^i2).(n1) by A15,FINSEQ_4:24;
hence contradiction by A15,A23,A24,A25,FINSEQ_4:24;
case n1=n2;
hence n1=n2;
case A26:n2<n1;
A27: n1+i2<=len f-i2+i2 by A3,A15,AXIOMS:24;
A28:i2+1<=i2+n2 by A15,AXIOMS:24;
1<i2+1 by A1,NAT_1:38;
then A29:1<i2+n2 by A28,AXIOMS:22;
A30:i2+n2<i2+n1 by A26,REAL_1:53;
i2+n1<=len f by A27,XCMPLX_1:27;
then A31:f/.(i2+n2)<>f/.(i2+n1) by A29,A30,GOBOARD7:39;
n2 in dom (f/^i2) by A15,FINSEQ_3:27;
then A32:(f/^i2)/.n2=f/.(i2+n2) by FINSEQ_5:30;
n1 in dom (f/^i2) by A15,FINSEQ_3:27;
then A33:(f/^i2)/.n1=f/.(i2+n1) by FINSEQ_5:30;
(f/^i2)/.n2=(f/^i2).n2 by A15,FINSEQ_4:24;
hence contradiction by A15,A31,A32,A33,FINSEQ_4:24;
end;
hence n1=n2;
end;
hence thesis by Th48;
end;
hence thesis by A4,A14,TOPREAL1:def 10;
end;
theorem Th51:for f being non constant standard special_circular_sequence,
i1,i2 st 1<=i1 & i1<i2 & i2+1<=len f holds mid(f,i1,i2) is_S-Seq
proof let f be non constant standard special_circular_sequence,
i1,i2;assume A1:1<=i1 & i1<i2 & i2+1<=len f;
then A2:1<i2 by AXIOMS:22;
A3:i2<len f by A1,NAT_1:38;
i1<i1+1 by NAT_1:38; then i1-1<i1+1-1 by REAL_1:54;
then i1-1<i1 by XCMPLX_1:26; then i1-1<i2 by A1,AXIOMS:22;
then A4: i1-'1<i2 by A1,SCMFSA_7:3;
A5:i2-'i1+1=i2-i1+1 by A1,SCMFSA_7:3 .=i2-(i1-1) by XCMPLX_1:37
.=i2-(i1-'1) by A1,SCMFSA_7:3.=i2-'(i1-'1)
by A4,SCMFSA_7:3;
mid(f,i1,i2)=(f/^(i1-'1))|(i2-'i1+1) by A1,JORDAN3:def 1;
then A6:mid(f,i1,i2)=(f|i2)/^(i1-'1) by A5,JORDAN3:21;
A7:f|i2 is_S-Seq by A1,A2,Th49;
len (f|i2)=i2 by A3,TOPREAL1:3;
then i1-1+1<len (f|i2) by A1,XCMPLX_1:27;
then i1-'1+1<len (f|i2) by A1,SCMFSA_7:3;
hence thesis by A6,A7,Th19;
end;
theorem Th52:for f being non constant standard special_circular_sequence,
i1,i2 st 1<i1 & i1<i2 & i2<=len f holds mid(f,i1,i2) is_S-Seq
proof let f be non constant standard special_circular_sequence,
i1,i2;assume A1:1<i1 & i1<i2 & i2<=len f;
then A2:i1<len f by AXIOMS:22;
i2-i1>0 by A1,SQUARE_1:11;
then i2-'i1>0 by BINARITH:def 3;
then A3: i2-'i1>=0+1 by NAT_1:38;
1+1<=i1 by A1,NAT_1:38;
then 1+1-1<=i1-1 by REAL_1:49;
then A4:1<=i1-'1 by JORDAN3:1;
A5:i1-'1+1<len f by A1,A2,AMI_5:4;
i1<i1+1 by NAT_1:38; then i1-1<i1+1-1 by REAL_1:54;
then i1-1<i1 by XCMPLX_1:26; then i1-1<i2 by A1,AXIOMS:22;
then A6:i1-'1<i2 by A1,SCMFSA_7:3;
A7: mid(f,i1,i2)=(f/^(i1-'1))|(i2-'i1+1) by A1,JORDAN3:def 1;
A8:i1-'1+1<len f by A1,A2,AMI_5:4;
A9:f/^(i1-'1) is_S-Seq by A4,A5,Th50;
i1-'1<len f by A1,A6,AXIOMS:22;
then A10:len (f/^(i1-'1))=len f-(i1-'1) by RFINSEQ:def 2;
A11: i1-'1+1-(i1-'1)<len f-(i1-'1) by A8,REAL_1:54;
i2-(i1-'1)<=len f-(i1-'1) by A1,REAL_1:49;
then i2-(i1-1)<=len (f/^(i1-'1)) by A1,A10,SCMFSA_7:3;
then i2-i1+1<=len (f/^(i1-'1)) by XCMPLX_1:37;
then A12:1<=1 & 1<=len (f/^(i1-'1)) & 1<=i2-'i1+1
& i2-'i1+1<=len (f/^(i1-'1)) & 1<>i2-'i1+1
by A3,A10,A11,JORDAN3:1,NAT_1:38,XCMPLX_1:26;
then mid(f/^(i1-'1),1,i2-'i1+1) is_S-Seq by A9,JORDAN3:39;
hence thesis by A7,A12,JORDAN3:25;
end;
theorem Th53: for p0,p,q1,q2 being Point of TOP-REAL 2 st
p0 in LSeg(p,q1) & p0 in LSeg(p,q2) & p<>p0 holds
q1 in LSeg(p,q2) or q2 in LSeg(p,q1)
proof let p0,p,q1,q2 be Point of TOP-REAL 2;
assume A1: p0 in LSeg(p,q1) & p0 in LSeg(p,q2) & p<>p0;
then p0 in { (1-r)*p + r*q1: 0 <= r & r <= 1 } by TOPREAL1:def 4;
then consider r such that A2: p0=(1-r)*p + r*q1 &( 0 <= r & r <= 1);
p0 in { (1-s)*p + s*q2: 0 <= s & s <= 1 } by A1,TOPREAL1:def 4;
then consider s such that A3: p0=(1-s)*p + s*q2 &( 0 <= s & s <= 1);
A4:1-r>=0 by A2,SQUARE_1:12;
A5:1-s>=0 by A3,SQUARE_1:12;
A6:p0-(1-r)*p=r*q1 by A2,EUCLID:52;
A7:p0-r*q1=(1-r)*p by A2,EUCLID:52;
A8:p0-(1-s)*p=s*q2 by A3,EUCLID:52;
A9:p0-s*q2=(1-s)*p by A3,EUCLID:52;
A10:now assume r=s;
then r*q1+((1-r)*p-(1-r)*p) =r*q2+(1-r)*p-(1-r)*p by A2,A3,EUCLID:49;
then r*q1+0.REAL 2 =r*q2+(1-r)*p-(1-r)*p by EUCLID:46;
then r*q1+0.REAL 2 =r*q2 by EUCLID:52;
then A11:r*q1=r*q2 by EUCLID:31;
A12:q1 in LSeg(p,q1) by TOPREAL1:6;
now per cases;
case r<>0;
hence q1 in LSeg(p,q2) or q2 in LSeg(p,q1) by A11,A12,EUCLID:38;
case r=0; then p0=(1-0)*p+0.REAL 2 by A2,EUCLID:33;
then p0=(1-0)*p by EUCLID:31;
hence contradiction by A1,EUCLID:33;
end;
hence q1 in LSeg(p,q2) or q2 in LSeg(p,q1);
end;
now assume A13: r<>s;
now per cases by A13,REAL_1:def 5;
case A14:r<s;
(1-r)*p0-(1-r)*((1-s)*p)=(1-r)*(s*q2) by A8,EUCLID:53;
then (1-r)*p0-((1-r)*(1-s))*p=(1-r)*(s*q2) by EUCLID:34;
then (1-r)*p0-((1-r)*(1-s))*p=((1-r)*s)*q2 by EUCLID:34;
then (1-r)*p0-(1-s)*((1-r)*p)=((1-r)*s)*q2 by EUCLID:34;
then (1-r)*p0-((1-s)*p0-(1-s)*(r*q1))=((1-r)*s)*q2 by A7,EUCLID:53;
then (1-r)*p0-(1-s)*p0+(1-s)*(r*q1)=((1-r)*s)*q2 by EUCLID:51;
then ((1-r)-(1-s))*p0+(1-s)*(r*q1)=((1-r)*s)*q2 by EUCLID:54;
then ((1-r)-1+s)*p0+(1-s)*(r*q1)=((1-r)*s)*q2 by XCMPLX_1:37;
then (s+(1-r)-1)*p0+(1-s)*(r*q1)=((1-r)*s)*q2 by XCMPLX_1:29;
then (s+1-r-1)*p0+(1-s)*(r*q1)=((1-r)*s)*q2 by XCMPLX_1:29;
then A15:(s-r)*p0+(1-s)*(r*q1)=((1-r)*s)*q2 by XCMPLX_1:228;
A16:now assume (1-r)*s=0;
then A17: 1-r+r=0+r or s=0 by XCMPLX_1:6;
now per cases by A17,XCMPLX_1:27;
case r=1;
hence contradiction by A3,A14;
case s=0;
hence contradiction by A2,A14;
end;
hence contradiction;
end; then 1=((1-r)*s)/((1-r)*s) by XCMPLX_1:60;
then 1=((1-r)*s)*((1-r)*s)" by XCMPLX_0:def 9;
then (((1-r)*s)*((1-r)*s)")*((s-r)*p0+(1-s)*(r*q1))=((1-r)*s)*q2
by A15,EUCLID:33;
then ((1-r)*s)*(((1-r)*s)"*((s-r)*p0+(1-s)*(r*q1)))=((1-r)*s)*q2
by EUCLID:34;
then q2=((1-r)*s)"*((s-r)*p0+(1-s)*(r*q1)) by A16,EUCLID:38;
then q2=((1-r)*s)"*((s-r)*p0+((1-s)*r)*q1) by EUCLID:34;
then q2=((1-r)*s)"*((s-r)*p0)+((1-r)*s)"*(((1-s)*r)*q1)
by EUCLID:36;
then q2=(((1-r)*s)"*(s-r))*p0+((1-r)*s)"*(((1-s)*r)*q1)
by EUCLID:34;
then A18:q2=(((1-r)*s)"*(s-r))*p0+(((1-r)*s)"*((1-s)*r))*q1
by EUCLID:34;
set s1=(((1-r)*s)"*((1-s)*r));
A19:0<=(1-s)*r by A2,A5,REAL_2:121;
A20: 0<=(1-r)*s by A3,A4,REAL_2:121;
then A21: 0<((1-r)*s)" by A16,REAL_1:72;
r<=s-s*r+s*r by A14,XCMPLX_1:27;
then r-s*r+s*r<=s-s*r+s*r by XCMPLX_1:27;
then r-s*r<=1*s-r*s by REAL_1:53;
then 1*r-s*r<=(1-r)*s by XCMPLX_1:40;
then (1-s)*r<=(1-r)*s by XCMPLX_1:40;
then ((1-s)*r)/((1-r)*s)*((1-r)*s)<=1*((1-r)*s) by A16,XCMPLX_1:88;
then ((1-s)*r)/((1-r)*s)<=1 by A16,A20,REAL_1:70;
then A22:0<=s1 & s1<=1 by A19,A21,REAL_2:121,XCMPLX_0:def 9;
(((1-r)*s)"*(s-r))=(s-r)/((1-r)*s) by XCMPLX_0:def 9
.=(((1-r)*s)-((1-r)*s-(s-r)))/((1-r)*s) by XCMPLX_1:18
.= ((1-r)*s)/((1-r)*s)-((1-r)*s-(s-r))/((1-r)*s)
by XCMPLX_1:121
.= 1-((1-r)*s-(s-r))/((1-r)*s) by A16,XCMPLX_1:60
.= 1-(1*s-r*s-(s-r))/((1-r)*s) by XCMPLX_1:40
.= 1-(s-r*s-s+r)/((1-r)*s) by XCMPLX_1:37
.= 1-(r+(s-r*s)-s)/((1-r)*s) by XCMPLX_1:29
.= 1-(r+s-r*s-s)/((1-r)*s) by XCMPLX_1:29
.= 1-(r*1-r*s)/((1-r)*s) by XCMPLX_1:228
.= 1-(r*(1-s))/((1-r)*s) by XCMPLX_1:40
.=1-s1 by XCMPLX_0:def 9;
then q2 in {(1-r2)*p0 + r2*q1: 0 <= r2 & r2 <= 1 } by A18,A22;
then A23:q2 in LSeg(p0,q1) by TOPREAL1:def 4;
q1 in LSeg(p,q1) by TOPREAL1:6;
then LSeg(p0,q1) c= LSeg(p,q1) by A1,TOPREAL1:12;
hence q1 in LSeg(p,q2) or q2 in LSeg(p,q1) by A23;
case A24:s<r;
(1-s)*p0-(1-s)*((1-r)*p)=(1-s)*(r*q1) by A6,EUCLID:53;
then (1-s)*p0-((1-s)*(1-r))*p=(1-s)*(r*q1) by EUCLID:34;
then (1-s)*p0-((1-s)*(1-r))*p=((1-s)*r)*q1 by EUCLID:34;
then (1-s)*p0-(1-r)*((1-s)*p)=((1-s)*r)*q1 by EUCLID:34;
then (1-s)*p0-((1-r)*p0-(1-r)*(s*q2))=((1-s)*r)*q1 by A9,EUCLID:53;
then (1-s)*p0-(1-r)*p0+(1-r)*(s*q2)=((1-s)*r)*q1 by EUCLID:51;
then ((1-s)-(1-r))*p0+(1-r)*(s*q2)=((1-s)*r)*q1 by EUCLID:54;
then ((1-s)-1+r)*p0+(1-r)*(s*q2)=((1-s)*r)*q1 by XCMPLX_1:37;
then (r+(1-s)-1)*p0+(1-r)*(s*q2)=((1-s)*r)*q1 by XCMPLX_1:29;
then (r+1-s-1)*p0+(1-r)*(s*q2)=((1-s)*r)*q1 by XCMPLX_1:29;
then A25:(r-s)*p0+(1-r)*(s*q2)=((1-s)*r)*q1 by XCMPLX_1:228;
A26:now assume (1-s)*r=0;
then A27: 1-s+s=0+s or r=0 by XCMPLX_1:6;
now per cases by A27,XCMPLX_1:27;
case s=1;
hence contradiction by A2,A24;
case r=0;
hence contradiction by A3,A24;
end;
hence contradiction;
end; then 1=((1-s)*r)/((1-s)*r) by XCMPLX_1:60;
then 1=((1-s)*r)*((1-s)*r)" by XCMPLX_0:def 9;
then (((1-s)*r)*((1-s)*r)")*((r-s)*p0+(1-r)*(s*q2))=((1-s)*r)*q1
by A25,EUCLID:33;
then ((1-s)*r)*(((1-s)*r)"*((r-s)*p0+(1-r)*(s*q2)))=((1-s)*r)*q1
by EUCLID:34;
then q1=((1-s)*r)"*((r-s)*p0+(1-r)*(s*q2)) by A26,EUCLID:38;
then q1=((1-s)*r)"*((r-s)*p0+((1-r)*s)*q2) by EUCLID:34;
then q1=((1-s)*r)"*((r-s)*p0)+((1-s)*r)"*(((1-r)*s)*q2)
by EUCLID:36;
then q1=(((1-s)*r)"*(r-s))*p0+((1-s)*r)"*(((1-r)*s)*q2)
by EUCLID:34;
then A28:q1=(((1-s)*r)"*(r-s))*p0+(((1-s)*r)"*((1-r)*s))*q2
by EUCLID:34;
set s1=(((1-s)*r)"*((1-r)*s));
A29:0<=(1-r)*s by A3,A4,REAL_2:121;
A30: 0<=(1-s)*r by A2,A5,REAL_2:121;
then A31: 0<((1-s)*r)" by A26,REAL_1:72;
s<=r-r*s+r*s by A24,XCMPLX_1:27;
then s-r*s+r*s<=r-r*s+r*s by XCMPLX_1:27;
then s-r*s<=1*r-s*r by REAL_1:53;
then 1*s-r*s<=(1-s)*r by XCMPLX_1:40;
then (1-r)*s<=(1-s)*r by XCMPLX_1:40;
then ((1-r)*s)/((1-s)*r)*((1-s)*r)<=1*((1-s)*r) by A26,XCMPLX_1:88;
then ((1-r)*s)/((1-s)*r)<=1 by A26,A30,REAL_1:70;
then A32:0<=s1 & s1<=1 by A29,A31,REAL_2:121,XCMPLX_0:def 9;
(((1-s)*r)"*(r-s))=(r-s)/((1-s)*r) by XCMPLX_0:def 9
.=(((1-s)*r)-((1-s)*r-(r-s)))/((1-s)*r) by XCMPLX_1:18
.= ((1-s)*r)/((1-s)*r)-((1-s)*r-(r-s))/((1-s)*r)
by XCMPLX_1:121
.= 1-((1-s)*r-(r-s))/((1-s)*r) by A26,XCMPLX_1:60
.= 1-(1*r-s*r-(r-s))/((1-s)*r) by XCMPLX_1:40
.= 1-(r-s*r-r+s)/((1-s)*r) by XCMPLX_1:37
.= 1-(s+(r-s*r)-r)/((1-s)*r) by XCMPLX_1:29
.= 1-(s+r-s*r-r)/((1-s)*r) by XCMPLX_1:29
.= 1-(s*1-s*r)/((1-s)*r) by XCMPLX_1:228
.= 1-(s*(1-r))/((1-s)*r) by XCMPLX_1:40
.=1-s1 by XCMPLX_0:def 9;
then q1 in {(1-r2)*p0 + r2*q2: 0 <= r2 & r2 <= 1 } by A28,A32;
then A33:q1 in LSeg(p0,q2) by TOPREAL1:def 4;
q2 in LSeg(p,q2) by TOPREAL1:6;
then LSeg(p0,q2) c= LSeg(p,q2) by A1,TOPREAL1:12;
hence q1 in LSeg(p,q2) or q2 in LSeg(p,q1) by A33;
end;
hence q1 in LSeg(p,q2) or q2 in LSeg(p,q1);
end;
hence thesis by A10;
end;
theorem Th54:for f being non constant standard special_circular_sequence
holds LSeg(f,1)/\ LSeg(f,len f-'1)={f.1}
proof let f be non constant standard special_circular_sequence;
A1:len f>4 by GOBOARD7:36;
then A2:2<len f by AXIOMS:22;
A3:3<len f by A1,AXIOMS:22;
A4: 3+1-1<len f-1 by A1,REAL_1:54;
1<=1 & 1+1<=len f by A1,AXIOMS:22;
then A5:f/.1 in LSeg(f,1) by TOPREAL1:27;
A6:1<len f by A1,AXIOMS:22;
then A7:len f-1=len f-'1 by SCMFSA_7:3;
A8: 1+1-1<=len f-1 by A2,REAL_1:54;
A9:len f-1+1=len f by XCMPLX_1:27;
A10:1<=len f-'1 & len f-'1+1<= len f by A7,A8,XCMPLX_1:27;
A11:f/.len f in LSeg(f,len f-'1) by A7,A8,A9,TOPREAL1:27;
A12:len f-'1+1=len f-1+1 by A6,SCMFSA_7:3 .=len f by XCMPLX_1:27;
A13:f.1=f/.1 by A6,FINSEQ_4:24;
f/.1=f/.len f by FINSEQ_6:def 1;
then f.1 in LSeg(f,1)/\ LSeg(f,len f-'1)
by A5,A11,A13,XBOOLE_0:def 3;
then A14:{f.1} c= LSeg(f,1)/\ LSeg(f,len f-'1) by ZFMISC_1:37;
LSeg(f,1)/\ LSeg(f,len f-'1) c={f.1}
proof let x be set;assume A15: x in LSeg(f,1)/\ LSeg(f,len f-'1);
then A16:x in LSeg(f,1) & x in LSeg(f,len f-'1) by XBOOLE_0:def 3;
reconsider p=x as Point of TOP-REAL 2 by A15;
A17:1+1<=len f by A1,AXIOMS:22;
A18:LSeg(f/.1,f/.(1+1))=LSeg(f,1) by A2,TOPREAL1:def 5;
A19:LSeg(f/.(1+1),f/.(1+1+1))=LSeg(f,1+1) by A3,TOPREAL1:def 5;
A20:p in LSeg(f/.1,f/.(1+1)) by A16,A17,TOPREAL1:def 5;
len f-'1+1=len f-1+1 by A6,SCMFSA_7:3 .=len f by XCMPLX_1:27;
then f/.(len f-'1+1)=f/.1 by FINSEQ_6:def 1;
then A21:p in LSeg(f/.1,f/.(len f-'1)) by A7,A8,A12,A16,TOPREAL1:def 5;
2+1-1<=len f-1 by A3,REAL_1:54;
then 1+1-1<=len f-'1 -1 by A7,REAL_1:49;
then A22:1<=len f-'1-'1 by JORDAN3:1;
len f<len f+1 by NAT_1:38;
then len f-1<len f+1-1 by REAL_1:54;
then A23:len f-1<len f by XCMPLX_1:26;
len f-'1-'1+1=len f-'1-1+1 by A7,A8,SCMFSA_7:3
.=len f-'1 by XCMPLX_1:27;
then A24:LSeg(f/.(len f-'1-'1),f/.(len f-'1))=LSeg(f,len f-'1-'1)
by A7,A22,A23,TOPREAL1:def 5;
A25:LSeg(f/.(len f-'1),f/.(len f-'1+1))=LSeg(f,len f-'1)
by A10,TOPREAL1:def 5;
now per cases;
case A26: p<>f/.1;
now per cases by A20,A21,A26,Th53;
case A27: f/.(1+1) in LSeg(f/.1,f/.(len f-'1));
len f-'1+1=len f-1+1 by A6,SCMFSA_7:3
.=len f by XCMPLX_1:27;
then A28: f/.(len f-'1+1)=f/.1 by FINSEQ_6:def 1;
f/.(1+1) in LSeg(f/.(1+1),f/.(1+1+1)) by TOPREAL1:6;
then LSeg(f/.(1+1),f/.(1+1+1))/\ LSeg(f/.(len f-'1),f/.(len f-'1+1))
<>{} by A27,A28,XBOOLE_0:def 3;
then LSeg(f/.(1+1),f/.(1+1+1)) meets
LSeg(f/.(len f-'1),f/.(len f-'1+1)) by XBOOLE_0:def 7;
hence contradiction by A4,A7,A19,A23,A25,GOBOARD5:def 4;
case A29:f/.(len f-'1) in LSeg(f/.1,f/.(1+1));
f/.(len f-'1) in LSeg(f/.(len f-'1-'1),f/.(len f-'1))
by TOPREAL1:6;
then LSeg(f,1)/\ LSeg(f,len f-'1-'1)<>{} by A18,A24,A29,XBOOLE_0:def 3
;
then A30:LSeg(f,1) meets LSeg(f,len f-'1-'1) by XBOOLE_0:def 7;
3+1-1<len f-1 by A1,REAL_1:54;
then A31: 2+1-1<len f-1-1 by REAL_1:54;
len f-1-1+1<len f by A23,XCMPLX_1:27;
then 1+1<len f-'1-'1 & len f-'1-'1+1<len f by A7,A8,A31,SCMFSA_7:3;
hence contradiction by A30,GOBOARD5:def 4;
end;
hence contradiction;
case p=f/.1;
then x in {f/.1} by TARSKI:def 1;
hence x in {f.1} by A6,FINSEQ_4:24;
end;
hence x in {f.1};
end;
hence thesis by A14,XBOOLE_0:def 10;
end;
theorem Th55:for f being non constant standard special_circular_sequence,
i1,i2 being Nat,g1,g2 being FinSequence of TOP-REAL 2
st 1<=i1 & i1<i2 & i2<len f & g1=mid(f,i1,i2)
& g2=mid(f,i1,1)^mid(f,len f-'1,i2)
holds (L~g1)/\(L~g2)={f.i1,f.i2} & (L~g1) \/ (L~g2)=L~f
proof let f be non constant standard special_circular_sequence,
i1,i2 be Nat,g1,g2 be FinSequence of TOP-REAL 2;
assume A1: 1<=i1 & i1<i2 & i2<len f & g1=mid(f,i1,i2)
& g2=mid(f,i1,1)^mid(f,len f-'1,i2);
then A2:1<i2 by AXIOMS:22;
A3:i1<len f by A1,AXIOMS:22;
then A4:1<len f by A1,AXIOMS:22;
A5:i1+1<=len f by A3,NAT_1:38;
A6:i2+1<=len f by A1,NAT_1:38;
then i2+1-1<=len f-1 by REAL_1:49;
then A7: i2<=len f-1 by XCMPLX_1:26;
then A8:i2<=len f-'1 by A4,SCMFSA_7:3;
then A9:1<len f-'1 by A2,AXIOMS:22;
i2+1-i2<=len f-i2 by A6,REAL_1:49;
then 1<=len f-i2 by XCMPLX_1:26;
then A10:1<=len f-'i2 by JORDAN3:1;
A11:len f-'1+1=len f by A4,AMI_5:4;
A12: len f-'1<len f-'1+1 by NAT_1:38;
then A13:len f-'1<len f by A4,AMI_5:4;
A14:len mid(f,i1,i2)=i2-'i1+1 by A1,A2,A3,JORDAN3:27;
A15:0<i2-i1 by A1,SQUARE_1:11;
then 0<i2-'i1 by A1,SCMFSA_7:3;
then 0+1<=i2-'i1 by NAT_1:38;
then 1<len g1 by A1,A14,NAT_1:38;
then A16:1+1<=len g1 by NAT_1:38;
A17:len mid(f,i1,1)=i1-'1+1 by A1,A3,Th21;
then A18:len mid(f,i1,1)=i1 by A1,AMI_5:4;
0<=i1-'1 by NAT_1:18;
then A19:0<i1-'1+1 by NAT_1:38;
then A20: mid(f,i1,1)<><*>(TOP-REAL 2) by A17,FINSEQ_1:32;
A21: 0+1<=len mid(f,i1,1) by A17,A19,NAT_1:38;
A22:len mid(f,len f-'1,i2)=len f-'1-'i2+1 by A2,A8,A13,Th21;
A23:len f-'1-'i2+1=len f-'1-i2+1 by A8,SCMFSA_7:3 .=len f-1-i2+1
by A4,SCMFSA_7:3 .=len f-i2 by XCMPLX_1:229;
0<=len f-'1-'i2 by NAT_1:18;
then A24:0<len f-'1-'i2+1 by NAT_1:38;
then A25: mid(f,len f-'1,i2)<><*>(TOP-REAL 2) by A22,FINSEQ_1:32;
A26: 0+1<=len f-'1-'i2+1 by A24,NAT_1:38;
A27:len g2 =len mid(f,i1,1) + len mid(f,len f-'1,i2) by A1,FINSEQ_1:35
.=i1-'1+1+(len f-'1-'i2+1) by A1,A3,A22,Th21
.=i1+(len f-'1-'i2+1) by A1,AMI_5:4;
then A28:1+1<=len g2 by A1,A26,REAL_1:55;
A29:L~(mid(f,i1,1)^mid(f,len f-'1,i2))
= L~mid(f,i1,1)
\/ LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1)
\/ L~mid(f,len f-'1,i2) by A20,A25,SPPOL_2:23;
A30:(L~g1)/\(L~g2) c= {f.i1,f.i2}
proof let x be set;assume A31: x in (L~g1)/\(L~g2);
then A32:x in L~g1 & x in L~g2 by XBOOLE_0:def 3;
reconsider p=x as Point of TOP-REAL 2 by A31;
A33:x in L~mid(f,i1,i2) & x in L~(mid(f,i1,1)^mid(f,len f-'1,i2))
by A1,A31,XBOOLE_0:def 3;
consider i such that A34:1 <= i & i+1 <= len mid(f,i1,i2)
& p in LSeg(mid(f,i1,i2),i) by A1,A32,SPPOL_2:13;
A35:i<i2-'i1+1 by A14,A34,NAT_1:38;
then A36:LSeg(mid(f,i1,i2),i)=LSeg(f,i+i1-'1) by A1,A34,Th31;
i+1<=i2-'i1+1 by A1,A2,A3,A34,JORDAN3:27;
then i+1-1<=i2-'i1+1-1 by REAL_1:49;
then i<=i2-'i1+1-1 by XCMPLX_1:26;
then A37:i<=i2-'i1 by XCMPLX_1:26;
A38: x in L~mid(f,i1,1)
\/ LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1)
or x in L~mid(f,len f-'1,i2) by A29,A33,XBOOLE_0:def 2;
now per cases by A38,XBOOLE_0:def 2;
case x in L~mid(f,i1,1);
then consider k such that A39:1 <= k & k+1 <= len mid(f,i1,1)
& p in LSeg(mid(f,i1,1),k) by SPPOL_2:13;
now per cases;
case i1<>1;
then A40:1<=1 & 1<i1 & i1<=len f & 1<=k & k<i1-'1+1
by A1,A17,A39,AXIOMS:22,NAT_1:38,REAL_1:def 5;
then A41:LSeg(mid(f,i1,1),k)=LSeg(f,i1-'k) by Th32;
i1-'1+1=i1 by A1,AMI_5:4;
then A42:i1-'k=i1-k by A40,SCMFSA_7:3;
A43:i+i1-'1=i+i1-1 by A1,Th2;
set k3=i1-'k,i3=i+i1-'1;
A44:x in LSeg(f,k3)/\ LSeg(f,i3) by A34,A36,A39,A41,XBOOLE_0:def 3;
A45: LSeg(f,k3) meets LSeg(f,i3) by A34,A36,A39,A41,XBOOLE_0:3;
1+1<=i+k by A34,A39,REAL_1:55;
then 1<i+k by AXIOMS:22;
then 1-k<i+k-k by REAL_1:54;
then 1-k<i by XCMPLX_1:26;
then 1-k-1<i-1 by REAL_1:54;
then i1+(1-k-1)<i1+(i-1) by REAL_1:53;
then i1+(1-k)-1<i1+(i-1) by XCMPLX_1:29;
then i1+(1-k)-1<i1+i-1 by XCMPLX_1:29;
then i1+1-k-1<i+i1-1 by XCMPLX_1:29;
then i1-k<i+i1-1 by XCMPLX_1:228;
then A46:k3+1<=i3 by A42,A43,NAT_1:38;
A47: now assume k3+1<>i3;
then A48:k3+1<i3 by A46,REAL_1:def 5;
i<i2-i1+1 by A1,A35,SCMFSA_7:3;
then i+i1<i2-i1+1+i1 by REAL_1:53;
then A49:i+i1<i2+1 by XCMPLX_1:227;
i2+1<=len f by A1,NAT_1:38;
then i+i1<len f by A49,AXIOMS:22;
then i+i1-1+1<len f by XCMPLX_1:27;
hence contradiction by A43,A45,A48,GOBOARD5:def 4;
end;
then i1+1-k=i1+i-1 by A42,A43,XCMPLX_1:29;
then i1+1-k=i1+(i-1) by XCMPLX_1:29;
then i1+(1-k)=i1+(i-1) by XCMPLX_1:29;
then 1-k=i1+(i-1)-i1 by XCMPLX_1:26;
then 1-k=i-1 by XCMPLX_1:26;
then 1=i-1+k by XCMPLX_1:27;
then 1+1=i+k-1+1 by XCMPLX_1:29;
then A50:1+1=i+k by XCMPLX_1:27;
A51: now assume A52: not(i=1 & k=1);
now per cases by A52;
case i<>1;
then 1<i by A34,REAL_1:def 5;
hence contradiction by A39,A50,REAL_1:67;
case k<>1;
then 1<k by A39,REAL_1:def 5;
hence contradiction by A34,A50,REAL_1:67;
end;
hence contradiction;
end;
then A53:i3=i1 by BINARITH:39;
1+1<=i1 by A40,NAT_1:38;
then 1+1-1<=i1-1 by REAL_1:49;
then A54:1<=i1-'1 by JORDAN3:1;
k3+2=i1-'1+(1+1) by A51 .=i1-'1+1+1 by XCMPLX_1:1
.=i1+1 by A1,AMI_5:4;
then x in {f/.(k3+1)} by A5,A44,A47,A51,A54,TOPREAL1:def 8;
then A55:x=f/.i1 by A47,A53,TARSKI:def 1;
f/.i1=f.i1 by A1,A3,FINSEQ_4:24;
hence x in {f.i1,f.i2} by A55,TARSKI:def 2;
case A56:i1=1;
A57:len mid(f,1,1)=1 by A4,Th27;
1+1<=k+1 by A39,AXIOMS:24;
hence contradiction by A39,A56,A57,AXIOMS:22;
end;
hence x in {f.i1,f.i2};
case A58:
x in LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1);
A59:mid(f,i1,1)/.len mid(f,i1,1)
=mid(f,i1,1).len mid(f,i1,1) by A21,FINSEQ_4:24
.=f.1 by A1,A3,A4,Th23
.=f/.1 by A4,FINSEQ_4:24 .=f/.len f by FINSEQ_6:def 1;
i2+1-i2<=len f-i2 by A6,REAL_1:49;
then 1<=len mid(f,len f-'1,i2) by A22,A23,XCMPLX_1:26;
then mid(f,len f-'1,i2)/.1=mid(f,len f-'1,i2).1 by FINSEQ_4:24
.=f.(len f-'1) by A1,A2,A9,A13,JORDAN3:27
.=f/.(len f-'1) by A9,A13,FINSEQ_4:24;
then x in LSeg(f,len f-'1) by A9,A11,A58,A59,TOPREAL1:def 5;
then A60:x in LSeg(f,i+i1-'1)/\ LSeg(f,len f-'1) by A34,A36,XBOOLE_0:def 3;
then A61: LSeg(f,i+i1-'1) meets LSeg(f,len f-'1) by XBOOLE_0:4;
now per cases;
case A62:1<i1 or 1<i;
i<=i2-i1 by A1,A37,SCMFSA_7:3;
then i+i1<=i2-i1+i1 by AXIOMS:24;
then i+i1<=i2 by XCMPLX_1:27;
then i+i1<len f by A1,AXIOMS:22;
then i+i1-1<len f-1 by REAL_1:54;
then i+i1-'1<len f-1 by A1,Th2;
then i+i1-'1<len f-'1 by A4,SCMFSA_7:3;
then A63:i+i1-'1+1<=len f-'1 by NAT_1:38;
A64: now assume A65:i+i1-'1+1<len f-'1;
A66:1+1<i+i1 by A1,A34,A62,REAL_1:67;
then 1<i+i1 by AXIOMS:22;
then 1+1<i+i1-'1+1 by A66,AMI_5:4;
then 1+1-1<i+i1-'1+1-1 by REAL_1:54;
then i+i1-'1>1 & len f-'1<len f by A4,A12,AMI_5:4,XCMPLX_1:26;
hence contradiction by A61,A65,GOBOARD5:def 4;
end;
then A67:i+i1-'1+1=len f-'1 by A63,REAL_1:def 5;
set i3=i+i1-'1;
1+1<=i+i1 by A1,A34,REAL_1:55;
then A68: 1+1-1<=i+i1-1 by REAL_1:49;
len f-1+1<=len f by XCMPLX_1:27;
then len f-'1+1<=len f by A4,SCMFSA_7:3;
then A69:1<=i3 & i3+2<=len f by A1,A67,A68,Th2,XCMPLX_1:1;
A70:i3+1=len f-'1 by A63,A64,REAL_1:def 5;
A71:i+i1-'1+1=len f-'1 by A63,A64,REAL_1:def 5;
i+i1-'1=i+i1-1 by A1,Th2;
then A72:i+i1=len f-'1 by A71,XCMPLX_1:27;
now assume A73: i2<len f-'1;
i+i1<=i2-'i1+i1 by A37,AXIOMS:24;
then i+i1<=i2-i1+i1 by A15,BINARITH:def 3;
hence contradiction by A72,A73,XCMPLX_1:27;
end;
then A74:i3+1=i2 by A8,A70,AXIOMS:21;
x in {f/.(i3+1)} by A60,A69,A70,TOPREAL1:def 8;
then A75:x=f/.i2 by A74,TARSKI:def 1;
f/.i2=f.i2 by A1,A2,FINSEQ_4:24;
hence x in {f.i1,f.i2} by A75,TARSKI:def 2;
case A76: not(1<i1 or 1<i);
then A77:i1=1 by A1,AXIOMS:21;
i=1 by A34,A76,AXIOMS:21;
then A78:i+i1-'1=1+1-'1 by A1,A76,AXIOMS:21 .=1 by BINARITH:39;
LSeg(f,1)/\ LSeg(f,len f-'1)={f.1}
by Th54;
then x=f.1 by A60,A78,TARSKI:def 1;
hence x in {f.i1,f.i2} by A77,TARSKI:def 2;
end;
hence x in {f.i1,f.i2};
case x in L~mid(f,len f-'1,i2);
then consider k such that A79:1 <= k & k+1 <= len mid(f,len f-'1,i2)
& p in LSeg(mid(f,len f-'1,i2),k) by SPPOL_2:13;
A80:k<len f-'1-'i2+1 by A22,A79,NAT_1:38;
A81: k<len f-i2 by A22,A23,A79,NAT_1:38;
k<len f-'i2 by A1,A23,A80,SCMFSA_7:3;
then k+1<=len f-'i2 by NAT_1:38;
then k+1-1<=len f-'i2-1 by REAL_1:49;
then k<=len f-'i2-1 by XCMPLX_1:26;
then A82:k<=len f-'i2-'1 by A10,SCMFSA_7:3;
A83:len f-'i2-'1=len f-'i2-1 by A10,SCMFSA_7:3
.=len f-i2-1 by A1,SCMFSA_7:3 .=len f-1-i2 by XCMPLX_1:21
.=len f-'1-i2 by A4,SCMFSA_7:3
.=len f-'1-'i2 by A8,SCMFSA_7:3;
k+i2<len f-i2+i2 by A81,REAL_1:53;
then k+i2<len f by XCMPLX_1:27;
then k+i2-k<len f-k by REAL_1:54;
then A84: i2<len f-k by XCMPLX_1:26;
then A85:1<len f-k by A2,AXIOMS:22;
then 1+k<len f-k+k by REAL_1:53;
then 1+k<len f by XCMPLX_1:27;
then 1+k-1<len f-1 by REAL_1:54;
then k<len f-1 by XCMPLX_1:26;
then A86:k<len f-'1 by A4,SCMFSA_7:3;
A87: 0<len f-k by A2,A84,AXIOMS:22;
then 1<len f-'k by A85,BINARITH:def 3;
then A88:len f-'k-'1=len f-'k-1 by SCMFSA_7:3
.=len f-k-1 by A87,BINARITH:def 3 .=len f-1-k by XCMPLX_1:21
.=len f-'1-k by A4,SCMFSA_7:3
.=len f-'1-'k by A86,SCMFSA_7:3;
A89:k<=len f-'1-'i2 by A80,NAT_1:38;
now per cases;
case i2<>len f-'1;
then 1<=i2 & i2<len f-'1 & len f-'1<=len f & 1<=k & k<len f-'1-'i2+1
by A1,A4,A8,A12,A22,A79,AMI_5:4,AXIOMS:22,NAT_1:38,REAL_1:def 5
;
then A90:LSeg(mid(f,len f-'1,i2),k)=LSeg(f,len f-'1-'k) by Th32;
k+(i2-1)<len f-i2+(i2-1) by A81,REAL_1:53;
then k+(i2-1)<len f-i2+i2-1 by XCMPLX_1:29;
then k+(i2-1)<len f-1 by XCMPLX_1:27;
then A91:k+(i2-'1)<len f-1 by A2,SCMFSA_7:3;
k<=k+(i2-'1) by NAT_1:29;
then A92:k<len f-1 by A91,AXIOMS:22;
then k<len f-'1 by A4,SCMFSA_7:3;
then A93:len f-'1-'k=len f-'1-k by SCMFSA_7:3;
k+1<len f-1+1 by A92,REAL_1:53;
then k+1<len f by XCMPLX_1:27;
then k+1-k<len f-k by REAL_1:54;
then A94:1<len f-k by XCMPLX_1:26;
len f<len f+1 by NAT_1:38;
then len f-1<len f+1-1 by REAL_1:54;
then len f-1<len f by XCMPLX_1:26;
then k<len f by A92,AXIOMS:22;
then A95:len f-'k=len f-k by SCMFSA_7:3;
A96:1<len f-'k by A94,JORDAN3:1;
A97:i+i1-'1=i+i1-1 by A1,Th2;
set k3=len f-'1-'k,i3=i+i1-'1;
A98:x in LSeg(f,i3)/\ LSeg(f,k3) by A34,A36,A79,A90,XBOOLE_0:def 3;
A99: LSeg(f,i3) meets LSeg(f,k3) by A34,A36,A79,A90,XBOOLE_0:3;
i2+(len f-'1-i2)<len f by A13,XCMPLX_1:27;
then i2+(len f-'1-'i2)<len f by A8,SCMFSA_7:3;
then i2-i1+i1+(len f-'1-'i2)<len f by XCMPLX_1:27;
then A100:(i2-'i1)+i1+(len f-'1-'i2)<len f by A1,SCMFSA_7:3;
i+i1<=(i2-'i1)+i1 by A37,AXIOMS:24;
then A101:i+i1+k<=(i2-'i1)+i1+k by AXIOMS:24;
(i2-'i1)+i1+k<=(i2-'i1)+i1+(len f-'1-'i2) by A89,AXIOMS:24;
then i+i1+k<=(i2-'i1)+i1+(len f-'1-'i2) by A101,AXIOMS:22;
then i+i1+k<len f by A100,AXIOMS:22;
then i+i1+k-k<len f-k by REAL_1:54;
then i+i1<len f-'k by A95,XCMPLX_1:26;
then i+i1-1<len f-'k-1 by REAL_1:54;
then i+i1-1<len f-'k-'1 by A96,SCMFSA_7:3;
then i+i1-'1<len f-'1-'k by A34,A88,Th2;
then A102:i3+1<=k3 by NAT_1:38;
A103: now assume not(i3+1=k3);
then A104:i3+1<k3 by A102,REAL_1:def 5;
len f-'1+1<=len f-'1+k by A79,AXIOMS:24;
then len f-'1+1-k<=len f-'1+k-k by REAL_1:49;
then len f-'1+1-k<=len f-'1 by XCMPLX_1:26;
then len f-'1-k+1<=len f-'1 by XCMPLX_1:29;
then k3+1<len f by A13,A93,AXIOMS:22;
hence contradiction by A99,A104,GOBOARD5:def 4;
end;
then len f-1-k=i1+i-1+1 by A4,A93,A97,SCMFSA_7:3;
then len f-1-k+1=i1+i+1 by XCMPLX_1:27;
then len f-k=i1+i+1 by XCMPLX_1:229;
then len f=i1+i+1+k by XCMPLX_1:27;
then A105:len f-1=i1+i+k by XCMPLX_1:226;
A106: now assume A107: not(i=i2-'i1 & k=len f-'1-'i2);
now per cases by A107;
case i<>i2-'i1;
then i<i2-'i1 by A37,REAL_1:def 5;
then i+k<i2-'i1+(len f-'i2-'1) by A82,REAL_1:67;
then i+k<i2-i1+(len f-'i2-'1) by A1,SCMFSA_7:3;
then i+k<i2-i1+(len f-'i2-1) by A10,SCMFSA_7:3;
then i+k<i2-i1+(len f-i2-1) by A1,SCMFSA_7:3;
then i+k<i2-i1+(len f-i2)-1 by XCMPLX_1:29;
then i+k<i2-i1+len f-i2-1 by XCMPLX_1:29;
then i+k<i2-(i1-len f)-i2-1 by XCMPLX_1:37;
then i+k < -(i1-len f)-1 by XCMPLX_1:232;
then i+k < -i1+len f-1 by XCMPLX_1:162;
then i+k < -i1+(len f-1) by XCMPLX_1:29;
then i+k+i1 < -i1+(len f-1)+i1 by REAL_1:53;
then i+k+i1<len f-1 by XCMPLX_1:139;
hence contradiction by A105,XCMPLX_1:1;
case k<>len f-'1-'i2;
then k<len f-'1-'i2 by A89,REAL_1:def 5;
then i+k<i2-'i1+(len f-'i2-'1) by A37,A83,REAL_1:67;
then i+k<i2-i1+(len f-'i2-'1) by A1,SCMFSA_7:3;
then i+k<i2-i1+(len f-'i2-1) by A10,SCMFSA_7:3;
then i+k<i2-i1+(len f-i2-1) by A1,SCMFSA_7:3;
then i+k<i2-i1+(len f-i2)-1 by XCMPLX_1:29;
then i+k<i2-i1+len f-i2-1 by XCMPLX_1:29;
then i+k<i2-(i1-len f)-i2-1 by XCMPLX_1:37;
then i+k< -(i1-len f)-1 by XCMPLX_1:232;
then i+k< -i1+len f-1 by XCMPLX_1:162;
then i+k< -i1+(len f-1) by XCMPLX_1:29;
then i+k+i1< -i1+(len f-1)+i1 by REAL_1:53;
then i+k+i1<len f-1 by XCMPLX_1:139;
hence contradiction by A105,XCMPLX_1:1;
end;
hence contradiction;
end;
A108:len f-'1=len f-1 by A4,SCMFSA_7:3;
len f<=len f+i2 by NAT_1:29;
then len f-'1+1<=len f+i2 by A4,AMI_5:4;
then len f-'1+1-i2<=len f+i2-i2 by REAL_1:49;
then len f-'1+1-i2<=len f by XCMPLX_1:26;
then len f-'1+1-i2-1<=len f-1 by REAL_1:49;
then len f-'1-i2<=len f-1 by XCMPLX_1:228;
then len f-'1-'i2<=len f-'1 by A7,A108,SCMFSA_7:3;
then A109:k3 =len f-'1-(len f-'1-'i2) by A106,SCMFSA_7:3
.=len f-1-(len f-1-i2) by A7,A108,SCMFSA_7:3
.=len f-1-(len f-1)+i2 by XCMPLX_1:37
.=len f-1-len f+1+i2 by XCMPLX_1:37
.=-1+1+i2 by XCMPLX_1:232
.=i2;
A110:i3 =i2-'i1+i1-1 by A1,A106,Th2
.=i2-i1+i1-1 by A1,SCMFSA_7:3
.=i2-1 by XCMPLX_1:27;
then A111:i3+2= i2-1+(1+1)
.=i2-1+1+1 by XCMPLX_1:1 .=i2+1 by XCMPLX_1:27;
1+1<=i2 by A2,NAT_1:38;
then 1+1-1<=i2-1 by REAL_1:49;
then x in {f/.(i3+1)} by A6,A98,A103,A110,A111,TOPREAL1:def 8;
then x=f/.i2 by A103,A109,TARSKI:def 1;
then x=f.i2 by A1,A2,FINSEQ_4:24;
hence x in {f.i1,f.i2} by TARSKI:def 2;
case A112:i2=len f-'1;
A113:len mid(f,len f-'1,len f-'1)=1 by A9,A13,Th27;
1+1<=k+1 by A79,AXIOMS:24;
hence contradiction by A79,A112,A113,AXIOMS:22;
end;
hence x in {f.i1,f.i2};
end;
hence x in {f.i1,f.i2};
end;
A114:{f.i1} c= L~g1
proof let x be set;assume x in {f.i1};
then A115:x=f.i1 by TARSKI:def 1;
g1.1 =f.i1 by A1,A2,A3,JORDAN3:27;
hence x in L~g1 by A16,A115,JORDAN3:34;
end;
{f.i2} c= L~g1
proof let x be set;assume x in {f.i2};
then A116:x=f.i2 by TARSKI:def 1;
g1.len g1=f.i2 by A1,A2,A3,Th23;
hence x in L~g1 by A16,A116,JORDAN3:34;
end;
then {f.i1} \/ {f.i2} c= L~g1 by A114,XBOOLE_1:8;
then A117:{f.i1,f.i2} c= L~g1 by ENUMSET1:41;
A118:{f.i1} c= L~g2
proof let x be set;assume x in {f.i1};
then A119:x=f.i1 by TARSKI:def 1;
g2.1 =mid(f,i1,1).1 by A1,A21,SCMFSA_7:9
.=f.i1 by A1,A3,A4,JORDAN3:27;
hence x in L~g2 by A28,A119,JORDAN3:34;
end;
{f.i2} c= L~g2
proof let x be set;assume x in {f.i2};
then A120:x=f.i2 by TARSKI:def 1;
g2.len g2
=mid(f,len f-'1,i2).(len f-'1-'i2+1) by A1,A18,A22,A26,A27,SCMFSA_7:10
.=f.i2 by A1,A2,A9,A13,A22,Th23;
hence x in L~g2 by A28,A120,JORDAN3:34;
end;
then {f.i1} \/ {f.i2} c= L~g2 by A118,XBOOLE_1:8;
then {f.i1,f.i2} c= L~g2 by ENUMSET1:41;
then A121: {f.i1,f.i2} c= (L~g1)/\(L~g2) by A117,XBOOLE_1:19;
A122:L~g1 c= L~f by A1,A2,A3,Th47;
A123:L~mid(f,i1,1) c= L~f by A1,A3,A4,Th47;
A124:L~mid(f,len f-'1,i2) c= L~f by A1,A2,A9,A13,Th47;
len f-'1+1=len f by A4,AMI_5:4;
then A125:LSeg(f,len f-'1) =LSeg(f/.(len f-'1+1),f/.(len f-'1))
by A9,TOPREAL1:def 5;
A126:f/.(len f-'1+1)
=f/.len f by A4,AMI_5:4
.=f/.1 by FINSEQ_6:def 1
.=f.1 by A4,FINSEQ_4:24
.=mid(f,i1,1).len mid(f,i1,1) by A1,A3,A4,Th23
.=mid(f,i1,1)/.len mid(f,i1,1) by A21,FINSEQ_4:24;
A127:1<=len mid(f,len f-'1,i2) by A22,NAT_1:29;
A128:f/.(len f-'1)
=f.(len f-'1) by A9,A13,FINSEQ_4:24
.=mid(f,len f-'1,i2).1 by A1,A2,A9,A13,JORDAN3:27
.=mid(f,len f-'1,i2)/.1 by A127,FINSEQ_4:24;
then LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1)
c= L~f by A125,A126,TOPREAL3:26;
then L~mid(f,i1,1)
\/ LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1)
c= L~f by A123,XBOOLE_1:8;
then L~g2 c= L~f by A1,A29,A124,XBOOLE_1:8;
then A129:(L~g1) \/ (L~g2) c= L~f by A122,XBOOLE_1:8;
L~f c= (L~g1) \/ (L~g2)
proof let x be set;assume A130:x in L~f;
then reconsider p=x as Point of TOP-REAL 2;
consider i such that A131:1 <= i & i+1 <= len f & p in LSeg(f,i)
by A130,SPPOL_2:13;
now per cases;
case A132:i1<=i & i<i2;
then 0<=i-i1 by SQUARE_1:12;
then A133: 0+1<=i-i1+1 by AXIOMS:24;
i-i1<i2-i1 by A132,REAL_1:54;
then i-i1+1<i2-i1+1 by REAL_1:53;
then i-'i1+1<i2-i1+1 by A132,SCMFSA_7:3;
then A134:1<=i-'i1+1 & i-'i1+1<i2-'i1+1
by A1,A132,A133,SCMFSA_7:3;
i-'i1+1+i1-'1=i-'i1+1+i1-1 by A1,Th2
.=i-'i1+i1 by XCMPLX_1:226
.=i by A132,AMI_5:4;
then x in LSeg(mid(f,i1,i2),i-'i1+1) by A1,A131,A134,Th31;
then x in L~mid(f,i1,i2) by SPPOL_2:17;
hence x in (L~g1) \/ (L~g2) by A1,XBOOLE_0:def 2;
case A135:i<i1;
then A136:1<i1 by A131,AXIOMS:22;
i1+1<=i1+i by A131,AXIOMS:24;
then i1<i1+i by NAT_1:38;
then i1-i<i1+i-i by REAL_1:54;
then i1-i<i1 by XCMPLX_1:26;
then i1-'i<i1 by A135,SCMFSA_7:3;
then i1-'i<i1-1+1 by XCMPLX_1:27;
then A137:i1-'i<i1-'1+1 by A1,SCMFSA_7:3;
i+1<=i1 by A135,NAT_1:38;
then i+1-i<=i1-i by REAL_1:49;
then 1<=i1-i by XCMPLX_1:26;
then A138:1<=i1-'i by JORDAN3:1;
i1<=i1+i by NAT_1:29; then i1-i<=i1+i-i by REAL_1:49;
then i1-i<=i1 by XCMPLX_1:26; then i1-'i<=i1 by A135,SCMFSA_7:3;
then i1-'(i1-'i)=i1-(i1-'i) by SCMFSA_7:3
.=i1-(i1-i) by A135,SCMFSA_7:3
.=i by XCMPLX_1:18;
then x in LSeg(mid(f,i1,1),i1-'i) by A3,A131,A136,A137,A138,Th32;
then x in L~mid(f,i1,1) by SPPOL_2:17;
then x in L~mid(f,i1,1)
\/ LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1)
by XBOOLE_0:def 2;
then x in L~(mid(f,i1,1)^mid(f,len f-'1,i2)) by A29,XBOOLE_0:def 2;
hence x in (L~g1) \/ (L~g2) by A1,XBOOLE_0:def 2;
case A139:i2<=i;
now per cases by A131,REAL_1:def 5;
case i+1=len f;
then i=len f-1 by XCMPLX_1:26;
then i=len f-'1 by A4,SCMFSA_7:3;
hence x in LSeg(mid(f,i1,1)/.len mid(f,i1,1),
mid(f,len f-'1,i2)/.1)
\/ L~mid(f,len f-'1,i2) by A125,A126,A128,A131,XBOOLE_0:def 2;
case i+1<len f;
then i+1+1<=len f by NAT_1:38;
then i+1+1-1<=len f-1 by REAL_1:49;
then i+1<=len f-1 by XCMPLX_1:26;
then A140:i+1<=len f-'1 by A4,SCMFSA_7:3;
then A141:i<len f-'1 by NAT_1:38;
then A142:i2<len f-'1 by A139,AXIOMS:22;
i+1-i<=len f-'1-i by A140,REAL_1:49;
then 1<=len f-'1-i by XCMPLX_1:26;
then A143:1<=len f-'1-'i by JORDAN3:1;
i2<i+1 by A139,NAT_1:38;
then len f-'1+i2<len f-'1+(i+1) by REAL_1:53;
then len f-'1+i2-i2<len f-'1+(i+1)-i2 by REAL_1:54;
then len f-'1<len f-'1+(i+1)-i2 by XCMPLX_1:26;
then len f-'1-i<len f-'1+(i+1)-i2-i by REAL_1:54;
then len f-'1-i<len f-'1+1+i-i2-i by XCMPLX_1:1;
then len f-'1-i<len f-'1+1-i2 by XCMPLX_1:228;
then len f-'1-i<len f-'1-i2+1 by XCMPLX_1:29;
then len f-'1-i<len f-'1-'i2+1 by A142,SCMFSA_7:3;
then A144:len f-'1-'i<len f-'1-'i2+1 by A141,SCMFSA_7:3;
A145:len f-'1-(len f-'1-'i)
=len f-'1-(len f-'1-i) by A141,SCMFSA_7:3
.=i by XCMPLX_1:18;
then 0<=len f-'1-(len f-'1-'i) by A131,AXIOMS:22;
then len f-'1-'(len f-'1-'i)=i by A145,BINARITH:def 3;
then x in LSeg(mid(f,len f-'1,i2),len f-'1-'i)
by A2,A13,A131,A142,A143,A144,Th32;
then x in L~mid(f,len f-'1,i2) by SPPOL_2:17;
hence x in LSeg(mid(f,i1,1)/.len mid(f,i1,1),
mid(f,len f-'1,i2)/.1)
\/ L~mid(f,len f-'1,i2) by XBOOLE_0:def 2;
end;
then x in L~mid(f,i1,1)
\/ (LSeg(mid(f,i1,1)/.len mid(f,i1,1),mid(f,len f-'1,i2)/.1)
\/ L~mid(f,len f-'1,i2)) by XBOOLE_0:def 2;
then x in L~(mid(f,i1,1)^mid(f,len f-'1,i2)) by A29,XBOOLE_1:4;
hence x in (L~g1) \/ (L~g2) by A1,XBOOLE_0:def 2;
end;
hence x in (L~g1) \/ (L~g2);
end;
hence thesis by A30,A121,A129,XBOOLE_0:def 10;
end;
theorem Th56:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part>_of f,i1,i2 & i1<i2 holds
L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part>_of f,i1,i2 & i1<i2;
then A2:len g=i2-'i1+1 & g=mid(f,i1,i2) by Th37;
A3:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))
by A1,Def2;
then A4:g is_S-Seq by A1,A2,Th51;
A5:i1<len f by A3,NAT_1:38;
A6:i2<len f by A3,NAT_1:38;
then A7:g.1=f.i1 by A2,A3,A5,JORDAN3:27;
A8:f/.i1=f.i1 by A3,A5,FINSEQ_4:24;
g/.len g=g.len g by A3,FINSEQ_4:24;
then f/.i1=g/.1 & f/.i2=g/.len g by A3,A6,A7,A8,FINSEQ_4:24;
hence thesis by A4,TOPREAL4:def 1;
end;
Lm1:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part>_of f,i1,i2 & i1>i2 holds
L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1: g is_a_part>_of f,i1,i2 & i1>i2;
then A2:len g=len f+i2-'i1
& g=mid(f,i1,len f-'1)^(f|i2)
& g=mid(f,i1,len f-'1)^mid(f,1,i2) by Th38;
A3:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))
by A1,Def2;
then A4:1<len f by AXIOMS:22;
then A5:len f-'1=len f-1 by SCMFSA_7:3;
A6:i1-1=i1-'1 by A3,SCMFSA_7:3;
A7:len f-'1+1=len f by A5,XCMPLX_1:27;
A8:1+1<=len f by A4,NAT_1:38;
A9:i1<len f by A3,NAT_1:38;
then A10:i1-'1<=len f by JORDAN3:7;
A11:i2<len f by A3,NAT_1:38;
i1+1-i1<=len f-i1 by A3,REAL_1:49;
then 1<=len f-i1 by XCMPLX_1:26;
then A12:1<=len f-'i1 by JORDAN3:1;
i1+1-1<=len f-1 by A3,REAL_1:49;
then A13:i1<=len f-1 by XCMPLX_1:26;
then A14:1<=len f-'1 by A3,A5,AXIOMS:22;
A15:i1<=len f-'1 by A4,A13,SCMFSA_7:3;
len f-'1<len f-'1+1 by NAT_1:38;
then A16:len f-'1<len f by A5,XCMPLX_1:27;
set f1=mid(f,i1,len f);
1<i1 by A1,A3,AXIOMS:22;
then A17:f1 is_S-Seq by A9,Th52;
A18:f1.len f1=f.(len f) by A3,A9,Th22;
A19:mid(f,1,i2).1=f.1 by A3,A4,A11,JORDAN3:27;
A20:f.(len f)=f/.len f by A4,FINSEQ_4:24;
A21:f/.1=f/.len f by FINSEQ_6:def 1;
f.1=f/.1 by A4,FINSEQ_4:24;
then A22:f1.len f1=mid(f,1,i2).1 by A18,A19,A20,FINSEQ_6:def 1;
A23:len f1=len f-'i1+1 by A3,A4,A9,JORDAN3:27;
then A24:1<=len f1 by NAT_1:29;
len f1<len f1+1 by NAT_1:38;
then len f1-1<len f1+1-1 by REAL_1:54;
then A25:len f1-1<len f1 by XCMPLX_1:26;
i1+1-i1<=len f-i1 by A3,REAL_1:49;
then 1<=len f-i1 by XCMPLX_1:26;
then 1<=len f-'i1 by JORDAN3:1;
then A26:1<=len f1 & 1<=len f1-'1 & len f1-'1<=len f1
by A23,A24,A25,BINARITH:39,SCMFSA_7:3;
then A27:len mid(f1,1,len f1-'1)=len f1-'1-'1+1 by JORDAN3:27
.=len f-'i1+1-'1-'1+1 by A3,A4,A9,JORDAN3:27;
A28:len f-'i1-'1+1=len f-'i1-1+1 by A12,SCMFSA_7:3
.=len f-'i1 by XCMPLX_1:27.=len f-i1 by A9,SCMFSA_7:3;
A29:len mid(f,i1,len f-'1)=len f-'1-'i1+1
by A3,A5,A9,A13,A14,A16,JORDAN3:27
.=len f-1-i1+1 by A5,A13,SCMFSA_7:3
.=len f-i1 by XCMPLX_1:229;
then A30:len mid(f1,1,len f1-'1)=len mid(f,i1,len f-'1) by A27,A28,BINARITH
:39;
for k st 1<=k & k<=len mid(f,i1,len f-'1) holds
mid(f1,1,len f1-'1).k=mid(f,i1,len f-'1).k
proof let k;assume A31:1<=k & k<=len mid(f,i1,len f-'1);
then A32:k<=len f-'i1 by A9,A29,SCMFSA_7:3;
len mid(f,i1,len f)=len f-'i1+1 by A3,A4,A9,JORDAN3:27;
then A33:k<len mid(f,i1,len f) by A32,NAT_1:38;
mid(f1,1,len f1-'1).k=f1.(k+1-'1)
by A26,A30,A31,JORDAN3:27
.=f1.k by BINARITH:39
.=f.(k+i1-'1) by A3,A4,A9,A31,A33,JORDAN3:27;
hence mid(f1,1,len f1-'1).k=mid(f,i1,len f-'1).k
by A3,A9,A14,A15,A16,A31,JORDAN3:27;
end;
then A34:mid(f1,1,len f1-'1)=mid(f,i1,len f-'1) by A30,FINSEQ_1:18;
A35:L~(f/^(i1-'1))
= union { LSeg((f/^(i1-'1)),i) : 1 <= i & i+1 <= len (f/^(i1-'1)) }
by TOPREAL1:def 6;
A36:L~(f|i2)= union { LSeg((f|i2),i) : 1 <= i & i+1 <= len (f|i2) }
by TOPREAL1:def 6;
now per cases by A3,REAL_1:def 5;
case A37:i2>1;
union { LSeg((f/^(i1-'1)),i) : 1 <= i & i+1 <= len (f/^(i1-'1)) }
/\ union { LSeg((f|i2),j) : 1 <= j & j+1 <= len (f|i2) } ={f.1}
proof
A38:len (f/^(i1-'1))=len f-'(i1-'1) by JORDAN3:19;
i1-i1<len f-i1 by A9,REAL_1:54;
then i1-i1+1<len f-i1+1 by REAL_1:53;
then 1<len f-i1+1 by XCMPLX_1:25;
then 1<len f-(i1-1) by XCMPLX_1:37;
then 1<len f-(i1-'1) by A3,SCMFSA_7:3;
then A39:1<len (f/^(i1-'1)) by A38,JORDAN3:1;
then 1+1<=len (f/^(i1-'1)) by NAT_1:38;
then A40: 1+1-1<=len (f/^(i1-'1))-1 by REAL_1:49;
then A41:1<=len (f/^(i1-'1))-'1 by JORDAN3:1;
A42:len (f/^(i1-'1))-'1+1=len (f/^(i1-'1))-1+1
by A39,SCMFSA_7:3
.=len (f/^(i1-'1)) by XCMPLX_1:27;
then A43:1<=len (f/^(i1-'1))-'1 & len (f/^(i1-'1))-'1+1<=len (f/^(i1-'1)
)
by A40,JORDAN3:1;
A44:LSeg((f/^(i1-'1)),len (f/^(i1-'1))-'1)
=LSeg((f/^(i1-'1))/.(len (f/^(i1-'1))-'1)
,(f/^(i1-'1))/.(len (f/^(i1-'1))-'1+1)) by A41,A42,TOPREAL1:def 5;
A45:i1-1<len f-1 by A9,REAL_1:54;
then i1-1<len f by A5,A16,AXIOMS:22;
then A46:i1-'1<len f by A3,SCMFSA_7:3;
then A47:(f/^(i1-'1))/.(len (f/^(i1-'1))-'1+1)=f/.len f by A42,Th18;
i1-'1<=len f-1 by A3,A45,SCMFSA_7:3;
then A48:i1-'1<=len f-'1 by A4,SCMFSA_7:3;
A49:f/.len f in LSeg((f/^(i1-'1))/.(len (f/^(i1-'1))-'1),
f/.len f)
by TOPREAL1:6;
A50:f.1=f/.1 by A4,FINSEQ_4:24;
then f.1 in LSeg((f/^(i1-'1)),len (f/^(i1-'1))-'1) &
LSeg((f/^(i1-'1)),len (f/^(i1-'1))-'1)
in { LSeg((f/^(i1-'1)),i):1<=i & i+1 <= len (f/^(i1-'1))}
by A43,A44,A47,A49,FINSEQ_6:def 1;
then A51:f.1 in union { LSeg((f/^(i1-'1)),i):1<=i & i+1 <= len (f/^(i1-'
1))}
by TARSKI:def 4;
A52:len (f|2)=2 by A8,TOPREAL1:3;
then len (f|2)-'1=2-1 by JORDAN3:1 .=1;
then A53:LSeg((f|2),len (f|2)-'1) = LSeg((f|2)/.(len (f|2)-'1)
,(f|2)/.(len (f|2)-'1+1)) by A52,TOPREAL1:def 5;
A54:len (f|2)-'1=1+1-'1 by A8,TOPREAL1:3 .=1 by BINARITH:39;
A55:(f|2)/.1=(f|2).1 by A52,FINSEQ_4:24;
A56:(f|2).1=f.1 by JORDAN3:20;
A57:(f|i2).1=f.1 by A3,JORDAN3:20;
A58:len (f|i2)=i2 by A11,TOPREAL1:3;
then A59:(f|2)/.1=(f|i2)/.1 by A3,A55,A56,A57,FINSEQ_4:24;
A60:1+1<=len (f|i2) by A37,A58,NAT_1:38;
A61:(f|2).(1+1)=f.(1+1) by JORDAN3:20;
A62:(f|2)/.(1+1)=(f|2).(1+1) by A52,FINSEQ_4:24;
(f|i2).(1+1)=f.(1+1) by A58,A60,JORDAN3:20;
then A63:(f|2)/.(1+1)=(f|i2)/.(1+1) by A60,A61,A62,FINSEQ_4:24;
A64:LSeg(f|i2,1)=LSeg((f|i2)/.1,(f|i2)/.(1+1)) by A60,TOPREAL1:def 5;
A65:(f|2)/.(len (f|2)-'1)=f/.1 by A50,A54,A55,JORDAN3:20;
1<=1 & 1+1<=len (f|i2) by A37,A58,NAT_1:38;
then f.1 in LSeg((f|2),len (f|2)-'1) & LSeg((f|2),len (f|2)-'1)
in { LSeg((f|i2),i) : 1<=i & i+1 <= len (f|i2)}
by A50,A53,A54,A59,A63,A64,A65,TOPREAL1:6;
then f.1 in union { LSeg(f|i2,j) : 1 <= j & j+1 <= len (f|i2) }
by TARSKI:def 4;
then f.1 in union { LSeg((f/^(i1-'1)),i):1<=i & i+1 <= len (f/^(i1-'1))
}
/\ union { LSeg((f|i2),j) : 1 <= j & j+1 <= len (f|i2)}
by A51,XBOOLE_0:def 3;
then A66:{f.1} c= union { LSeg((f/^(i1-'1)),i):1<=i & i+1 <=
len (f/^(i1-'1)) }
/\ union { LSeg((f|i2),j) : 1 <= j & j+1 <= len (f|i2) } by ZFMISC_1:37;
union { LSeg((f/^(i1-'1)),i) : 1 <= i & i+1 <= len (f/^(i1-'1)) }
/\ union { LSeg((f|i2),j) : 1 <= j & j+1 <= len (f|i2) } c= {f.1}
proof let x be set; assume A67:x in
union { LSeg((f/^(i1-'1)),i) : 1 <= i & i+1 <= len (f/^(i1-'1)) }
/\ union { LSeg((f|i2),j) : 1 <= j & j+1 <= len (f|i2) };
then x in union { LSeg((f/^(i1-'1)),i) :
1 <= i & i+1 <= len (f/^(i1-'1)) } by XBOOLE_0:def 3;
then consider Y1 being set such that
A68:x in Y1 & Y1 in { LSeg(f/^(i1-'1),i):1<=i & i+1 <= len (f/^(i1-'1))}
by TARSKI:def 4;
consider j1 be Nat such that
A69: Y1=LSeg((f/^(i1-'1)),j1) &(1<=j1 & j1+1 <=
len (f/^(i1-'1))) by A68;
x in union { LSeg((f|i2),j) : 1 <= j & j+1 <= len (f|i2) }
by A67,XBOOLE_0:def 3;
then consider Y2 being set such that
A70: x in Y2 &
Y2 in { LSeg(f|i2,i):1<=i & i+1 <= len (f|i2)} by TARSKI:def 4;
consider j2 be Nat such that
A71: Y2=LSeg((f|i2),j2) &(1<=j2 & j2+1 <= len (f|i2)) by A70;
A72:LSeg(f/^(i1-'1),j1)=LSeg((f/^(i1-'1))/.j1,(f/^(i1-'1))/.(j1+1))
by A69,TOPREAL1:def 5;
0<=i1-'1 by NAT_1:18;
then A73:0+1<=(i1-'1)+j1 by A69,REAL_1:55;
A74:j1+1<=len f-'(i1-'1) by A69,JORDAN3:19;
j1+1+(i1-'1)<=len f-'(i1-'1)+(i1-'1) by A38,A69,AXIOMS:24;
then j1+1+(i1-'1)<=len f by A46,AMI_5:4;
then A75:1<=(i1-'1)+j1 & (i1-'1)+j1+1<=len f by A73,XCMPLX_1:1;
then A76:LSeg(f,(i1-'1)+j1)=LSeg(f/.((i1-'1)+j1),f/.((i1-'1)+j1+1))
by TOPREAL1:def 5;
j1 <= len (f/^(i1-'1)) by A69,NAT_1:38;
then A77:(f/^(i1-'1))/.j1=(f/^(i1-'1)).j1 by A69,FINSEQ_4:24;
(i1-'1)+j1<=(i1-'1)+j1+1 by NAT_1:29;
then A78:1<=j1 & j1+(i1-'1)<=len f by A69,A75,AXIOMS:22;
then (f/^(i1-'1)).j1=f.((i1-'1)+j1) by JORDAN3:23;
then A79:(f/^(i1-'1))/.j1=f/.((i1-'1)+j1) by A73,A77,A78,FINSEQ_4:24;
A80:1<=1+j1 by NAT_1:29;
j1+1+(i1-'1)<=len f-'(i1-'1)+(i1-'1) by A74,AXIOMS:24;
then j1+1+(i1-'1)<=len f by A46,AMI_5:4;
then (f/^(i1-'1)).(j1+1)=f.((i1-'1)+(j1+1)) by A80,JORDAN3:23;
then A81:(f/^(i1-'1)).(j1+1)=f.((i1-'1)+j1+1) by XCMPLX_1:1;
1<=1+j1 by NAT_1:29;
then A82:(f/^(i1-'1))/.(j1+1)=(f/^(i1-'1)).(j1+1) by A69,FINSEQ_4:24;
1<=1+((i1-'1)+j1) by NAT_1:29;
then A83:LSeg(f/^(i1-'1),j1)=LSeg(f,(i1-'1)+j1)
by A72,A75,A76,A79,A81,A82,FINSEQ_4:24;
A84:1<=j2+1 & j2+1<=len (f|i2) by A71,NAT_1:29;
A85:len (f|i2)<=len f by FINSEQ_5:18;
then A86: j2+1<=len f by A71,AXIOMS:22;
A87:j2<len (f|i2) by A71,NAT_1:38;
then A88:j2<len f by A85,AXIOMS:22;
A89:(f|i2)/.j2=(f|i2).j2 by A71,A87,FINSEQ_4:24
.= f.j2 by A58,A87,JORDAN3:20
.= f/.j2 by A71,A88,FINSEQ_4:24;
A90:(f|i2)/.(j2+1)=(f|i2).(j2+1) by A84,FINSEQ_4:24
.=f.(j2+1) by A58,A71,JORDAN3:20
.=f/.(j2+1) by A84,A86,FINSEQ_4:24;
A91:LSeg(f|i2,j2)=LSeg((f|i2)/.j2,
(f|i2)/.(j2+1)) by A71,TOPREAL1:def 5;
1<=j2 & j2+1<=len f by A71,A85,AXIOMS:22;
then A92:LSeg(f|i2,j2)=LSeg(f,j2) by A89,A90,A91,TOPREAL1:def 5;
A93: now assume A94: not (j2=1 & i1-'1+j1=len f-'1);
len (f/^(i1-'1))=len f-(i1-'1) by A10,A38,SCMFSA_7:3;
then j1+1+(i1-'1) <= len f-(i1-'1)+(i1-'1) by A69,AXIOMS:24;
then j1+1+(i1-'1) <= len f by XCMPLX_1:27;
then A95:(i1-'1)+j1+1 <= len f by XCMPLX_1:1;
then (i1-'1)+j1+1-1 <= len f-1 by REAL_1:49;
then A96: (i1-'1)+j1 <= len f-'1 by A5,XCMPLX_1:26;
A97:j2+1<i2+1 by A58,A71,NAT_1:38;
A98:i2+1<=i1 by A1,NAT_1:38;
i1-'1+1=i1 by A3,AMI_5:4;
then A99:j2+1<i1-'1+1 by A97,A98,AXIOMS:22;
i1-'1+1<=i1-'1+j1 by A69,AXIOMS:24;
then A100:j2+1<(i1-'1)+j1 & (i1-'1)+j1<len f by A95,A99,AXIOMS:22,NAT_1
:38;
now per cases by A71,A94,A96,REAL_1:def 5;
case j2>1;
then LSeg(f,(i1-'1)+j1) misses LSeg(f,j2) by A100,GOBOARD5:def 4;
hence LSeg(f,(i1-'1)+j1) /\ LSeg(f,j2)={} by XBOOLE_0:def 7;
case (i1-'1)+j1 < len f-'1;
then (i1-'1)+j1+1 < len f-'1+1 by REAL_1:53;
then LSeg(f,(i1-'1)+j1) misses LSeg(f,j2) by A7,A100,GOBOARD5:def 4;
hence LSeg(f,(i1-'1)+j1) /\ LSeg(f,j2)={} by XBOOLE_0:def 7;
end;
hence contradiction by A68,A69,A70,A71,A83,A92,XBOOLE_0:def 3;
end;
then A101:j1=len f-'1-(i1-'1) by XCMPLX_1:26
.=len f-'1-'(i1-'1) by A48,SCMFSA_7:3;
A102: len f-'1-(i1-'1)+(i1-'1)<=len f by A16,XCMPLX_1:27;
then A103:len f-'1-'(i1-'1)+(i1-'1)<=len f by A48,SCMFSA_7:3;
i1+1-1<=len f-1 by A3,REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then i1-(i1-1)<=len f-1-(i1-1) by REAL_1:49;
then A104: 1<=len f-1-(i1-1) by XCMPLX_1:18;
then A105:1<=len f-'1-'(i1-'1) by A5,A6,JORDAN3:1;
A106:1<=len f-'1-'(i1-'1) & len f-'1-'(i1-'1)+(i1-'1)<=len f
by A5,A6,A102,A104,JORDAN3:1;
A107:len f-'1-(i1-'1)<len f-(i1-'1) by A16,REAL_1:54;
len (f/^(i1-'1))=len f-(i1-'1) by A10,A38,SCMFSA_7:3;
then A108:len f-'1-'(i1-'1)<len (f/^(i1-'1))
by A48,A107,SCMFSA_7:3;
then A109:(f/^(i1-'1))/.(len f-'1-'(i1-'1))=(f/^(i1-'1)).(len f-'1-'(i1
-'1))
by A105,FINSEQ_4:24
.=f.(len f-'1-'(i1-'1)+(i1-'1)) by A103,A105,JORDAN3:23
.=f.(len f-'1-(i1-'1)+(i1-'1)) by A48,SCMFSA_7:3
.=f.(len f-'1) by XCMPLX_1:27
.=f/.(len f-'1) by A14,A16,FINSEQ_4:24;
A110: len f-'1-'(i1-'1)+1+(i1-'1)=
len f-'1-(i1-'1)+1+(i1-'1) by A48,SCMFSA_7:3
.=len f-'1+1 by XCMPLX_1:227 .=len f-1+1 by A4,SCMFSA_7:3
.=len f by XCMPLX_1:27;
A111:1<len f-'1-'(i1-'1)+1 by A105,NAT_1:38;
A112:len f-'1-'(i1-'1)+1<=len (f/^(i1-'1)) by A108,NAT_1:38;
then A113:(f/^(i1-'1))/.(len f-'1-'(i1-'1)+1)
=(f/^(i1-'1)).(len f-'1-'(i1-'1)+1) by A111,FINSEQ_4:24
.=f.(len f-'1-'(i1-'1)+1+(i1-'1)) by A110,A111,JORDAN3:23
.=f.(1+((len f-'1-'(i1-'1))+(i1-'1))) by XCMPLX_1:1
.=f.(len f-'1-(i1-'1)+(i1-'1)+1) by A48,SCMFSA_7:3
.=f.(len f-'1+1) by XCMPLX_1:27
.=f.len f by A4,AMI_5:4
.=f/.len f by A4,FINSEQ_4:24;
A114:LSeg(f/^(i1-'1),j1)
=LSeg((f/^(i1-'1))/.(len f-'1-'(i1-'1)),
(f/^(i1-'1))/.(len f-'1-'(i1-'1)+1)) by A101,A106,A112,TOPREAL1:def 5
.=LSeg(f,len f-'1) by A7,A14,A109,A113,TOPREAL1:def 5;
LSeg((f|i2),j2) = LSeg(f,1) by A60,A93,SPPOL_2:3;
then LSeg((f/^(i1-'1)),j1) /\ LSeg((f|i2),j2) ={f.1} by A114,Th54;
hence x in {f.1} by A68,A69,A70,A71,XBOOLE_0:def 3;
end;
hence thesis by A66,XBOOLE_0:def 10;
end;
then L~(f/^(i1-'1)) /\ L~mid(f,1,i2) ={f.1} by A3,A35,A36,JORDAN3:25;
then A115:L~f1 /\ L~mid(f,1,i2)={mid(f,1,i2).1} by A9,A19,JORDAN3:26;
mid(f,1,i2) is_S-Seq by A3,A37,Th51;
hence mid(f1,1,len f1-'1)^mid(f,1,i2) is_S-Seq
by A17,A22,A115,JORDAN3:80;
case i2=1;
then A116: mid(f,1,i2)=f|1 by JORDAN3:25
.=<*f/.1*> by FINSEQ_5:23;
A117:<*f/.1*>=<*f1/.len f1*> by A18,A20,A21,A24,FINSEQ_4:24;
A118:mid(f1,1,len f1-'1)=f1|(len f1-'1) by A26,JORDAN3:25;
len f1-'1+1=len f1 by A23,BINARITH:39;
hence mid(f1,1,len f1-'1)^mid(f,1,i2) is_S-Seq
by A17,A116,A117,A118,FINSEQ_5:24;
end;
then A119: g is_S-Seq by A1,A34,Th38;
A120:i1<len f by A3,NAT_1:38;
len mid(f,i1,len f-'1)=len f-'1-'i1+1 by A3,A9,A14,A15,A16,JORDAN3:27;
then 1<=len mid(f,i1,len f-'1) by NAT_1:29;
then 1 in Seg len mid(f,i1,len f-'1) by FINSEQ_1:3;
then 1 in dom mid(f,i1,len f-'1) by FINSEQ_1:def 3;
then g.1=mid(f,i1,len f-'1).1 by A2,FINSEQ_1:def 7;
then A121:g.1=f.i1 by A3,A9,A14,A16,JORDAN3:27;
A122:g/.len g=g.len g by A3,FINSEQ_4:24;
f/.i1=f.i1 by A3,A120,FINSEQ_4:24;
then f/.i1=g/.1 & f/.i2=g/.len g by A3,A11,A121,A122,FINSEQ_4:24;
hence thesis by A119,TOPREAL4:def 1;
end;
theorem for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part<_of f,i1,i2 & i1>i2 holds
L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part<_of f,i1,i2 & i1>i2;
then Rev g is_a_part>_of f,i2,i1 by Th42;
then A2:L~Rev g is_S-P_arc_joining f/.i2,f/.i1 by A1,Th56;
reconsider p2=f/.i2,p1=f/.i1 as Point of TOP-REAL 2;
reconsider P=L~g as Subset of TOP-REAL 2;
P is_S-P_arc_joining p2,p1 by A2,SPPOL_2:22;
hence thesis by SPPOL_2:53;
end;
theorem Th58:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part>_of f,i1,i2 & i1<>i2 holds
L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part>_of f,i1,i2 & i1<>i2;
now per cases;
case i1<i2;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by A1,Th56;
case i1>=i2;
then i1>i2 by A1,REAL_1:def 5;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by A1,Lm1;
end;
hence L~g is_S-P_arc_joining f/.i1,f/.i2;
end;
theorem Th59:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat st
g is_a_part<_of f,i1,i2 & i1<>i2 holds
L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part<_of f,i1,i2 & i1<>i2;
now per cases;
case A2:i1>i2;
Rev g is_a_part>_of f,i2,i1 by A1,Th42;
then A3:L~Rev g is_S-P_arc_joining f/.i2,f/.i1 by A2,Th56;
reconsider p2=f/.i2,p1=f/.i1 as Point of TOP-REAL 2;
reconsider P=L~g as Subset of TOP-REAL 2;
P is_S-P_arc_joining p2,p1 by A3,SPPOL_2:22;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by SPPOL_2:53;
case i1<=i2;
then A4:i1<i2 by A1,REAL_1:def 5;
Rev g is_a_part>_of f,i2,i1 by A1,Th42;
then A5:L~(Rev g) is_S-P_arc_joining f/.i2,f/.i1 by A4,Lm1;
reconsider p2=f/.i2,p1=f/.i1 as Point of TOP-REAL 2;
reconsider P=L~g as Subset of TOP-REAL 2;
P is_S-P_arc_joining p2,p1 by A5,SPPOL_2:22;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by SPPOL_2:53;
end;
hence thesis;
end;
theorem Th60:for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat
st g is_a_part_of f,i1,i2 & i1<>i2
holds L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part_of f,i1,i2 & i1<>i2;
now per cases by A1,Def4;
case g is_a_part>_of f,i1,i2;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by A1,Th58;
case g is_a_part<_of f,i1,i2;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by A1,Th59;
end;
hence thesis;
end;
theorem for f being non constant standard special_circular_sequence,
g being FinSequence of TOP-REAL 2,i1,i2 being Nat
st g is_a_part_of f,i1,i2 & g.1<>g.len g
holds L~g is_S-P_arc_joining f/.i1,f/.i2
proof let f be non constant standard special_circular_sequence,
g be FinSequence of TOP-REAL 2,i1,i2 be Nat;
assume A1:g is_a_part_of f,i1,i2 & g.1<>g.len g;
now per cases by A1,Def4;
case A2: g is_a_part>_of f,i1,i2;
then A3:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop((i1+i)-'1,f))
by Def2;
then A4:1<len f by AXIOMS:22;
i1+1-1<=len f-1 by A3,REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then A5:i1<=len f-'1 by A4,SCMFSA_7:3;
now assume A6: i1=i2;
g.1=f.S_Drop((i1+1)-'1,f) by A3 .=f.S_Drop(i1,f) by BINARITH:39
.=f.i1 by A3,A5,Th34;
hence contradiction by A1,A2,A6,Def2;
end;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by A1,Th60;
case A7: g is_a_part<_of f,i1,i2;
then A8:1<=i1 & i1+1<=len f &
1<=i2 & i2+1<=len f & g.len g=f.i2 & 1<=len g & len g<len f &
(for i being Nat st 1<=i & i<=len g holds g.i=f.S_Drop(len f +i1-'i,f))
by Def3;
then A9:1<len f by AXIOMS:22;
i1+1-1<=len f-1 by A8,REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then A10:i1<=len f-'1 by A9,SCMFSA_7:3;
now assume A11: i1=i2;
g.1=f.S_Drop(len f+i1-'1,f) by A8
.=f.S_Drop(len f-'1+1+i1-'1,f) by A9,AMI_5:4
.=f.S_Drop(len f-'1+i1+1-'1,f) by XCMPLX_1:1
.=f.S_Drop(len f-'1+i1,f) by BINARITH:39
.=f.S_Drop(i1,f) by Th35
.=f.i1 by A8,A10,Th34;
hence contradiction by A1,A7,A11,Def3;
end;
hence L~g is_S-P_arc_joining f/.i1,f/.i2 by A1,Th60;
end;
hence thesis;
end;
theorem Th62:for f being non constant standard special_circular_sequence,
i1,i2 being Nat st
1<=i1 & i1+1<=len f & 1<=i2 & i2+1<=len f & i1<>i2 holds
ex g1,g2 being FinSequence of TOP-REAL 2 st
g1 is_a_part_of f,i1,i2 & g2 is_a_part_of f,i1,i2
& (L~g1)/\(L~g2)={f.i1,f.i2} & (L~g1) \/ (L~g2)=L~f &
L~g1 is_S-P_arc_joining f/.i1,f/.i2 &
L~g2 is_S-P_arc_joining f/.i1,f/.i2 &
for g being FinSequence of TOP-REAL 2 st g is_a_part_of f,i1,i2 holds
g=g1 or g=g2
proof let f be non constant standard special_circular_sequence,
i1,i2 be Nat;
assume A1:1<=i1 & i1+1<=len f & 1<=i2 & i2+1<=len f & i1<>i2;
now per cases;
case A2: i1<=i2;
then A3:i1<i2 by A1,REAL_1:def 5;
A4:i2<len f by A1,NAT_1:38;
set h1=mid(f,i1,i2),h2=mid(f,i1,1)^mid(f,len f-'1,i2);
A5:mid(f,i1,i2) is_a_part>_of f,i1,i2
by A1,A2,A4,Th43;
mid(f,i1,1)^mid(f,len f-'1,i2)
is_a_part<_of f,i1,i2 by A1,A3,A4,Th46;
then A6:h1 is_a_part_of f,i1,i2 & h2 is_a_part_of f,i1,i2 by A5,Def4;
A7:(L~h1)/\(L~h2)={f.i1,f.i2} & (L~h1) \/ (L~h2)=L~f
by A1,A3,A4,Th55;
A8:L~h1 is_S-P_arc_joining f/.i1,f/.i2 by A3,A5,Th56;
A9:L~h2 is_S-P_arc_joining f/.i1,f/.i2 by A1,A6,Th60;
for g being FinSequence of TOP-REAL 2 st g is_a_part_of f,i1,i2 holds
g=h1 or g=h2
proof let g be FinSequence of TOP-REAL 2;
assume A10: g is_a_part_of f,i1,i2;
now per cases by A10,Def4;
case g is_a_part>_of f,i1,i2;
hence g=h1 or g=h2 by A2,Th37;
case g is_a_part<_of f,i1,i2;
hence g=h1 or g=h2 by A3,Th40;
end;
hence g=h1 or g=h2;
end;
hence
ex g1,g2 being FinSequence of TOP-REAL 2 st
g1 is_a_part_of f,i1,i2 & g2 is_a_part_of f,i1,i2
& (L~g1)/\(L~g2)={f.i1,f.i2} & (L~g1) \/ (L~g2)=L~f &
L~g1 is_S-P_arc_joining f/.i1,f/.i2 &
L~g2 is_S-P_arc_joining f/.i1,f/.i2 &
for g being FinSequence of TOP-REAL 2 st g is_a_part_of f,i1,i2 holds
g=g1 or g=g2 by A6,A7,A8,A9;
case A11:i1>i2;
A12:i1<len f by A1,NAT_1:38;
set h1=mid(f,i2,i1),h2=mid(f,i2,1)^mid(f,len f-'1,i1);
set h3=Rev h1,h4=Rev h2;
A13:(L~h1)/\(L~h2)={f.i2,f.i1} & (L~h1) \/ (L~h2)=L~f by A1,A11,A12,Th55;
A14:L~h1=L~h3 by SPPOL_2:22;
mid(f,i2,i1) is_a_part>_of f,i2,i1 by A1,A11,A12,Th43;
then A15:Rev mid(f,i2,i1) is_a_part<_of f,i1,i2 by Th41;
mid(f,i2,1)^mid(f,len f-'1,i1)
is_a_part<_of f,i2,i1 by A1,A11,A12,Th46;
then Rev (mid(f,i2,1)^mid(f,len f-'1,i1))
is_a_part>_of f,i1,i2 by Th42;
then A16:h3 is_a_part_of f,i1,i2 & h4 is_a_part_of f,i1,i2 by A15,Def4;
A17:(L~h3)/\(L~h4)={f.i1,f.i2} & (L~h3) \/
(L~h4)=L~f by A13,A14,SPPOL_2:22;
A18:L~h3 is_S-P_arc_joining f/.i1,f/.i2 by A11,A15,Th59;
A19:L~h4 is_S-P_arc_joining f/.i1,f/.i2 by A1,A16,Th60;
for g being FinSequence of TOP-REAL 2 st g is_a_part_of f,i1,i2 holds
g=h3 or g=h4
proof let g be FinSequence of TOP-REAL 2;
assume A20: g is_a_part_of f,i1,i2;
now per cases by A20,Def4;
case g is_a_part>_of f,i1,i2;
then Rev g is_a_part<_of f,i2,i1 by Th41;
then Rev g= mid(f,i2,1)^mid(f,len f-'1,i1) by A11,Th40;
hence g=h3 or g=h4 by FINSEQ_6:29;
case g is_a_part<_of f,i1,i2;
then Rev g is_a_part>_of f,i2,i1 by Th42;
then Rev g= mid(f,i2,i1) by A11,Th37;
hence g=h3 or g=h4 by FINSEQ_6:29;
end;
hence g=h3 or g=h4;
end;
hence
ex g1,g2 being FinSequence of TOP-REAL 2 st
g1 is_a_part_of f,i1,i2 & g2 is_a_part_of f,i1,i2
& (L~g1)/\(L~g2)={f.i1,f.i2} & (L~g1) \/ (L~g2)=L~f &
L~g1 is_S-P_arc_joining f/.i1,f/.i2 &
L~g2 is_S-P_arc_joining f/.i1,f/.i2 &
for g being FinSequence of TOP-REAL 2 st g is_a_part_of f,i1,i2 holds
g=g1 or g=g2 by A16,A17,A18,A19;
end;
hence thesis;
end;
reserve g, g1, g2 for FinSequence of TOP-REAL 2;
theorem
for f being non constant standard special_circular_sequence,
P being non empty Subset of TOP-REAL 2 st P = L~f
holds P is_simple_closed_curve
proof let f be non constant standard special_circular_sequence,
P be non empty Subset of TOP-REAL 2 such that
A1: P = L~f;
len f>4 by GOBOARD7:36;
then A2:1<=1 & 1<=1+1 & 1<=len f & 1+1<len f & 1+1+1<=len f & 1<>1+1
by AXIOMS:22;
set i1=1,i2=1+1;
consider g1,g2 being FinSequence of TOP-REAL 2 such that
A3:g1 is_a_part_of f,i1,i2 & g2 is_a_part_of f,i1,i2
& (L~g1)/\(L~g2)={f.i1,f.i2} & (L~g1) \/ (L~g2)=L~f &
L~g1 is_S-P_arc_joining f/.i1,f/.i2 &
L~g2 is_S-P_arc_joining f/.i1,f/.i2 &
for g being FinSequence of TOP-REAL 2 st g is_a_part_of f,i1,i2 holds
g=g1 or g=g2 by A2,Th62;
reconsider L1 = L~g1, L2 = L~g2 as
non empty Subset of TOP-REAL 2 by A3,TARSKI:def 2;
A4:L1 is_an_arc_of f/.i1,f/.i2 by A3,TOPREAL4:3;
A5:L2 is_an_arc_of f/.i1,f/.i2 by A3,TOPREAL4:3;
A6:f.i1=f/.i1 by A2,FINSEQ_4:24;
A7:f.i2=f/.i2 by A2,FINSEQ_4:24;
A8:f/.i1<>f/.i2 by A2,GOBOARD7:38;
f/.i1 in (L~g1)/\(L~g2) by A3,A6,TARSKI:def 2;
then f/.i1 in (L~g1) by XBOOLE_0:def 3;
then A9:f/.i1 in P by A1,A3,XBOOLE_0:def 2;
f/.i2 in (L~g1)/\(L~g2) by A3,A7,TARSKI:def 2;
then f/.i2 in (L~g2) by XBOOLE_0:def 3;
then f/.i2 in P by A1,A3,XBOOLE_0:def 2;
hence thesis by A1,A3,A4,A5,A6,A7,A8,A9,TOPREAL2:6;
end;
theorem Th64: for f being non constant standard special_circular_sequence,
g1,g2 st g1 is_a_part>_of f,i1,i2 & g2 is_a_part>_of f,i1,i2
holds g1=g2
proof let f be non constant standard special_circular_sequence,
g1,g2;assume A1:g1 is_a_part>_of f,i1,i2 & g2 is_a_part>_of f,i1,i2;
now per cases;
case A2:i1<=i2;
then g1=mid(f,i1,i2) by A1,Th37;
hence g1=g2 by A1,A2,Th37;
case A3:i1>i2;
then g1=mid(f,i1,len f-'1)^mid(f,1,i2) by A1,Th38;
hence g1=g2 by A1,A3,Th38;
end;
hence g1=g2;
end;
theorem Th65:for f being non constant standard special_circular_sequence,
g1,g2 st g1 is_a_part<_of f,i1,i2 & g2 is_a_part<_of f,i1,i2
holds g1=g2
proof let f be non constant standard special_circular_sequence,
g1,g2;assume A1:g1 is_a_part<_of f,i1,i2 & g2 is_a_part<_of f,i1,i2;
per cases;
suppose A2:i1>=i2;
then g1=mid(f,i1,i2) by A1,Th39;
hence g1=g2 by A1,A2,Th39;
suppose A3:i1<i2;
then g1=mid(f,i1,1)^mid(f,len f-'1,i2) by A1,Th40;
hence g1=g2 by A1,A3,Th40;
end;
theorem Th66:for f being non constant standard special_circular_sequence,
g1,g2 st i1<>i2 & g1 is_a_part>_of f,i1,i2 & g2 is_a_part<_of f,i1,i2
holds g1.2<>g2.2
proof let f be non constant standard special_circular_sequence,
g1,g2;assume A1:i1<>i2 &
g1 is_a_part>_of f,i1,i2 & g2 is_a_part<_of f,i1,i2;
then A2:1<=i1 & i1+1<=len f & 1<=i2 & i2+1<=len f &
g1 is_a_part>_of f,i1,i2 & g2 is_a_part<_of f,i1,i2 by Def2;
1<=1+i1 by NAT_1:29;
then A3:1<=len f by A2,AXIOMS:22;
then A4:len f-'1=len f-1 by SCMFSA_7:3;
len f-'1<len f-'1+1 by NAT_1:38;
then A5:len f-'1<len f by A4,XCMPLX_1:27;
A6:i2<len f by A2,NAT_1:38;
A7:i1<len f by A2,NAT_1:38;
now per cases;
case A8: i1<=i2;
now per cases by A8,REAL_1:def 5;
case i1=i2;
hence contradiction by A1;
case A9:i1<i2;
then A10:g2=mid(f,i1,1)^mid(f,len f-'1,i2) by A1,Th40;
i1+1-1<=len f-1 by A2,REAL_1:49;
then i1<=len f-1 by XCMPLX_1:26;
then A11:1<=len f-'1 by A2,A4,AXIOMS:22;
A12:len mid(f,i1,1)=i1-'1+1 by A2,A7,Th21;
now per cases by A2,REAL_1:def 5;
case A13:1<i1;
then A14:1+1<=i1 by NAT_1:38;
then 1+1<=i1-1+1 by XCMPLX_1:27;
then A15:2<=len mid(f,i1,1) by A2,A12,SCMFSA_7:3;
A16:g2.2=(mid(f,i1,1)^mid(f,len f-'1,i2)).2 by A1,A9,Th40
.=mid(f,i1,1).2 by A15,SCMFSA_7:9
.=f.(i1-'2+1) by A3,A7,A13,A15,JORDAN3:27
.=f.(i1-(1+1)+1) by A14,SCMFSA_7:3
.=f.(i1-1-1+1) by XCMPLX_1:36
.=f.(i1-1) by XCMPLX_1:27
.=f.(i1-'1) by A2,SCMFSA_7:3;
i1+1<=i2 by A9,NAT_1:38;
then 1+i1-i1<=i2-i1 by REAL_1:49;
then 1<=i2-i1 by XCMPLX_1:26;
then 1<=i2-'i1 by JORDAN3:1;
then 1+1<=i2-'i1+1 by AXIOMS:24;
then A17:2<=len mid(f,i1,i2) by A2,A6,A7,A9,JORDAN3:27;
A18:g1.2=mid(f,i1,i2).2 by A1,A9,Th37
.=f.(2+i1-'1) by A2,A6,A7,A9,A17,JORDAN3:27
.=f.(1+1+i1-1) by Th2
.=f.(i1+1) by XCMPLX_1:226;
1+1<=i1 by A13,NAT_1:38;
then A19: 1+1-1<=i1-1 by REAL_1:49;
then A20:1<=i1-'1 by JORDAN3:1;
A21: now assume A22:1=i1-'1 & i1+1=len f; then 1=i1-1 by JORDAN3:1;
then len f=1+1+1 by A22,XCMPLX_1:27;
hence contradiction by GOBOARD7:36;
end;
now per cases by A21;
case A23: 1<>i1-'1;
i1-'1<i1-'1+1 by NAT_1:38;
then i1-'1<i1 by A2,AMI_5:4;
then A24:1<i1-'1 & i1-'1<i1+1 & i1+1<=len f
by A1,A20,A23,Def2,NAT_1:38,REAL_1:def 5;
then A25:f/.(i1-'1)<>f/.(i1+1) by GOBOARD7:39;
i1-'1<len f by A24,AXIOMS:22;
then A26:f.(i1-'1)=f/.(i1-'1) by A20,FINSEQ_4:24;
1<i1+1 by A2,NAT_1:38;
hence thesis by A2,A16,A18,A25,A26,FINSEQ_4:24;
case A27: i1+1<>len f;
i1-'1<i1-'1+1 by NAT_1:38;
then i1-'1<i1 by A2,AMI_5:4;
then A28:1<=i1-'1 & i1-'1<i1+1 & i1+1<len f
by A2,A19,A27,JORDAN3:1,NAT_1:38,REAL_1:def 5;
then A29:f/.(i1-'1)<>f/.(i1+1) by GOBOARD7:38;
i1-'1<len f by A28,AXIOMS:22;
then A30:f.(i1-'1)=f/.(i1-'1) by A28,FINSEQ_4:24;
1<i1+1 by A2,NAT_1:38;
hence thesis by A2,A16,A18,A29,A30,FINSEQ_4:24;
end;
hence thesis;
case A31:1=i1;
A32:len mid(f,i1,1)=i1-'1+1 by A2,A7,Th21
.=0+1 by A31,GOBOARD9:1 .=1;
A33:len g2=len f+i1-'i2 by A1,A9,Th40
.=len f+1-i2 by A6,A31,Th2;
i2+1+1<=len f+1 by A2,AXIOMS:24;
then 1+i2+1-i2<=len f+1-i2 by REAL_1:49;
then A34:1+1<=len g2 by A33,XCMPLX_1:226;
A35:len mid(f,i1,1)=i1-'1+1 by A2,A7,Th21
.=0+1 by A31,GOBOARD9:1 .=1;
A36:g2.2 =mid(f,len f-'1,i2).(2-len mid(f,i1,1))
by A10,A32,A34,JORDAN3:15
.=f.(len f-'1) by A2,A5,A6,A11,A35,JORDAN3:27;
i1+1<=i2 by A9,NAT_1:38;
then 1+i1-i1<=i2-i1 by REAL_1:49;
then 1<=i2-i1 by XCMPLX_1:26;
then 1<=i2-'i1 by JORDAN3:1;
then 1+1<=i2-'i1+1 by AXIOMS:24;
then A37:2<=len mid(f,i1,i2) by A2,A6,A7,A9,JORDAN3:27;
A38:g1.2=mid(f,i1,i2).2 by A1,A9,Th37
.=f.(2+i1-'1) by A2,A6,A7,A9,A37,JORDAN3:27
.=f.(1+1+i1-1) by Th2
.=f.(i1+1)by XCMPLX_1:226;
len f>4 by GOBOARD7:36;
then len f-1>3+1-1 by REAL_1:54;
then i1+1<len f-'1 by A4,A31,AXIOMS:22;
then A39:f/.(i1+1)<>f/.(len f-'1) by A5,A31,GOBOARD7:39;
A40:f.(len f-'1)=f/.(len f-'1) by A5,A11,FINSEQ_4:24;
1<i1+1 by A2,NAT_1:38;
hence thesis by A2,A36,A38,A39,A40,FINSEQ_4:24;
end;
hence thesis;
end;
hence thesis;
case A41:i1>i2;
then A42:g1=mid(f,i1,len f-'1)^mid(f,1,i2) by A1,Th38;
1<i1 by A2,A41,AXIOMS:22;
then A43:1+1<=i1 by NAT_1:38;
i1+1-1<=len f-1 by A2,REAL_1:49;
then A44:i1<=len f-1 by XCMPLX_1:26;
then 1<=len f-'1 by A2,A4,AXIOMS:22;
then A45:len mid(f,i1,len f-'1)=len f-'1-'i1+1 by A2,A4,A5,A7,A44,JORDAN3:
27;
i1+1-1<=len f-1 by A2,REAL_1:49;
then A46:i1<=len f-'1 by A4,XCMPLX_1:26;
A47: now per cases by A44,REAL_1:def 5;
case i1<len f-1; then i1+1<=len f-'1 by A4,NAT_1:38;
then 1+(i1+1)<=1+(len f-'1) by AXIOMS:24;
then 1+(i1+1)-i1<=1+(len f-'1)-i1 by REAL_1:49;
then 1+1+i1-i1<=1+(len f-'1)-i1 by XCMPLX_1:1;
then A48: 1+1<=1+(len f-'1)-i1 by XCMPLX_1:26;
then 1+1<=1+((len f-'1)-i1) by XCMPLX_1:29;
then A49:2<=len mid(f,i1,len f-'1) by A45,A46,SCMFSA_7:3;
thus g1.2=(mid(f,i1,len f-'1)^mid(f,1,i2)).2 by A1,A41,Th38
.=mid(f,i1,len f-'1).2 by A49,SCMFSA_7:9
.=f.(1+1+i1-1) by A2,A5,A46,A48,JORDAN3:31
.=f.(i1+1) by XCMPLX_1:226;
case A50:i1=len f-1;
then A51:len mid(f,i1,len f-'1)=len f-'1-'(len f-'1)+1
by A2,A4,A5,JORDAN3:27
.=0+1 by GOBOARD9:1 .=1;
A52:len g1=len f+i2-'(len f-'1) by A1,A4,A41,A50,Th38
.=len f-'1+1+i2-'(len f-'1) by A4,XCMPLX_1:27
.=len f-'1+(1+i2)-'(len f-'1) by XCMPLX_1:1
.=1+i2 by BINARITH:39;
A53: 1+1<=i2+1 by A2,AXIOMS:24;
A54:len mid(f,i1,len f-'1)=len f-'1-'(len f-'1)+1
by A2,A4,A5,A50,JORDAN3:27
.=0+1 by GOBOARD9:1 .=1;
thus g1.2 =mid(f,1,i2).(2-len mid(f,i1,len f-'1))
by A42,A51,A52,A53,JORDAN3:15
.=f.1 by A2,A3,A6,A54,JORDAN3:27
.=f.len f by A3,Th14
.=f.(i1+1) by A50,XCMPLX_1:27;
end;
i2+1<=i1 by A41,NAT_1:38;
then 1+i2-i2<=i1-i2 by REAL_1:49;
then 1<=i1-i2 by XCMPLX_1:26;
then 1<=i1-'i2 by JORDAN3:1;
then 1+1<=i1-'i2+1 by AXIOMS:24;
then A55:2<=len mid(f,i1,i2) by A2,A6,A7,A41,JORDAN3:27;
A56:g2.2=mid(f,i1,i2).2 by A1,A41,Th39
.=f.(i1-'2+1) by A2,A6,A7,A41,A55,JORDAN3:27
.=f.(i1-(1+1)+1) by A43,SCMFSA_7:3
.=f.(i1-1-1+1) by XCMPLX_1:36
.=f.(i1-1) by XCMPLX_1:27 .=f.(i1-'1) by A2,SCMFSA_7:3;
1<i1 by A2,A41,AXIOMS:22;
then 1+1<=i1 by NAT_1:38;
then A57:1+1-1<=i1-1 by REAL_1:49;
then A58:1<=i1-'1 by JORDAN3:1;
A59: now assume A60:1=i1-'1 & i1+1=len f; then 1=i1-1 by JORDAN3:1;
then len f=1+1+1 by A60,XCMPLX_1:27;
hence contradiction by GOBOARD7:36;
end;
now per cases by A59;
case A61: 1<>i1-'1;
i1-'1<i1-'1+1 by NAT_1:38;
then i1-'1<i1 by A2,AMI_5:4;
then A62:1<i1-'1 & i1-'1<i1+1 & i1+1<=len f
by A1,A58,A61,Def2,NAT_1:38,REAL_1:def 5;
then A63:f/.(i1-'1)<>f/.(i1+1) by GOBOARD7:39;
i1-'1<len f by A62,AXIOMS:22;
then A64:f.(i1-'1)=f/.(i1-'1) by A58,FINSEQ_4:24;
1<i1+1 by A2,NAT_1:38;
hence thesis by A2,A47,A56,A63,A64,FINSEQ_4:24;
case A65: i1+1<>len f;
i1-'1<i1-'1+1 by NAT_1:38;
then i1-'1<i1 by A2,AMI_5:4;
then A66:1<=i1-'1 & i1-'1<i1+1 & i1+1<len f
by A2,A57,A65,JORDAN3:1,NAT_1:38,REAL_1:def 5;
then A67:f/.(i1-'1)<>f/.(i1+1) by GOBOARD7:38;
i1-'1<len f by A66,AXIOMS:22;
then A68:f.(i1-'1)=f/.(i1-'1) by A66,FINSEQ_4:24;
1<i1+1 by A2,NAT_1:38;
hence thesis by A2,A47,A56,A67,A68,FINSEQ_4:24;
end;
hence thesis;
end;
hence thesis;
end;
theorem Th67:for f being non constant standard special_circular_sequence,
g1,g2 st i1<>i2 & g1 is_a_part_of f,i1,i2 & g2 is_a_part_of f,i1,i2
& g1.2=g2.2 holds g1=g2
proof let f be non constant standard special_circular_sequence,
g1,g2;assume A1:i1<>i2 & g1 is_a_part_of f,i1,i2 & g2 is_a_part_of f,i1,i2
& g1.2=g2.2;
per cases by A1,Def4;
suppose A2:g1 is_a_part>_of f,i1,i2;
now per cases by A1,Def4;
case g2 is_a_part>_of f,i1,i2;
hence g1=g2 by A2,Th64;
case g2 is_a_part<_of f,i1,i2;
hence contradiction by A1,A2,Th66;
end;
hence g1=g2;
suppose A3:g1 is_a_part<_of f,i1,i2;
now per cases by A1,Def4;
case g2 is_a_part>_of f,i1,i2;
hence contradiction by A1,A3,Th66;
case g2 is_a_part<_of f,i1,i2;
hence g1=g2 by A3,Th65;
end;
hence g1=g2;
end;
definition let f be non constant standard special_circular_sequence,
i1,i2 be Nat;
assume A1:1<=i1 & i1+1<=len f & 1<=i2 & i2+1<=len f & i1<>i2;
func Lower (f,i1,i2) -> FinSequence of TOP-REAL 2 means
it is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2 implies it.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies it.2=f.S_Drop(i1-'1,f));
correctness
proof
A2:i1<len f by A1,NAT_1:38;
then A3:1<len f by A1,AXIOMS:22;
then 1+1<=len f by NAT_1:38;
then 1+1-1<=len f-1 by REAL_1:49;
then A4:1<=len f-'1 by JORDAN3:1;
A5:i2<len f by A1,NAT_1:38;
A6:i1-'1=i1-1 by A1,SCMFSA_7:3;
A7:len f-'1=len f-1 by A3,SCMFSA_7:3;
i2+1-1<=len f-1 by A1,REAL_1:49;
then A8:i2<=len f-'1 by A7,XCMPLX_1:26;
i1+1-1<=len f-1 by A1,REAL_1:49;
then A9:i1<=len f-'1 by A7,XCMPLX_1:26;
len f<len f+1 by NAT_1:38;
then len f-1<len f+1-1 by REAL_1:54;
then A10:len f-'1<len f by A7,XCMPLX_1:26;
now per cases;
case A11: i1<=i2;
then A12:i1<i2 by A1,REAL_1:def 5;
now per cases;
case A13:(f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2;
set g=mid(f,i1,i2);
A14: g is_a_part>_of f,i1,i2 by A1,A5,A11,Th43;
A15:len mid(f,i1,i2)=i2-'i1+1 by A1,A2,A5,A11,JORDAN3:27;
i1+1<=i2 by A12,NAT_1:38;
then (1+i1)+1<=i2+1 by AXIOMS:24;
then 1+1+i1<=i2+1 by XCMPLX_1:1;
then 2+i1-i1<=i2+1-i1 by REAL_1:49;
then 2+i1-i1<=i2-i1+1 by XCMPLX_1:29;
then 2<=i2-i1+1 by XCMPLX_1:26;
then 1<2 & 2<=len mid(f,i1,i2) by A11,A15,SCMFSA_7:3;
then g.2=f.(2+i1-'1)
by A1,A2,A5,A11,JORDAN3:27
.=f.(i1+(1+1)-1) by Th2
.=f.(i1+1+1-1) by XCMPLX_1:1 .=f.(i1+1) by XCMPLX_1:26;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A13,A14,Def4;
case A16:(f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2;
set g=mid(f,i1,1)^mid(f,len f-'1,i2);
A17: g is_a_part<_of f,i1,i2 by A1,A5,A12,Th46;
A18:len mid(f,i1,1)=i1-'1+1 by A1,A2,Th21;
now per cases;
case A19:1<i1;
then A20:1+1<=i1 by NAT_1:38;
then A21:f.(i1-'(1+1)+1)=f.(i1-(1+1)+1) by SCMFSA_7:3
.=f.(i1-1-1+1) by XCMPLX_1:36
.=f.(i1-1) by XCMPLX_1:27 .=f.(i1-'1) by A1,SCMFSA_7:3;
1+1<=i1-1+1 by A20,XCMPLX_1:27;
then A22:2<=len mid(f,i1,1) by A1,A18,SCMFSA_7:3;
1<2 & 2<=len mid(f,i1,1) by A6,A18,A20,XCMPLX_1:27;
then A23:g.2 =mid(f,i1,1).2 by SCMFSA_7:9
.=f.(i1-'(1+1)+1) by A2,A3,A19,A22,JORDAN3:27;
1+1-1<=i1-1 by A20,REAL_1:49;
then 1<=i1-'1 & i1-'1<=len f-'1 by A2,A6,A7,REAL_1:54;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A16,A17,A21,A23,Def4,Th34;
case A24: 1>=i1;
then i1=1 by A1,AXIOMS:21;
then A25:i1-'1=0 by GOBOARD9:1;
A26:len mid(f,i1,1)=len mid(f,1,1) by A1,A24,AXIOMS:21
.=1 by A3,Th27;
A27:len mid(f,len f-'1,i2)=len f-'1-'i2+1 by A1,A8,A10,Th21
.=len f-1-i2+1 by A7,A8,SCMFSA_7:3
.=len f-i2 by XCMPLX_1:229;
len f-i2>=i2+1-i2 by A1,REAL_1:49;
then len f-i2>=1 by XCMPLX_1:26;
then A28: 1+1<=len mid(f,i1,1)+len mid(f,len f-'1,i2)
by A26,A27,AXIOMS:24;
A29:1<=len f-'1-'i2+1 by NAT_1:29;
A30:g.2 =mid(f,len f-'1,i2).(2-len mid(f,i1,1)) by A26,A28,JORDAN3:15
.=mid(f,len f-'1,i2).(2-(i1-'1+1)) by A1,A2,Th21
.=mid(f,len f-'1,i2).(1+1-(1-'1+1)) by A1,A24,AXIOMS:21
.=mid(f,len f-'1,i2).(1+1-(0+1)) by GOBOARD9:1
.=f.(len f-'1-'1+1) by A1,A8,A10,A29,Th24
.=f.(len f-'1) by A4,AMI_5:4;
S_Drop(i1-'1,f)=S_Drop(i1-'1+(len f-'1),f) by Th35
.=len f-'1 by A4,A25,Th34;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A16,A17,A30,Def4;
end;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
end;
hence ex g st g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
case A31:i1>i2; then i1>1 by A1,AXIOMS:22;
then A32:1+1<=i1 by NAT_1:38; then A33: 1+1-1<=i1-1 by REAL_1:49;
now per cases;
case A34:(f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2;
set g=mid(f,i1,i2);
A35: g is_a_part<_of f,i1,i2 by A1,A2,A31,Th44;
A36:len mid(f,i1,i2)=i1-'i2+1 by A1,A2,A5,A31,JORDAN3:27;
i2+1<=i1 by A31,NAT_1:38;
then (1+i2)+1<=i1+1 by AXIOMS:24;
then 1+1+i2<=i1+1 by XCMPLX_1:1;
then 2+i2-i2<=i1+1-i2 by REAL_1:49;
then 2+i2-i2<=i1-i2+1 by XCMPLX_1:29;
then 2<=i1-i2+1 by XCMPLX_1:26;
then 1<2 & 2<=len mid(f,i1,i2) by A31,A36,SCMFSA_7:3;
then A37:g.2=f.(i1-'2+1) by A1,A2,A5,A31,JORDAN3:27
.=f.(i1-(1+1)+1) by A32,SCMFSA_7:3
.=f.(i1-1-1+1) by XCMPLX_1:36
.=f.(i1-1) by XCMPLX_1:229 .=f.(i1-'1) by A1,SCMFSA_7:3;
i1-1<len f-1 by A2,REAL_1:54;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f))
by A6,A7,A33,A34,A35,A37,Def4,Th34;
case A38:(f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2;
set g=mid(f,i1,len f-'1)^mid(f,1,i2);
A39: g is_a_part>_of f,i1,i2 by A1,A2,A31,Th45;
A40:len mid(f,i1,len f-'1)=len f-'1-'i1+1
by A1,A2,A4,A9,A10,JORDAN3:27
.=len f-'1-i1+1 by A9,SCMFSA_7:3
.=len f-1-i1+1 by A3,SCMFSA_7:3
.=len f-i1 by XCMPLX_1:229;
now per cases;
case i1+1<len f;
then i1+1+1<=len f by NAT_1:38;
then i1+(1+1)<=len f by XCMPLX_1:1;
then i1+2-i1<=len f-i1 by REAL_1:49;
then A41:1<2 & 2<=len mid(f,i1,len f-'1) by A40,XCMPLX_1:26;
then g.2 =mid(f,i1,len f-'1).2 by SCMFSA_7:9
.=f.(2+i1-'1) by A1,A2,A4,A9,A10,A41,JORDAN3:27
.=f.(1+1+i1-1) by Th2
.=f.(i1+1) by XCMPLX_1:226;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A38,A39,Def4;
case A42: i1+1>=len f;
then i1+1=len f by A1,AXIOMS:21;
then A43:len mid(f,i1,len f-'1)=len mid(f,len f-'1,len f-'1)
by A7,XCMPLX_1:26
.=1 by A4,A10,Th27;
len mid(f,1,i2)=i2-'1+1 by A1,A3,A5,JORDAN3:27
.=i2-1+1 by A1,SCMFSA_7:3 .=i2 by XCMPLX_1:27;
then 1+1<=len mid(f,i1,len f-'1)+len mid(f,1,i2)
by A1,A43,AXIOMS:24;
then g.2 =mid(f,1,i2).(2-len mid(f,i1,len f-'1)) by A43,JORDAN3:15
.=mid(f,1,i2).(2-(i1+1-i1)) by A1,A40,A42,AXIOMS:21
.=mid(f,1,i2).(1+1-(1)) by XCMPLX_1:26
.=f.1 by A1,A3,A5,JORDAN3:27 .=f/.1 by A3,FINSEQ_4:24
.=f/.len f by FINSEQ_6:def 1
.=f.len f by A3,FINSEQ_4:24;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f))
by A1,A38,A39,A42,Def4,AXIOMS:21;
end;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
end;
hence ex g st g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
end;
hence ex g st g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1<(f/.i1)`1 or (f/.(i1+1))`2<(f/.i1)`2 implies g.2=f.(i1+1))&
((f/.(i1+1))`1>=(f/.i1)`1 & (f/.(i1+1))`2>=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
thus thesis by A1,Th67;
end;
func Upper (f,i1,i2) -> FinSequence of TOP-REAL 2 means
it is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2 implies it.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies it.2=f.S_Drop(i1-'1,f));
correctness
proof
A44:i1<len f by A1,NAT_1:38;
then A45:1<len f by A1,AXIOMS:22;
then 1+1<=len f by NAT_1:38;
then 1+1-1<=len f-1 by REAL_1:49;
then A46:1<=len f-'1 by JORDAN3:1;
A47:i2<len f by A1,NAT_1:38;
A48:i1-'1=i1-1 by A1,SCMFSA_7:3;
A49:len f-'1=len f-1 by A45,SCMFSA_7:3;
i2+1-1<=len f-1 by A1,REAL_1:49;
then A50:i2<=len f-'1 by A49,XCMPLX_1:26;
i1+1-1<=len f-1 by A1,REAL_1:49;
then A51:i1<=len f-'1 by A49,XCMPLX_1:26;
len f<len f+1 by NAT_1:38;
then len f-1<len f+1-1 by REAL_1:54;
then A52:len f-'1<len f by A49,XCMPLX_1:26;
now per cases;
case A53: i1<=i2;
then A54:i1<i2 by A1,REAL_1:def 5;
now per cases;
case A55:(f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2;
set g=mid(f,i1,i2);
A56: g is_a_part>_of f,i1,i2 by A1,A47,A53,Th43;
A57:len mid(f,i1,i2)=i2-'i1+1 by A1,A44,A47,A53,JORDAN3:27;
i1+1<=i2 by A54,NAT_1:38;
then (1+i1)+1<=i2+1 by AXIOMS:24;
then 1+1+i1<=i2+1 by XCMPLX_1:1;
then 2+i1-i1<=i2+1-i1 by REAL_1:49;
then 2+i1-i1<=i2-i1+1 by XCMPLX_1:29;
then 2<=i2-i1+1 by XCMPLX_1:26;
then 1<2 & 2<=len mid(f,i1,i2) by A53,A57,SCMFSA_7:3;
then g.2=f.(2+i1-'1)
by A1,A44,A47,A53,JORDAN3:27
.=f.(i1+(1+1)-1) by Th2
.=f.(i1+1+1-1) by XCMPLX_1:1 .=f.(i1+1) by XCMPLX_1:26;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A55,A56,Def4;
case A58:(f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2;
set g=mid(f,i1,1)^mid(f,len f-'1,i2);
A59: g is_a_part<_of f,i1,i2 by A1,A47,A54,Th46;
A60:len mid(f,i1,1)=i1-'1+1 by A1,A44,Th21;
now per cases;
case A61:1<i1;
then A62:1+1<=i1 by NAT_1:38;
then A63:f.(i1-'(1+1)+1)=f.(i1-(1+1)+1) by SCMFSA_7:3
.=f.(i1-1-1+1) by XCMPLX_1:36
.=f.(i1-1) by XCMPLX_1:27 .=f.(i1-'1) by A1,SCMFSA_7:3;
1+1<=i1-1+1 by A62,XCMPLX_1:27;
then A64:2<=len mid(f,i1,1) by A1,A60,SCMFSA_7:3;
1<2 & 2<=len mid(f,i1,1) by A48,A60,A62,XCMPLX_1:27;
then A65:g.2 =mid(f,i1,1).2 by SCMFSA_7:9
.=f.(i1-'(1+1)+1) by A44,A45,A61,A64,JORDAN3:27;
1+1-1<=i1-1 by A62,REAL_1:49;
then 1<=i1-'1 & i1-'1<=len f-'1 by A44,A48,A49,REAL_1:54;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A58,A59,A63,A65,Def4,Th34;
case A66: 1>=i1;
then i1=1 by A1,AXIOMS:21;
then A67:i1-'1=0 by GOBOARD9:1;
A68:len mid(f,i1,1)=len mid(f,1,1) by A1,A66,AXIOMS:21
.=1 by A45,Th27;
A69:len mid(f,len f-'1,i2)=len f-'1-'i2+1 by A1,A50,A52,Th21
.=len f-1-i2+1 by A49,A50,SCMFSA_7:3
.=len f-i2 by XCMPLX_1:229;
len f-i2>=i2+1-i2 by A1,REAL_1:49;
then len f-i2>=1 by XCMPLX_1:26;
then A70: 1+1<=len mid(f,i1,1)+len mid(f,len f-'1,i2)
by A68,A69,AXIOMS:24;
i2+1-1<=len f-1 by A1,REAL_1:49;
then A71:i2<=len f-'1 by A49,XCMPLX_1:26;
A72:1<=len f-'1-'i2+1 by NAT_1:29;
A73:g.2 =mid(f,len f-'1,i2).(2-len mid(f,i1,1)) by A68,A70,JORDAN3:15
.=mid(f,len f-'1,i2).(2-(i1-'1+1)) by A1,A44,Th21
.=mid(f,len f-'1,i2).(1+1-(1-'1+1)) by A1,A66,AXIOMS:21
.=mid(f,len f-'1,i2).(1+1-(0+1)) by GOBOARD9:1
.=f.(len f-'1-'1+1) by A1,A52,A71,A72,Th24
.=f.(len f-'1) by A46,AMI_5:4;
S_Drop(i1-'1,f)=S_Drop(i1-'1+(len f-'1),f) by Th35
.=len f-'1 by A46,A67,Th34;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A58,A59,A73,Def4;
end;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
end;
hence ex g st g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
case A74:i1>i2; then i1>1 by A1,AXIOMS:22;
then A75:1+1<=i1 by NAT_1:38;
then A76: 1+1-1<=i1-1 by REAL_1:49;
now per cases;
case A77:(f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2;
set g=mid(f,i1,i2);
A78: g is_a_part<_of f,i1,i2 by A1,A44,A74,Th44;
A79:len mid(f,i1,i2)=i1-'i2+1 by A1,A44,A47,A74,JORDAN3:27;
i2+1<=i1 by A74,NAT_1:38;
then (1+i2)+1<=i1+1 by AXIOMS:24;
then 1+1+i2<=i1+1 by XCMPLX_1:1;
then 2+i2-i2<=i1+1-i2 by REAL_1:49;
then 2+i2-i2<=i1-i2+1 by XCMPLX_1:29;
then 2<=i1-i2+1 by XCMPLX_1:26;
then 2<=len mid(f,i1,i2) by A74,A79,SCMFSA_7:3;
then A80:g.2=f.(i1-'2+1) by A1,A44,A47,A74,JORDAN3:27
.=f.(i1-(1+1)+1) by A75,SCMFSA_7:3
.=f.(i1-1-1+1) by XCMPLX_1:36
.=f.(i1-1) by XCMPLX_1:229 .=f.(i1-'1) by A1,SCMFSA_7:3;
1<=i1-'1 & i1-'1<=len f-'1 by A44,A48,A49,A76,REAL_1:49;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A77,A78,A80,Def4,Th34;
case A81:(f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2;
set g=mid(f,i1,len f-'1)^mid(f,1,i2);
A82: g is_a_part>_of f,i1,i2 by A1,A44,A74,Th45;
A83:len mid(f,i1,len f-'1)=len f-'1-'i1+1
by A1,A44,A46,A51,A52,JORDAN3:27
.=len f-'1-i1+1 by A51,SCMFSA_7:3
.=len f-1-i1+1 by A45,SCMFSA_7:3
.=len f-i1 by XCMPLX_1:229;
now per cases;
case i1+1<len f;
then i1+1+1<=len f by NAT_1:38;
then i1+(1+1)<=len f by XCMPLX_1:1;
then i1+2-i1<=len f-i1 by REAL_1:49;
then A84:1<2 & 2<=len mid(f,i1,len f-'1) by A83,XCMPLX_1:26;
then g.2 =mid(f,i1,len f-'1).2 by SCMFSA_7:9
.=f.(2+i1-'1) by A1,A44,A46,A51,A52,A84,JORDAN3:27
.=f.(1+1+i1-1) by Th2
.=f.(1+i1) by XCMPLX_1:226;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1)) &
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f)) by A81,A82,Def4;
case A85: i1+1>=len f;
then i1+1=len f by A1,AXIOMS:21;
then A86:len mid(f,i1,len f-'1)=len mid(f,len f-'1,len f-'1)
by A49,XCMPLX_1:26
.=1 by A46,A52,Th27;
len mid(f,1,i2)=i2-'1+1 by A1,A45,A47,JORDAN3:27
.=i2-1+1 by A1,SCMFSA_7:3 .=i2 by XCMPLX_1:27;
then 1+1<=len mid(f,i1,len f-'1)+len mid(f,1,i2)
by A1,A86,AXIOMS:24;
then g.2 =mid(f,1,i2).(2-len mid(f,i1,len f-'1)) by A86,JORDAN3:15
.=mid(f,1,i2).(2-(i1+1-i1)) by A1,A83,A85,AXIOMS:21
.=mid(f,1,i2).(1+1-(1)) by XCMPLX_1:26
.=f.1 by A1,A45,A47,JORDAN3:27 .=f/.1 by A45,FINSEQ_4:24
.=f/.len f by FINSEQ_6:def 1
.=f.len f by A45,FINSEQ_4:24;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1)) &
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f))
by A1,A81,A82,A85,Def4,AXIOMS:21;
end;
hence g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
end;
hence ex g st g is_a_part_of f,i1,i2 &
((f/.(i1+1))`1>(f/.i1)`1 or (f/.(i1+1))`2>(f/.i1)`2
implies g.2=f.(i1+1))&
((f/.(i1+1))`1<=(f/.i1)`1 & (f/.(i1+1))`2<=(f/.i1)`2
implies g.2=f.S_Drop(i1-'1,f));
end;
hence thesis by A1,Th67;
end;
end;