let RNS be RealNormSpace; :: thesis: for CNS being ComplexNormSpace
for f being PartFunc of RNS,CNS
for Y being Subset of RNS st Y is compact & f is_continuous_on Y holds
f is_uniformly_continuous_on Y

let CNS be ComplexNormSpace; :: thesis: for f being PartFunc of RNS,CNS
for Y being Subset of RNS st Y is compact & f is_continuous_on Y holds
f is_uniformly_continuous_on Y

let f be PartFunc of RNS,CNS; :: thesis: for Y being Subset of RNS st Y is compact & f is_continuous_on Y holds
f is_uniformly_continuous_on Y

let Y be Subset of RNS; :: thesis: ( Y is compact & f is_continuous_on Y implies f is_uniformly_continuous_on Y )
assume that
A1: Y is compact and
A2: f is_continuous_on Y ; :: thesis: f is_uniformly_continuous_on Y
A3: Y c= dom f by A2, NCFCONT1:def 23;
assume not f is_uniformly_continuous_on Y ; :: thesis: contradiction
then consider r being Real such that
A4: 0 < r and
A5: for s being Real st 0 < s holds
ex x1, x2 being Point of RNS st
( x1 in Y & x2 in Y & ||.(x1 - x2).|| < s & not ||.((f /. x1) - (f /. x2)).|| < r ) by A3, Def3;
defpred S1[ Element of NAT , Point of RNS] means ( $2 in Y & ex x2 being Point of RNS st
( x2 in Y & ||.($2 - x2).|| < 1 / ($1 + 1) & not ||.((f /. $2) - (f /. x2)).|| < r ) );
A6: now
let n be Element of NAT ; :: thesis: 0 < 1 / (n + 1)
0 < n + 1 by NAT_1:5;
hence 0 < 1 / (n + 1) by XREAL_1:141; :: thesis: verum
end;
A7: now
let n be Element of NAT ; :: thesis: ex x1 being Point of RNS st S1[n,x1]
consider x1 being Point of RNS such that
A8: ex x2 being Point of RNS st
( x1 in Y & x2 in Y & ||.(x1 - x2).|| < 1 / (n + 1) & not ||.((f /. x1) - (f /. x2)).|| < r ) by A5, A6;
take x1 = x1; :: thesis: S1[n,x1]
thus S1[n,x1] by A8; :: thesis: verum
end;
consider s1 being sequence of RNS such that
A9: for n being Element of NAT holds S1[n,s1 . n] from FUNCT_2:sch 3(A7);
defpred S2[ Element of NAT , Point of RNS] means ( $2 in Y & ||.((s1 . $1) - $2).|| < 1 / ($1 + 1) & not ||.((f /. (s1 . $1)) - (f /. $2)).|| < r );
A10: for n being Element of NAT ex x2 being Point of RNS st S2[n,x2] by A9;
consider s2 being sequence of RNS such that
A11: for n being Element of NAT holds S2[n,s2 . n] from FUNCT_2:sch 3(A10);
now
let x be Point of RNS; :: thesis: ( x in rng s1 implies x in Y )
assume x in rng s1 ; :: thesis: x in Y
then ex n being Element of NAT st x = s1 . n by NFCONT_1:6;
hence x in Y by A9; :: thesis: verum
end;
then for x being set st x in rng s1 holds
x in Y ;
then A12: rng s1 c= Y by TARSKI:def 3;
then consider q1 being sequence of RNS such that
A13: q1 is subsequence of s1 and
A14: q1 is convergent and
A15: lim q1 in Y by A1, NFCONT_1:def 4;
consider Ns1 being V36() sequence of NAT such that
A16: q1 = s1 * Ns1 by A13, VALUED_0:def 17;
set q2 = q1 - ((s1 - s2) * Ns1);
A17: f | Y is_continuous_in lim q1 by A2, A15, NCFCONT1:def 23;
now
let x be set ; :: thesis: ( x in rng s2 implies x in Y )
assume x in rng s2 ; :: thesis: x in Y
then ex n being Element of NAT st x = s2 . n by NFCONT_1:6;
hence x in Y by A11; :: thesis: verum
end;
then A18: rng s2 c= Y by TARSKI:def 3;
now
let n be Element of NAT ; :: thesis: (q1 - ((s1 - s2) * Ns1)) . n = (s2 * Ns1) . n
thus (q1 - ((s1 - s2) * Ns1)) . n = ((s1 * Ns1) . n) - (((s1 - s2) * Ns1) . n) by A16, NORMSP_1:def 6
.= (s1 . (Ns1 . n)) - (((s1 - s2) * Ns1) . n) by FUNCT_2:21
.= (s1 . (Ns1 . n)) - ((s1 - s2) . (Ns1 . n)) by FUNCT_2:21
.= (s1 . (Ns1 . n)) - ((s1 . (Ns1 . n)) - (s2 . (Ns1 . n))) by NORMSP_1:def 6
.= ((s1 . (Ns1 . n)) - (s1 . (Ns1 . n))) + (s2 . (Ns1 . n)) by RLVECT_1:43
.= (0. RNS) + (s2 . (Ns1 . n)) by RLVECT_1:28
.= s2 . (Ns1 . n) by RLVECT_1:10
.= (s2 * Ns1) . n by FUNCT_2:21 ; :: thesis: verum
end;
then A19: q1 - ((s1 - s2) * Ns1) = s2 * Ns1 by FUNCT_2:113;
then rng (q1 - ((s1 - s2) * Ns1)) c= rng s2 by VALUED_0:21;
then A20: rng (q1 - ((s1 - s2) * Ns1)) c= Y by A18, XBOOLE_1:1;
then rng (q1 - ((s1 - s2) * Ns1)) c= dom f by A3, XBOOLE_1:1;
then rng (q1 - ((s1 - s2) * Ns1)) c= (dom f) /\ Y by A20, XBOOLE_1:19;
then A21: rng (q1 - ((s1 - s2) * Ns1)) c= dom (f | Y) by RELAT_1:90;
A22: now
let p be Real; :: thesis: ( 0 < p implies ex k being Element of NAT st
for m being Element of NAT st k <= m holds
||.(((s1 - s2) . m) - (0. RNS)).|| < p )

assume A23: 0 < p ; :: thesis: ex k being Element of NAT st
for m being Element of NAT st k <= m holds
||.(((s1 - s2) . m) - (0. RNS)).|| < p

A24: 0 < p " by A23;
consider k being Element of NAT such that
A25: p " < k by SEQ_4:10;
take k = k; :: thesis: for m being Element of NAT st k <= m holds
||.(((s1 - s2) . m) - (0. RNS)).|| < p

let m be Element of NAT ; :: thesis: ( k <= m implies ||.(((s1 - s2) . m) - (0. RNS)).|| < p )
assume k <= m ; :: thesis: ||.(((s1 - s2) . m) - (0. RNS)).|| < p
then k + 1 <= m + 1 by XREAL_1:8;
then 1 / (m + 1) <= 1 / (k + 1) by A25, A24, XREAL_1:120;
then A26: ||.((s1 . m) - (s2 . m)).|| < 1 / (k + 1) by A11, XXREAL_0:2;
k < k + 1 by NAT_1:13;
then p " < k + 1 by A25, XXREAL_0:2;
then 1 / (k + 1) < 1 / (p " ) by A23, XREAL_1:78;
then A27: 1 / (k + 1) < p by XCMPLX_1:218;
||.(((s1 - s2) . m) - (0. RNS)).|| = ||.(((s1 . m) - (s2 . m)) - (0. RNS)).|| by NORMSP_1:def 6
.= ||.((s1 . m) - (s2 . m)).|| by RLVECT_1:26 ;
hence ||.(((s1 - s2) . m) - (0. RNS)).|| < p by A27, A26, XXREAL_0:2; :: thesis: verum
end;
then A28: s1 - s2 is convergent by NORMSP_1:def 9;
then A29: (s1 - s2) * Ns1 is convergent by LOPBAN_3:11;
then A30: q1 - ((s1 - s2) * Ns1) is convergent by A14, NORMSP_1:35;
rng q1 c= rng s1 by A13, VALUED_0:21;
then A31: rng q1 c= Y by A12, XBOOLE_1:1;
then rng q1 c= dom f by A3, XBOOLE_1:1;
then rng q1 c= (dom f) /\ Y by A31, XBOOLE_1:19;
then A32: rng q1 c= dom (f | Y) by RELAT_1:90;
then A33: (f | Y) /. (lim q1) = lim ((f | Y) /* q1) by A14, A17, NCFCONT1:def 17;
A34: (f | Y) /* q1 is convergent by A14, A17, A32, NCFCONT1:def 17;
lim (s1 - s2) = 0. RNS by A22, A28, NORMSP_1:def 11;
then lim ((s1 - s2) * Ns1) = 0. RNS by A28, LOPBAN_3:12;
then A35: lim (q1 - ((s1 - s2) * Ns1)) = (lim q1) - (0. RNS) by A14, A29, NORMSP_1:43
.= lim q1 by RLVECT_1:26 ;
then A36: (f | Y) /* (q1 - ((s1 - s2) * Ns1)) is convergent by A17, A30, A21, NCFCONT1:def 17;
then A37: ((f | Y) /* q1) - ((f | Y) /* (q1 - ((s1 - s2) * Ns1))) is convergent by A34, CLVECT_1:116;
(f | Y) /. (lim q1) = lim ((f | Y) /* (q1 - ((s1 - s2) * Ns1))) by A17, A30, A35, A21, NCFCONT1:def 17;
then A38: lim (((f | Y) /* q1) - ((f | Y) /* (q1 - ((s1 - s2) * Ns1)))) = ((f | Y) /. (lim q1)) - ((f | Y) /. (lim q1)) by A34, A33, A36, CLVECT_1:122
.= 0. CNS by RLVECT_1:28 ;
now
let n be Element of NAT ; :: thesis: contradiction
consider k being Element of NAT such that
A39: for m being Element of NAT st k <= m holds
||.(((((f | Y) /* q1) - ((f | Y) /* (q1 - ((s1 - s2) * Ns1)))) . m) - (0. CNS)).|| < r by A4, A37, A38, CLVECT_1:def 18;
A40: q1 . k in rng q1 by NFCONT_1:6;
A41: (q1 - ((s1 - s2) * Ns1)) . k in rng (q1 - ((s1 - s2) * Ns1)) by NFCONT_1:6;
||.(((((f | Y) /* q1) - ((f | Y) /* (q1 - ((s1 - s2) * Ns1)))) . k) - (0. CNS)).|| = ||.((((f | Y) /* q1) - ((f | Y) /* (q1 - ((s1 - s2) * Ns1)))) . k).|| by RLVECT_1:26
.= ||.((((f | Y) /* q1) . k) - (((f | Y) /* (q1 - ((s1 - s2) * Ns1))) . k)).|| by NORMSP_1:def 6
.= ||.(((f | Y) /. (q1 . k)) - (((f | Y) /* (q1 - ((s1 - s2) * Ns1))) . k)).|| by A32, FUNCT_2:186
.= ||.(((f | Y) /. (q1 . k)) - ((f | Y) /. ((q1 - ((s1 - s2) * Ns1)) . k))).|| by A21, FUNCT_2:186
.= ||.((f /. (q1 . k)) - ((f | Y) /. ((q1 - ((s1 - s2) * Ns1)) . k))).|| by A32, A40, PARTFUN2:32
.= ||.((f /. (q1 . k)) - (f /. ((q1 - ((s1 - s2) * Ns1)) . k))).|| by A21, A41, PARTFUN2:32
.= ||.((f /. (s1 . (Ns1 . k))) - (f /. ((s2 * Ns1) . k))).|| by A16, A19, FUNCT_2:21
.= ||.((f /. (s1 . (Ns1 . k))) - (f /. (s2 . (Ns1 . k)))).|| by FUNCT_2:21 ;
hence contradiction by A11, A39; :: thesis: verum
end;
hence contradiction ; :: thesis: verum