set M = MetrStruct(# [:the carrier of X,the carrier of Y:],(dist_cart2 X,Y) #);
MetrStruct(# [:the carrier of X,the carrier of Y:],(dist_cart2 X,Y) #) is MetrSpace
proof
now let x,
y,
z be
Element of
MetrStruct(#
[:the carrier of X,the carrier of Y:],
(dist_cart2 X,Y) #);
:: thesis: ( ( dist x,y = 0 implies x = y ) & ( x = y implies dist x,y = 0 ) & dist x,y = dist y,x & dist x,z <= (dist x,y) + (dist y,z) )A1:
dist x,
y = (dist_cart2 X,Y) . x,
y
by METRIC_1:def 1;
A2:
dist x,
z = (dist_cart2 X,Y) . x,
z
by METRIC_1:def 1;
A3:
dist y,
z = (dist_cart2 X,Y) . y,
z
by METRIC_1:def 1;
A4:
dist y,
x = (dist_cart2 X,Y) . y,
x
by METRIC_1:def 1;
thus
(
dist x,
y = 0 iff
x = y )
by A1, Th5;
:: thesis: ( dist x,y = dist y,x & dist x,z <= (dist x,y) + (dist y,z) )thus
dist x,
y = dist y,
x
by A1, A4, Th6;
:: thesis: dist x,z <= (dist x,y) + (dist y,z)thus
dist x,
z <= (dist x,y) + (dist y,z)
by A1, A2, A3, Th7;
:: thesis: verum end;
hence
MetrStruct(#
[:the carrier of X,the carrier of Y:],
(dist_cart2 X,Y) #) is
MetrSpace
by METRIC_1:6;
:: thesis: verum
end;
hence
MetrStruct(# [:the carrier of X,the carrier of Y:],(dist_cart2 X,Y) #) is non empty strict MetrSpace
; :: thesis: verum