let i, j, k be Nat; :: thesis: for f being FinSequence of the carrier of (TOP-REAL 2)
for G being Go-board st f is_sequence_on G & LSeg ((G * (i,j)),(G * (i,k))) meets L~ f & [i,j] in Indices G & [i,k] in Indices G & j <= k holds
ex n being Nat st
( j <= n & n <= k & (G * (i,n)) `2 = upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) )

let f be FinSequence of the carrier of (TOP-REAL 2); :: thesis: for G being Go-board st f is_sequence_on G & LSeg ((G * (i,j)),(G * (i,k))) meets L~ f & [i,j] in Indices G & [i,k] in Indices G & j <= k holds
ex n being Nat st
( j <= n & n <= k & (G * (i,n)) `2 = upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) )

let G be Go-board; :: thesis: ( f is_sequence_on G & LSeg ((G * (i,j)),(G * (i,k))) meets L~ f & [i,j] in Indices G & [i,k] in Indices G & j <= k implies ex n being Nat st
( j <= n & n <= k & (G * (i,n)) `2 = upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) ) )

set X = (LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f);
assume that
A1: f is_sequence_on G and
A2: LSeg ((G * (i,j)),(G * (i,k))) meets L~ f and
A3: [i,j] in Indices G and
A4: [i,k] in Indices G and
A5: j <= k ; :: thesis: ex n being Nat st
( j <= n & n <= k & (G * (i,n)) `2 = upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) )

A6: ( 1 <= i & i <= len G ) by A3, MATRIX_0:32;
ex x being object st
( x in LSeg ((G * (i,j)),(G * (i,k))) & x in L~ f ) by A2, XBOOLE_0:3;
then reconsider X1 = (LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f) as non empty compact Subset of (TOP-REAL 2) by XBOOLE_0:def 4;
consider p being object such that
A7: p in N-most X1 by XBOOLE_0:def 1;
reconsider p = p as Point of (TOP-REAL 2) by A7;
A8: p in (LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f) by A7, XBOOLE_0:def 4;
then A9: p in LSeg ((G * (i,j)),(G * (i,k))) by XBOOLE_0:def 4;
p in L~ f by A8, XBOOLE_0:def 4;
then p in union { (LSeg (f,k1)) where k1 is Nat : ( 1 <= k1 & k1 + 1 <= len f ) } by TOPREAL1:def 4;
then consider Y being set such that
A10: p in Y and
A11: Y in { (LSeg (f,k1)) where k1 is Nat : ( 1 <= k1 & k1 + 1 <= len f ) } by TARSKI:def 4;
consider i1 being Nat such that
A12: Y = LSeg (f,i1) and
A13: 1 <= i1 and
A14: i1 + 1 <= len f by A11;
A15: p in LSeg ((f /. i1),(f /. (i1 + 1))) by A10, A12, A13, A14, TOPREAL1:def 3;
proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f)) = (proj2 | ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f)) by RELAT_1:129;
then A16: upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) = upper_bound ((proj2 | ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) .: ([#] ((TOP-REAL 2) | ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))))) by PRE_TOPC:def 5
.= N-bound ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f)) ;
A17: 1 <= k by A4, MATRIX_0:32;
A18: 1 <= j by A3, MATRIX_0:32;
1 < i1 + 1 by A13, NAT_1:13;
then i1 + 1 in Seg (len f) by A14, FINSEQ_1:1;
then A19: i1 + 1 in dom f by FINSEQ_1:def 3;
then consider io, jo being Nat such that
A20: [io,jo] in Indices G and
A21: f /. (i1 + 1) = G * (io,jo) by A1, GOBOARD1:def 9;
A22: ( 1 <= io & io <= len G ) by A20, MATRIX_0:32;
A23: 1 <= jo by A20, MATRIX_0:32;
A24: p `2 = (N-min ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) `2 by A7, PSCOMP_1:39
.= upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) by A16, EUCLID:52 ;
A25: ( 1 <= i & i <= len G ) by A3, MATRIX_0:32;
A26: k <= width G by A4, MATRIX_0:32;
then A27: (G * (i,j)) `2 <= (G * (i,k)) `2 by A5, A6, A18, SPRECT_3:12;
then A28: (G * (i,j)) `2 <= p `2 by A9, TOPREAL1:4;
A29: p `2 <= (G * (i,k)) `2 by A9, A27, TOPREAL1:4;
A30: j <= width G by A3, MATRIX_0:32;
then A31: (G * (i,j)) `1 = (G * (i,1)) `1 by A6, A18, GOBOARD5:2
.= (G * (i,k)) `1 by A25, A17, A26, GOBOARD5:2 ;
A32: jo <= width G by A20, MATRIX_0:32;
i1 <= len f by A14, NAT_1:13;
then i1 in Seg (len f) by A13, FINSEQ_1:1;
then A33: i1 in dom f by FINSEQ_1:def 3;
then consider i0, j0 being Nat such that
A34: [i0,j0] in Indices G and
A35: f /. i1 = G * (i0,j0) by A1, GOBOARD1:def 9;
A36: ( 1 <= i0 & i0 <= len G ) by A34, MATRIX_0:32;
A37: 1 <= j0 by A34, MATRIX_0:32;
A38: j0 <= width G by A34, MATRIX_0:32;
A39: f is special by A1, A33, JORDAN8:4, RELAT_1:38;
ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )
proof
per cases ( (f /. i1) `1 = (f /. (i1 + 1)) `1 or (f /. i1) `2 = (f /. (i1 + 1)) `2 ) by A13, A14, A39, TOPREAL1:def 5;
suppose A40: (f /. i1) `1 = (f /. (i1 + 1)) `1 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

(G * (io,j)) `1 = (G * (io,1)) `1 by A18, A30, A22, GOBOARD5:2
.= (G * (io,jo)) `1 by A22, A23, A32, GOBOARD5:2
.= p `1 by A15, A21, A40, GOBOARD7:5
.= (G * (i,j)) `1 by A31, A9, GOBOARD7:5 ;
then ( io <= i & io >= i ) by A6, A18, A30, A22, GOBOARD5:3;
then A41: i = io by XXREAL_0:1;
(G * (i0,j)) `1 = (G * (i0,1)) `1 by A18, A30, A36, GOBOARD5:2
.= (G * (i0,j0)) `1 by A36, A37, A38, GOBOARD5:2
.= p `1 by A15, A35, A40, GOBOARD7:5
.= (G * (i,j)) `1 by A31, A9, GOBOARD7:5 ;
then ( i0 <= i & i0 >= i ) by A6, A18, A30, A36, GOBOARD5:3;
then A42: i = i0 by XXREAL_0:1;
thus ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) :: thesis: verum
proof
per cases ( (f /. i1) `2 <= (f /. (i1 + 1)) `2 or (f /. i1) `2 > (f /. (i1 + 1)) `2 ) ;
suppose A43: (f /. i1) `2 <= (f /. (i1 + 1)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

thus ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) :: thesis: verum
proof
per cases ( f /. (i1 + 1) in LSeg ((G * (i,j)),(G * (i,k))) or not f /. (i1 + 1) in LSeg ((G * (i,j)),(G * (i,k))) ) ;
suppose A44: f /. (i1 + 1) in LSeg ((G * (i,j)),(G * (i,k))) ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

1 + 1 <= i1 + 1 by A13, XREAL_1:6;
then f /. (i1 + 1) in L~ f by A14, A19, GOBOARD1:1, XXREAL_0:2;
then f /. (i1 + 1) in X1 by A44, XBOOLE_0:def 4;
then A45: p `2 >= (f /. (i1 + 1)) `2 by A16, A24, PSCOMP_1:24;
take n = jo; :: thesis: ( j <= n & n <= k & G * (i,n) = p )
A46: p in LSeg ((G * (i,j)),(G * (i,k))) by A8, XBOOLE_0:def 4;
p `2 <= (f /. (i1 + 1)) `2 by A15, A43, TOPREAL1:4;
then p `2 = (f /. (i1 + 1)) `2 by A45, XXREAL_0:1;
then A47: p `2 = (G * (1,jo)) `2 by A21, A22, A23, A32, GOBOARD5:1
.= (G * (i,n)) `2 by A6, A23, A32, GOBOARD5:1 ;
A48: (G * (i,j)) `2 <= (G * (i,k)) `2 by A5, A6, A18, A26, SPRECT_3:12;
then (G * (i,j)) `2 <= (G * (i,n)) `2 by A46, A47, TOPREAL1:4;
hence j <= n by A6, A30, A23, GOBOARD5:4; :: thesis: ( n <= k & G * (i,n) = p )
(G * (i,n)) `2 <= (G * (i,k)) `2 by A46, A47, A48, TOPREAL1:4;
hence n <= k by A25, A17, A32, GOBOARD5:4; :: thesis: G * (i,n) = p
p `1 = (G * (i,j)) `1 by A31, A46, GOBOARD7:5
.= (G * (i,1)) `1 by A6, A18, A30, GOBOARD5:2
.= (G * (i,n)) `1 by A6, A23, A32, GOBOARD5:2 ;
hence G * (i,n) = p by A47, TOPREAL3:6; :: thesis: verum
end;
suppose A49: not f /. (i1 + 1) in LSeg ((G * (i,j)),(G * (i,k))) ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

A50: (f /. (i1 + 1)) `1 = p `1 by A15, A40, GOBOARD7:5
.= (G * (i,j)) `1 by A31, A9, GOBOARD7:5 ;
thus ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) :: thesis: verum
proof
per cases ( (f /. (i1 + 1)) `2 > (G * (i,k)) `2 or (f /. (i1 + 1)) `2 < (G * (i,j)) `2 ) by A31, A49, A50, GOBOARD7:7;
suppose A51: (f /. (i1 + 1)) `2 > (G * (i,k)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

p `2 >= (G * (i0,j0)) `2 by A15, A35, A43, TOPREAL1:4;
then p `2 >= (G * (1,j0)) `2 by A36, A37, A38, GOBOARD5:1;
then p `2 >= (G * (i,j0)) `2 by A6, A37, A38, GOBOARD5:1;
then (G * (i,k)) `2 >= (G * (i,j0)) `2 by A29, XXREAL_0:2;
then A52: k >= j0 by A25, A17, A38, GOBOARD5:4;
|.(i0 - io).| + |.(j0 - jo).| = 1 by A1, A33, A19, A34, A35, A20, A21, GOBOARD1:def 9;
then 0 + |.(j0 - jo).| = 1 by A42, A41, ABSVALUE:2;
then A53: |.(- (j0 - jo)).| = 1 by COMPLEX1:52;
j0 <= jo + 0 by A35, A21, A36, A38, A23, A42, A41, A43, GOBOARD5:4;
then j0 - jo <= 0 by XREAL_1:20;
then jo - j0 = 1 by A53, ABSVALUE:def 1;
then A54: j0 + 1 = jo + 0 ;
( (G * (i,jo)) `2 > (G * (i,k)) `2 & jo >= k ) by A21, A25, A26, A23, A41, A51, GOBOARD5:4;
then jo > k by XXREAL_0:1;
then j0 >= k by A54, NAT_1:13;
then A55: k = j0 by A52, XXREAL_0:1;
take n = j0; :: thesis: ( j <= n & n <= k & G * (i,n) = p )
A56: p `1 = (G * (i,j)) `1 by A31, A9, GOBOARD7:5
.= (G * (i,1)) `1 by A6, A18, A30, GOBOARD5:2
.= (G * (i,n)) `1 by A6, A37, A38, GOBOARD5:2 ;
p `2 >= (G * (i0,j0)) `2 by A15, A35, A43, TOPREAL1:4;
then p `2 >= (G * (1,j0)) `2 by A36, A37, A38, GOBOARD5:1;
then p `2 >= (G * (i,j0)) `2 by A6, A37, A38, GOBOARD5:1;
then p `2 = (G * (i,k)) `2 by A29, A55, XXREAL_0:1;
hence ( j <= n & n <= k & G * (i,n) = p ) by A5, A55, A56, TOPREAL3:6; :: thesis: verum
end;
suppose A57: (f /. (i1 + 1)) `2 < (G * (i,j)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

p `2 <= (f /. (i1 + 1)) `2 by A15, A43, TOPREAL1:4;
hence ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) by A28, A57, XXREAL_0:2; :: thesis: verum
end;
end;
end;
end;
end;
end;
end;
suppose A58: (f /. i1) `2 > (f /. (i1 + 1)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

thus ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) :: thesis: verum
proof
per cases ( f /. i1 in LSeg ((G * (i,j)),(G * (i,k))) or not f /. i1 in LSeg ((G * (i,j)),(G * (i,k))) ) ;
suppose A59: f /. i1 in LSeg ((G * (i,j)),(G * (i,k))) ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

1 + 1 <= i1 + 1 by A13, XREAL_1:6;
then f /. i1 in L~ f by A14, A33, GOBOARD1:1, XXREAL_0:2;
then f /. i1 in X1 by A59, XBOOLE_0:def 4;
then A60: p `2 >= (f /. i1) `2 by A16, A24, PSCOMP_1:24;
take n = j0; :: thesis: ( j <= n & n <= k & G * (i,n) = p )
A61: p in LSeg ((G * (i,j)),(G * (i,k))) by A8, XBOOLE_0:def 4;
p `2 <= (f /. i1) `2 by A15, A58, TOPREAL1:4;
then p `2 = (f /. i1) `2 by A60, XXREAL_0:1;
then A62: p `2 = (G * (1,j0)) `2 by A35, A36, A37, A38, GOBOARD5:1
.= (G * (i,n)) `2 by A6, A37, A38, GOBOARD5:1 ;
A63: (G * (i,j)) `2 <= (G * (i,k)) `2 by A5, A6, A18, A26, SPRECT_3:12;
then (G * (i,j)) `2 <= (G * (i,n)) `2 by A61, A62, TOPREAL1:4;
hence j <= n by A6, A30, A37, GOBOARD5:4; :: thesis: ( n <= k & G * (i,n) = p )
(G * (i,n)) `2 <= (G * (i,k)) `2 by A61, A62, A63, TOPREAL1:4;
hence n <= k by A25, A17, A38, GOBOARD5:4; :: thesis: G * (i,n) = p
p `1 = (G * (i,j)) `1 by A31, A61, GOBOARD7:5
.= (G * (i,1)) `1 by A6, A18, A30, GOBOARD5:2
.= (G * (i,n)) `1 by A6, A37, A38, GOBOARD5:2 ;
hence G * (i,n) = p by A62, TOPREAL3:6; :: thesis: verum
end;
suppose A64: not f /. i1 in LSeg ((G * (i,j)),(G * (i,k))) ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

A65: (f /. i1) `1 = p `1 by A15, A40, GOBOARD7:5
.= (G * (i,j)) `1 by A31, A9, GOBOARD7:5 ;
thus ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) :: thesis: verum
proof
per cases ( (f /. i1) `2 > (G * (i,k)) `2 or (f /. i1) `2 < (G * (i,j)) `2 ) by A31, A64, A65, GOBOARD7:7;
suppose A66: (f /. i1) `2 > (G * (i,k)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

p `2 >= (G * (io,jo)) `2 by A15, A21, A58, TOPREAL1:4;
then p `2 >= (G * (1,jo)) `2 by A22, A23, A32, GOBOARD5:1;
then p `2 >= (G * (i,jo)) `2 by A6, A23, A32, GOBOARD5:1;
then (G * (i,k)) `2 >= (G * (i,jo)) `2 by A29, XXREAL_0:2;
then A67: k >= jo by A25, A17, A32, GOBOARD5:4;
jo <= j0 + 0 by A35, A21, A36, A37, A32, A42, A41, A58, GOBOARD5:4;
then jo - j0 <= 0 by XREAL_1:20;
then A68: - (jo - j0) >= - 0 ;
|.(i0 - io).| + |.(j0 - jo).| = 1 by A1, A33, A19, A34, A35, A20, A21, GOBOARD1:def 9;
then 0 + |.(j0 - jo).| = 1 by A42, A41, ABSVALUE:2;
then j0 - jo = 1 by A68, ABSVALUE:def 1;
then A69: jo + 1 = j0 - 0 ;
( (G * (i,j0)) `2 > (G * (i,k)) `2 & j0 >= k ) by A35, A25, A26, A37, A42, A66, GOBOARD5:4;
then j0 > k by XXREAL_0:1;
then jo >= k by A69, NAT_1:13;
then A70: k = jo by A67, XXREAL_0:1;
take n = jo; :: thesis: ( j <= n & n <= k & G * (i,n) = p )
A71: p `1 = (G * (i,j)) `1 by A31, A9, GOBOARD7:5
.= (G * (i,1)) `1 by A6, A18, A30, GOBOARD5:2
.= (G * (i,n)) `1 by A6, A23, A32, GOBOARD5:2 ;
p `2 >= (G * (io,jo)) `2 by A15, A21, A58, TOPREAL1:4;
then p `2 >= (G * (1,jo)) `2 by A22, A23, A32, GOBOARD5:1;
then p `2 >= (G * (i,jo)) `2 by A6, A23, A32, GOBOARD5:1;
then p `2 = (G * (i,k)) `2 by A29, A70, XXREAL_0:1;
hence ( j <= n & n <= k & G * (i,n) = p ) by A5, A70, A71, TOPREAL3:6; :: thesis: verum
end;
suppose A72: (f /. i1) `2 < (G * (i,j)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

p `2 <= (f /. i1) `2 by A15, A58, TOPREAL1:4;
hence ex n being Nat st
( j <= n & n <= k & G * (i,n) = p ) by A28, A72, XXREAL_0:2; :: thesis: verum
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
suppose A73: (f /. i1) `2 = (f /. (i1 + 1)) `2 ; :: thesis: ex n being Nat st
( j <= n & n <= k & G * (i,n) = p )

take n = j0; :: thesis: ( j <= n & n <= k & G * (i,n) = p )
p `2 = (f /. i1) `2 by A15, A73, GOBOARD7:6;
then A74: p `2 = (G * (1,j0)) `2 by A35, A36, A37, A38, GOBOARD5:1
.= (G * (i,n)) `2 by A6, A37, A38, GOBOARD5:1 ;
A75: (G * (i,j)) `2 <= (G * (i,k)) `2 by A5, A6, A18, A26, SPRECT_3:12;
then (G * (i,j)) `2 <= (G * (i,n)) `2 by A9, A74, TOPREAL1:4;
hence j <= n by A6, A30, A37, GOBOARD5:4; :: thesis: ( n <= k & G * (i,n) = p )
(G * (i,n)) `2 <= (G * (i,k)) `2 by A9, A74, A75, TOPREAL1:4;
hence n <= k by A25, A17, A38, GOBOARD5:4; :: thesis: G * (i,n) = p
p `1 = (G * (i,j)) `1 by A31, A9, GOBOARD7:5
.= (G * (i,1)) `1 by A6, A18, A30, GOBOARD5:2
.= (G * (i,n)) `1 by A6, A37, A38, GOBOARD5:2 ;
hence G * (i,n) = p by A74, TOPREAL3:6; :: thesis: verum
end;
end;
end;
hence ex n being Nat st
( j <= n & n <= k & (G * (i,n)) `2 = upper_bound (proj2 .: ((LSeg ((G * (i,j)),(G * (i,k)))) /\ (L~ f))) ) by A24; :: thesis: verum