let M be non empty MetrSpace; :: thesis: for S being non empty compact TopSpace
for T being non empty MetrSpace
for F being non empty Subset of (MetricSpace_of_ContinuousFunctions (S,T))
for G being Subset of (Funcs ( the carrier of M, the carrier of T)) st S = TopSpaceMetr M & T is complete & G = F holds
( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) )

let S be non empty compact TopSpace; :: thesis: for T being non empty MetrSpace
for F being non empty Subset of (MetricSpace_of_ContinuousFunctions (S,T))
for G being Subset of (Funcs ( the carrier of M, the carrier of T)) st S = TopSpaceMetr M & T is complete & G = F holds
( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) )

let T be non empty MetrSpace; :: thesis: for F being non empty Subset of (MetricSpace_of_ContinuousFunctions (S,T))
for G being Subset of (Funcs ( the carrier of M, the carrier of T)) st S = TopSpaceMetr M & T is complete & G = F holds
( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) )

let F be non empty Subset of (MetricSpace_of_ContinuousFunctions (S,T)); :: thesis: for G being Subset of (Funcs ( the carrier of M, the carrier of T)) st S = TopSpaceMetr M & T is complete & G = F holds
( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) )

let G be Subset of (Funcs ( the carrier of M, the carrier of T)); :: thesis: ( S = TopSpaceMetr M & T is complete & G = F implies ( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) ) )

assume A1: ( S = TopSpaceMetr M & T is complete ) ; :: thesis: ( not G = F or ( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) ) )

assume G = F ; :: thesis: ( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) )

then ( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( G is equicontinuous & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) ) by Th19, A1;
hence ( (MetricSpace_of_ContinuousFunctions (S,T)) | (Cl F) is compact iff ( ( for x being Point of M holds G is_equicontinuous_at x ) & ( for x being Point of S
for Fx being non empty Subset of T st Fx = { (f . x) where f is Function of S,T : f in F } holds
T | (Cl Fx) is compact ) ) ) by Lm2, A1; :: thesis: verum