let f be non empty FinSequence of (TOP-REAL 2); :: thesis: for G being Go-board st f is_sequence_on G & ex i being Element of NAT st
( [1,i] in Indices G & G * 1,i in rng f ) & ex i being Element of NAT st
( [(len G),i] in Indices G & G * (len G),i in rng f ) holds
proj1 .: (rng f) = proj1 .: (Values G)
let G be Go-board; :: thesis: ( f is_sequence_on G & ex i being Element of NAT st
( [1,i] in Indices G & G * 1,i in rng f ) & ex i being Element of NAT st
( [(len G),i] in Indices G & G * (len G),i in rng f ) implies proj1 .: (rng f) = proj1 .: (Values G) )
assume A1:
f is_sequence_on G
; :: thesis: ( for i being Element of NAT holds
( not [1,i] in Indices G or not G * 1,i in rng f ) or for i being Element of NAT holds
( not [(len G),i] in Indices G or not G * (len G),i in rng f ) or proj1 .: (rng f) = proj1 .: (Values G) )
given i1 being Element of NAT such that A2:
[1,i1] in Indices G
and
A3:
G * 1,i1 in rng f
; :: thesis: ( for i being Element of NAT holds
( not [(len G),i] in Indices G or not G * (len G),i in rng f ) or proj1 .: (rng f) = proj1 .: (Values G) )
given i2 being Element of NAT such that A4:
[(len G),i2] in Indices G
and
A5:
G * (len G),i2 in rng f
; :: thesis: proj1 .: (rng f) = proj1 .: (Values G)
thus
proj1 .: (rng f) c= proj1 .: (Values G)
by A1, GOBRD13:9, RELAT_1:156; :: according to XBOOLE_0:def 10 :: thesis: proj1 .: (Values G) c= proj1 .: (rng f)
A6:
Values G = { (G * i,j) where i, j is Element of NAT : [i,j] in Indices G }
by GOBRD13:7;
consider k1 being set such that
A7:
k1 in dom f
and
A8:
G * 1,i1 = f . k1
by A3, FUNCT_1:def 5;
reconsider k1 = k1 as Element of NAT by A7;
A9:
( 1 <= k1 & k1 <= len f )
by A7, FINSEQ_3:27;
consider k2 being set such that
A10:
k2 in dom f
and
A11:
G * (len G),i2 = f . k2
by A5, FUNCT_1:def 5;
reconsider k2 = k2 as Element of NAT by A10;
A12:
( 1 <= k2 & k2 <= len f )
by A10, FINSEQ_3:27;
set g = mid f,k1,k2;
A13:
mid f,k1,k2 is_sequence_on G
by A1, Th33;
A15:
proj1 .: (Values G) c= proj1 .: (rng (mid f,k1,k2))
proof
assume
not
proj1 .: (Values G) c= proj1 .: (rng (mid f,k1,k2))
;
:: thesis: contradiction
then consider x being
Element of
REAL such that A16:
x in proj1 .: (Values G)
and A17:
not
x in proj1 .: (rng (mid f,k1,k2))
by SUBSET_1:7;
consider p being
Element of
(TOP-REAL 2) such that A18:
p in Values G
and A19:
x = proj1 . p
by A16, FUNCT_2:116;
consider i0,
j0 being
Element of
NAT such that A20:
p = G * i0,
j0
and A21:
[i0,j0] in Indices G
by A6, A18;
A22:
( 1
<= i0 &
i0 <= len G )
by A21, MATRIX_1:39;
A23:
( 1
<= j0 &
j0 <= width G )
by A21, MATRIX_1:39;
defpred S1[
Nat]
means ( 1
<= $1 & $1
<= len (mid f,k1,k2) implies for
i,
j being
Element of
NAT st
[i,j] in Indices G &
G * i,
j = (mid f,k1,k2) . $1 holds
i < i0 );
A24:
S1[
0 ]
;
A25:
for
n being
Element of
NAT st
S1[
n] holds
S1[
n + 1]
proof
let n be
Element of
NAT ;
:: thesis: ( S1[n] implies S1[n + 1] )
assume that A26:
( 1
<= n &
n <= len (mid f,k1,k2) implies for
i,
j being
Element of
NAT st
[i,j] in Indices G &
G * i,
j = (mid f,k1,k2) . n holds
i < i0 )
and A27:
( 1
<= n + 1 &
n + 1
<= len (mid f,k1,k2) )
;
:: thesis: for i, j being Element of NAT st [i,j] in Indices G & G * i,j = (mid f,k1,k2) . (n + 1) holds
i < i0
let i,
j be
Element of
NAT ;
:: thesis: ( [i,j] in Indices G & G * i,j = (mid f,k1,k2) . (n + 1) implies i < i0 )
assume that A28:
[i,j] in Indices G
and A29:
G * i,
j = (mid f,k1,k2) . (n + 1)
;
:: thesis: i < i0
A30:
now assume A31:
i = i0
;
:: thesis: contradictionA32:
n + 1
in dom (mid f,k1,k2)
by A27, FINSEQ_3:27;
then A33:
G * i,
j = (mid f,k1,k2) /. (n + 1)
by A29, PARTFUN1:def 8;
A34:
( 1
<= j &
j <= width G )
by A28, MATRIX_1:39;
A35:
x =
p `1
by A19, PSCOMP_1:def 28
.=
(G * i0,1) `1
by A20, A22, A23, GOBOARD5:3
.=
(G * i,j) `1
by A22, A31, A34, GOBOARD5:3
.=
proj1 . ((mid f,k1,k2) /. (n + 1))
by A33, PSCOMP_1:def 28
;
A36:
dom proj1 = the
carrier of
(TOP-REAL 2)
by FUNCT_2:def 1;
(mid f,k1,k2) /. (n + 1) in rng (mid f,k1,k2)
by A29, A32, A33, FUNCT_1:12;
hence
contradiction
by A17, A35, A36, FUNCT_1:def 12;
:: thesis: verum end;
per cases
( n = 0 or n <> 0 )
;
suppose
n = 0
;
:: thesis: i < i0then
G * i,
j = G * 1,
i1
by A8, A9, A12, A29, JORDAN3:27;
then
i = 1
by A2, A28, Th32;
hence
i < i0
by A22, A30, XXREAL_0:1;
:: thesis: verum end; suppose A37:
n <> 0
;
:: thesis: i < i0then A38:
1
<= n
by NAT_1:14;
A39:
n <= n + 1
by NAT_1:11;
then
n <= len (mid f,k1,k2)
by A27, XXREAL_0:2;
then A40:
n in dom (mid f,k1,k2)
by A38, FINSEQ_3:27;
then consider i1,
j1 being
Element of
NAT such that A41:
[i1,j1] in Indices G
and A42:
(mid f,k1,k2) /. n = G * i1,
j1
by A13, GOBOARD1:def 11;
A43:
n + 1
in dom (mid f,k1,k2)
by A27, FINSEQ_3:27;
then
(mid f,k1,k2) /. (n + 1) = G * i,
j
by A29, PARTFUN1:def 8;
then
(abs (i1 - i)) + (abs (j1 - j)) = 1
by A13, A28, A40, A41, A42, A43, GOBOARD1:def 11;
then A44:
( (
abs (i1 - i) = 1 &
j1 = j ) or (
abs (j1 - j) = 1 &
i1 = i ) )
by GOBOARD1:2;
now
(mid f,k1,k2) . n = (mid f,k1,k2) /. n
by A40, PARTFUN1:def 8;
then A45:
i1 < i0
by A26, A27, A37, A39, A41, A42, NAT_1:14, XXREAL_0:2;
end; hence
i < i0
;
:: thesis: verum end; end;
end;
A46:
for
n being
Element of
NAT holds
S1[
n]
from NAT_1:sch 1(A24, A25);
G * (len G),
i2 = (mid f,k1,k2) . (len (mid f,k1,k2))
by A9, A11, A12, JORDAN4:23;
then
len G < i0
by A4, A14, A46;
hence
contradiction
by A21, MATRIX_1:39;
:: thesis: verum
end;
proj1 .: (rng (mid f,k1,k2)) c= proj1 .: (rng f)
by JORDAN3:28, RELAT_1:156;
hence
proj1 .: (Values G) c= proj1 .: (rng f)
by A15, XBOOLE_1:1; :: thesis: verum