let f, g be FinSequence of (TOP-REAL 2); :: thesis: for p being Point of (TOP-REAL 2) st f is almost-one-to-one & f is special & f is unfolded & f is s.n.c. & p in L~ f & p <> f . 1 & g = (mid f,1,(Index p,f)) ^ <*p*> holds
g is_S-Seq_joining f /. 1,p

let p be Point of (TOP-REAL 2); :: thesis: ( f is almost-one-to-one & f is special & f is unfolded & f is s.n.c. & p in L~ f & p <> f . 1 & g = (mid f,1,(Index p,f)) ^ <*p*> implies g is_S-Seq_joining f /. 1,p )
assume that
A1: ( f is almost-one-to-one & f is special & f is unfolded & f is s.n.c. ) and
A2: p in L~ f and
A3: p <> f . 1 and
A4: g = (mid f,1,(Index p,f)) ^ <*p*> ; :: thesis: g is_S-Seq_joining f /. 1,p
consider i being Element of NAT such that
A5: ( 1 <= i & i + 1 <= len f & p in LSeg f,i ) by A2, SPPOL_2:13;
A6: 1 <= Index p,f by A2, JORDAN3:41;
A7: Index p,f < len f by A2, JORDAN3:41;
1 <= 1 + i by NAT_1:12;
then A8: 1 <= len f by A5, XXREAL_0:2;
then A9: len (mid f,1,(Index p,f)) = ((Index p,f) -' 1) + 1 by A6, A7, JORDAN3:27;
then A10: len (mid f,1,(Index p,f)) = Index p,f by A6, XREAL_1:237;
1 <= len <*p*> by FINSEQ_1:56;
then A11: 1 in dom <*p*> by FINSEQ_3:27;
g . 1 = (mid f,1,(Index p,f)) . 1 by A4, A6, A10, JORDAN3:17;
then g . 1 = f . 1 by A6, A7, A8, JORDAN3:27;
then A12: g . 1 = f /. 1 by A8, FINSEQ_4:24;
A13: len g = (len (mid f,1,(Index p,f))) + (len <*p*>) by A4, FINSEQ_1:35
.= (len (mid f,1,(Index p,f))) + 1 by FINSEQ_1:56 ;
then A14: g . (len g) = p by A4, FINSEQ_1:59;
A15: 1 + 1 <= len g by A6, A10, A13, XREAL_1:8;
A17: 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 ; :: thesis: ( x1 in dom g & x2 in dom g & g . x1 = g . x2 implies x1 = x2 )
assume A18: ( x1 in dom g & x2 in dom g & g . x1 = g . x2 ) ; :: thesis: x1 = x2
then reconsider n1 = x1, n2 = x2 as Element of NAT ;
A19: ( 1 <= n1 & n1 <= len g & 1 <= n2 & n2 <= len g ) by A18, FINSEQ_3:27;
now
A20: g . (len g) = <*p*> . 1 by A4, A11, A13, FINSEQ_1:def 7
.= p by FINSEQ_1:def 8 ;
now
per cases ( n1 = len g or n2 = len g or ( n1 <> len g & n2 <> len g ) ) ;
case A21: n1 = len g ; :: thesis: x1 = x2
now
assume A22: n2 <> len g ; :: thesis: contradiction
then n2 < len g by A19, XXREAL_0:1;
then A23: n2 <= len (mid f,1,(Index p,f)) by A13, NAT_1:13;
then g . n2 = (mid f,1,(Index p,f)) . n2 by A4, A19, FINSEQ_1:85;
then g . n2 = f . ((n2 + 1) -' 1) by A6, A7, A8, A19, A23, JORDAN3:27;
then A24: p = f . n2 by A18, A20, A21, NAT_D:34;
A25: n2 < len f by A7, A10, A23, XXREAL_0:2;
1 < n2 by A3, A19, A24, XXREAL_0:1;
then (Index p,f) + 1 = n2 by A1, A24, A25, Th18;
hence contradiction by A6, A9, A13, A22, XREAL_1:237; :: thesis: verum
end;
hence x1 = x2 by A21; :: thesis: verum
end;
case A26: n2 = len g ; :: thesis: x1 = x2
now
assume A27: n1 <> len g ; :: thesis: contradiction
then n1 < len g by A19, XXREAL_0:1;
then A28: n1 <= len (mid f,1,(Index p,f)) by A13, NAT_1:13;
then g . n1 = (mid f,1,(Index p,f)) . n1 by A4, A19, FINSEQ_1:85;
then g . n1 = f . ((n1 + 1) -' 1) by A6, A7, A8, A19, A28, JORDAN3:27;
then A29: p = f . n1 by A18, A20, A26, NAT_D:34;
A30: n1 < len f by A7, A10, A28, XXREAL_0:2;
1 < n1 by A3, A19, A29, XXREAL_0:1;
then (Index p,f) + 1 = n1 by A1, A29, A30, Th18;
hence contradiction by A6, A9, A13, A27, XREAL_1:237; :: thesis: verum
end;
hence x1 = x2 by A26; :: thesis: verum
end;
case that A31: n1 <> len g and
A32: n2 <> len g ; :: thesis: x1 = x2
n1 < len g by A19, A31, XXREAL_0:1;
then A33: n1 <= len (mid f,1,(Index p,f)) by A13, NAT_1:13;
then A34: n1 < len f by A7, A10, XXREAL_0:2;
A35: g . n1 = (mid f,1,(Index p,f)) . n1 by A4, A19, A33, FINSEQ_1:85
.= f . n1 by A7, A10, A19, A33, JORDAN3:32 ;
n2 < len g by A19, A32, XXREAL_0:1;
then A36: n2 <= len (mid f,1,(Index p,f)) by A13, NAT_1:13;
then A37: n2 < len f by A7, A10, XXREAL_0:2;
A38: g . n2 = (mid f,1,(Index p,f)) . n2 by A4, A19, A36, FINSEQ_1:85
.= f . n2 by A7, A10, A19, A36, JORDAN3:32 ;
( n1 in Seg (len f) & n2 in Seg (len f) ) by A19, A34, A37, FINSEQ_1:3;
then ( n1 in dom f & n2 in dom f ) by FINSEQ_1:def 3;
hence x1 = x2 by A1, A7, A10, A18, A33, A35, A36, A38, Def1; :: thesis: verum
end;
end;
end;
hence x1 = x2 ; :: thesis: verum
end;
hence x1 = x2 ; :: thesis: verum
end;
A39: for j being Nat st 1 <= j & j + 2 <= len g holds
(LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))}
proof
let j be Nat; :: thesis: ( 1 <= j & j + 2 <= len g implies (LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))} )
assume A40: ( 1 <= j & j + 2 <= len g ) ; :: thesis: (LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))}
then j + 1 <= len g by NAT_D:47;
then A41: LSeg g,j c= LSeg f,j by A2, A4, A40, JORDAN3:51;
A42: (j + 1) + 1 <= len g by A40;
A43: 1 <= j + 1 by A40, NAT_D:48;
then LSeg g,(j + 1) c= LSeg f,(j + 1) by A2, A4, A42, JORDAN3:51;
then A44: (LSeg g,j) /\ (LSeg g,(j + 1)) c= (LSeg f,j) /\ (LSeg f,(j + 1)) by A41, XBOOLE_1:27;
A45: j + 1 <= len g by A40, NAT_D:47;
then LSeg g,j = LSeg (g /. j),(g /. (j + 1)) by A40, TOPREAL1:def 5;
then A46: g /. (j + 1) in LSeg g,j by RLTOPSP1:69;
A47: g /. (j + 1) = g . (j + 1) by A43, A45, FINSEQ_4:24;
A48: Index p,f <= len f by A2, JORDAN3:41;
LSeg g,(j + 1) = LSeg (g /. (j + 1)),(g /. ((j + 1) + 1)) by A40, A43, TOPREAL1:def 5;
then g /. (j + 1) in LSeg g,(j + 1) by RLTOPSP1:69;
then g /. (j + 1) in (LSeg g,j) /\ (LSeg g,(j + 1)) by A46, XBOOLE_0:def 4;
then A49: {(g /. (j + 1))} c= (LSeg g,j) /\ (LSeg g,(j + 1)) by ZFMISC_1:37;
now
A50: len g = (len (mid f,1,(Index p,f))) + 1 by A4, FINSEQ_2:19;
Index p,f <= len f by A2, JORDAN3:41;
then A51: len g <= (len f) + 1 by A10, A50, XREAL_1:8;
now
per cases ( len g = (len f) + 1 or len g < (len f) + 1 ) by A51, XXREAL_0:1;
case len g = (len f) + 1 ; :: thesis: contradiction
end;
case len g < (len f) + 1 ; :: thesis: (LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))}
then len g <= len f by NAT_1:13;
then A52: j + 2 <= len f by A40, XXREAL_0:2;
A53: j + 1 <= Index p,f by A10, A42, A50, XREAL_1:8;
then A54: j + 1 <= len f by A48, XXREAL_0:2;
A55: (LSeg g,j) /\ (LSeg g,(j + 1)) c= {(f /. (j + 1))} by A1, A40, A44, A52, TOPREAL1:def 8;
A56: f . (j + 1) = f /. (j + 1) by A43, A54, FINSEQ_4:24;
g . (j + 1) = (mid f,1,(Index p,f)) . (j + 1) by A4, A10, A43, A53, FINSEQ_1:85
.= f . (j + 1) by A7, A43, A53, JORDAN3:32 ;
hence (LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))} by A47, A49, A55, A56, XBOOLE_0:def 10; :: thesis: verum
end;
end;
end;
hence (LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))} ; :: thesis: verum
end;
hence (LSeg g,j) /\ (LSeg g,(j + 1)) = {(g /. (j + 1))} ; :: thesis: verum
end;
A57: for j1, j2 being Nat st j1 + 1 < j2 holds
LSeg g,j1 misses LSeg g,j2
proof
let j1, j2 be Nat; :: thesis: ( j1 + 1 < j2 implies LSeg g,j1 misses LSeg g,j2 )
assume A58: j1 + 1 < j2 ; :: thesis: LSeg g,j1 misses LSeg g,j2
j1 >= 0 by NAT_1:2;
then A59: ( j1 = 0 or j1 >= 0 + 1 ) by NAT_1:13;
now
per cases ( j1 = 0 or ( ( j1 = 1 or j1 > 1 ) & j2 + 1 <= len g ) or j2 + 1 > len g ) by A59, XXREAL_0:1;
end;
end;
hence LSeg g,j1 misses LSeg g,j2 ; :: thesis: verum
end;
for j being Nat st 1 <= j & j + 1 <= len g & not (g /. j) `1 = (g /. (j + 1)) `1 holds
(g /. j) `2 = (g /. (j + 1)) `2
proof
let j be Nat; :: thesis: ( 1 <= j & j + 1 <= len g & not (g /. j) `1 = (g /. (j + 1)) `1 implies (g /. j) `2 = (g /. (j + 1)) `2 )
assume A64: ( 1 <= j & j + 1 <= len g ) ; :: thesis: ( (g /. j) `1 = (g /. (j + 1)) `1 or (g /. j) `2 = (g /. (j + 1)) `2 )
A65: now end;
A67: LSeg g,j c= LSeg f,j by A2, A4, A64, JORDAN3:51;
A68: LSeg g,j = LSeg (g /. j),(g /. (j + 1)) by A64, TOPREAL1:def 5;
A69: LSeg f,j = LSeg (f /. j),(f /. (j + 1)) by A64, A65, TOPREAL1:def 5;
( (f /. j) `1 = (f /. (j + 1)) `1 or (f /. j) `2 = (f /. (j + 1)) `2 ) by A1, A64, A65, TOPREAL1:def 7;
hence ( (g /. j) `1 = (g /. (j + 1)) `1 or (g /. j) `2 = (g /. (j + 1)) `2 ) by A67, A68, A69, JORDAN3:36; :: thesis: verum
end;
then ( g is one-to-one & len g >= 2 & g is unfolded & g is s.n.c. & g is special ) by A15, A17, A39, A57, FUNCT_1:def 8, TOPREAL1:def 7, TOPREAL1:def 8, TOPREAL1:def 9;
then g is being_S-Seq by TOPREAL1:def 10;
hence g is_S-Seq_joining f /. 1,p by A12, A14, JORDAN3:def 3; :: thesis: verum