Article METRIC_4, MML version 4.99.1005
:: METRIC_4:funcnot 1 => METRIC_4:func 1
definition
let a1, a2 be non empty Reflexive discerning symmetric triangle MetrStruct;
func dist_cart2S(A1,A2) -> Function-like quasi_total Relation of [:[:the carrier of a1,the carrier of a2:],[:the carrier of a1,the carrier of a2:]:],REAL means
for b1, b2 being Element of the carrier of a1
for b3, b4 being Element of the carrier of a2
for b5, b6 being Element of [:the carrier of a1,the carrier of a2:]
st b5 = [b1,b3] & b6 = [b2,b4]
holds it .(b5,b6) = sqrt ((dist(b1,b2)) ^2 + ((dist(b3,b4)) ^2));
end;
:: METRIC_4:def 1
theorem
for b1, b2 being non empty Reflexive discerning symmetric triangle MetrStruct
for b3 being Function-like quasi_total Relation of [:[:the carrier of b1,the carrier of b2:],[:the carrier of b1,the carrier of b2:]:],REAL holds
b3 = dist_cart2S(b1,b2)
iff
for b4, b5 being Element of the carrier of b1
for b6, b7 being Element of the carrier of b2
for b8, b9 being Element of [:the carrier of b1,the carrier of b2:]
st b8 = [b4,b6] & b9 = [b5,b7]
holds b3 .(b8,b9) = sqrt ((dist(b4,b5)) ^2 + ((dist(b6,b7)) ^2));
:: METRIC_4:th 2
theorem
for b1, b2 being real set
st 0 <= b1 & 0 <= b2
holds sqrt (b1 + b2) = 0
iff
b1 = 0 & b2 = 0;
:: METRIC_4:th 3
theorem
for b1, b2 being non empty Reflexive discerning symmetric triangle MetrStruct
for b3, b4 being Element of [:the carrier of b1,the carrier of b2:] holds
(dist_cart2S(b1,b2)) .(b3,b4) = 0
iff
b3 = b4;
:: METRIC_4:th 4
theorem
for b1, b2 being non empty Reflexive discerning symmetric triangle MetrStruct
for b3, b4 being Element of [:the carrier of b1,the carrier of b2:] holds
(dist_cart2S(b1,b2)) .(b3,b4) = (dist_cart2S(b1,b2)) .(b4,b3);
:: METRIC_4:th 5
theorem
for b1, b2, b3, b4 being real set
st 0 <= b1 & 0 <= b2 & 0 <= b3 & 0 <= b4
holds sqrt ((b1 + b3) ^2 + ((b2 + b4) ^2)) <= (sqrt (b1 ^2 + (b2 ^2))) + sqrt (b3 ^2 + (b4 ^2));
:: METRIC_4:th 6
theorem
for b1, b2 being non empty Reflexive discerning symmetric triangle MetrStruct
for b3, b4, b5 being Element of [:the carrier of b1,the carrier of b2:] holds
(dist_cart2S(b1,b2)) .(b3,b5) <= ((dist_cart2S(b1,b2)) .(b3,b4)) + ((dist_cart2S(b1,b2)) .(b4,b5));
:: METRIC_4:funcnot 2 => METRIC_4:func 2
definition
let a1, a2 be non empty Reflexive discerning symmetric triangle MetrStruct;
let a3, a4 be Element of [:the carrier of a1,the carrier of a2:];
func dist2S(A3,A4) -> Element of REAL equals
(dist_cart2S(a1,a2)) .(a3,a4);
end;
:: METRIC_4:def 2
theorem
for b1, b2 being non empty Reflexive discerning symmetric triangle MetrStruct
for b3, b4 being Element of [:the carrier of b1,the carrier of b2:] holds
dist2S(b3,b4) = (dist_cart2S(b1,b2)) .(b3,b4);
:: METRIC_4:funcnot 3 => METRIC_4:func 3
definition
let a1, a2 be non empty Reflexive discerning symmetric triangle MetrStruct;
func MetrSpaceCart2S(A1,A2) -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
MetrStruct(#[:the carrier of a1,the carrier of a2:],dist_cart2S(a1,a2)#);
end;
:: METRIC_4:def 3
theorem
for b1, b2 being non empty Reflexive discerning symmetric triangle MetrStruct holds
MetrSpaceCart2S(b1,b2) = MetrStruct(#[:the carrier of b1,the carrier of b2:],dist_cart2S(b1,b2)#);
:: METRIC_4:funcnot 4 => METRIC_4:func 4
definition
let a1, a2, a3 be non empty Reflexive discerning symmetric triangle MetrStruct;
func dist_cart3S(A1,A2,A3) -> Function-like quasi_total Relation of [:[:the carrier of a1,the carrier of a2,the carrier of a3:],[:the carrier of a1,the carrier of a2,the carrier of a3:]:],REAL means
for b1, b2 being Element of the carrier of a1
for b3, b4 being Element of the carrier of a2
for b5, b6 being Element of the carrier of a3
for b7, b8 being Element of [:the carrier of a1,the carrier of a2,the carrier of a3:]
st b7 = [b1,b3,b5] & b8 = [b2,b4,b6]
holds it .(b7,b8) = sqrt (((dist(b1,b2)) ^2 + ((dist(b3,b4)) ^2)) + ((dist(b5,b6)) ^2));
end;
:: METRIC_4:def 4
theorem
for b1, b2, b3 being non empty Reflexive discerning symmetric triangle MetrStruct
for b4 being Function-like quasi_total Relation of [:[:the carrier of b1,the carrier of b2,the carrier of b3:],[:the carrier of b1,the carrier of b2,the carrier of b3:]:],REAL holds
b4 = dist_cart3S(b1,b2,b3)
iff
for b5, b6 being Element of the carrier of b1
for b7, b8 being Element of the carrier of b2
for b9, b10 being Element of the carrier of b3
for b11, b12 being Element of [:the carrier of b1,the carrier of b2,the carrier of b3:]
st b11 = [b5,b7,b9] & b12 = [b6,b8,b10]
holds b4 .(b11,b12) = sqrt (((dist(b5,b6)) ^2 + ((dist(b7,b8)) ^2)) + ((dist(b9,b10)) ^2));
:: METRIC_4:th 10
theorem
for b1, b2, b3 being non empty Reflexive discerning symmetric triangle MetrStruct
for b4, b5 being Element of [:the carrier of b1,the carrier of b2,the carrier of b3:] holds
(dist_cart3S(b1,b2,b3)) .(b4,b5) = 0
iff
b4 = b5;
:: METRIC_4:th 11
theorem
for b1, b2, b3 being non empty Reflexive discerning symmetric triangle MetrStruct
for b4, b5 being Element of [:the carrier of b1,the carrier of b2,the carrier of b3:] holds
(dist_cart3S(b1,b2,b3)) .(b4,b5) = (dist_cart3S(b1,b2,b3)) .(b5,b4);
:: METRIC_4:th 12
theorem
for b1, b2, b3 being complex set holds
((b1 + b2) + b3) ^2 = ((b1 ^2 + (b2 ^2)) + (b3 ^2)) + ((((2 * b1) * b2) + ((2 * b1) * b3)) + ((2 * b2) * b3));
:: METRIC_4:th 13
theorem
for b1, b2, b3, b4, b5, b6 being real set holds
(((2 * (b1 * b4)) * (b3 * b2)) + ((2 * (b1 * b6)) * (b5 * b3))) + ((2 * (b2 * b6)) * (b5 * b4)) <= (((((b1 * b4) ^2 + ((b3 * b2) ^2)) + ((b1 * b6) ^2)) + ((b5 * b3) ^2)) + ((b2 * b6) ^2)) + ((b5 * b4) ^2);
:: METRIC_4:th 15
theorem
for b1, b2, b3, b4, b5, b6 being real set holds
(((b1 * b3) + (b2 * b4)) + (b5 * b6)) ^2 <= ((b1 ^2 + (b2 ^2)) + (b5 ^2)) * ((b3 ^2 + (b4 ^2)) + (b6 ^2));
:: METRIC_4:th 16
theorem
for b1, b2, b3 being non empty Reflexive discerning symmetric triangle MetrStruct
for b4, b5, b6 being Element of [:the carrier of b1,the carrier of b2,the carrier of b3:] holds
(dist_cart3S(b1,b2,b3)) .(b4,b6) <= ((dist_cart3S(b1,b2,b3)) .(b4,b5)) + ((dist_cart3S(b1,b2,b3)) .(b5,b6));
:: METRIC_4:funcnot 5 => METRIC_4:func 5
definition
let a1, a2, a3 be non empty Reflexive discerning symmetric triangle MetrStruct;
let a4, a5 be Element of [:the carrier of a1,the carrier of a2,the carrier of a3:];
func dist3S(A4,A5) -> Element of REAL equals
(dist_cart3S(a1,a2,a3)) .(a4,a5);
end;
:: METRIC_4:def 5
theorem
for b1, b2, b3 being non empty Reflexive discerning symmetric triangle MetrStruct
for b4, b5 being Element of [:the carrier of b1,the carrier of b2,the carrier of b3:] holds
dist3S(b4,b5) = (dist_cart3S(b1,b2,b3)) .(b4,b5);
:: METRIC_4:funcnot 6 => METRIC_4:func 6
definition
let a1, a2, a3 be non empty Reflexive discerning symmetric triangle MetrStruct;
func MetrSpaceCart3S(A1,A2,A3) -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
MetrStruct(#[:the carrier of a1,the carrier of a2,the carrier of a3:],dist_cart3S(a1,a2,a3)#);
end;
:: METRIC_4:def 6
theorem
for b1, b2, b3 being non empty Reflexive discerning symmetric triangle MetrStruct holds
MetrSpaceCart3S(b1,b2,b3) = MetrStruct(#[:the carrier of b1,the carrier of b2,the carrier of b3:],dist_cart3S(b1,b2,b3)#);
:: METRIC_4:funcnot 7 => METRIC_4:func 7
definition
func taxi_dist2 -> Function-like quasi_total Relation of [:[:REAL,REAL:],[:REAL,REAL:]:],REAL means
for b1, b2, b3, b4 being Element of REAL
for b5, b6 being Element of [:REAL,REAL:]
st b5 = [b1,b3] & b6 = [b2,b4]
holds it .(b5,b6) = (real_dist .(b1,b2)) + (real_dist .(b3,b4));
end;
:: METRIC_4:def 7
theorem
for b1 being Function-like quasi_total Relation of [:[:REAL,REAL:],[:REAL,REAL:]:],REAL holds
b1 = taxi_dist2
iff
for b2, b3, b4, b5 being Element of REAL
for b6, b7 being Element of [:REAL,REAL:]
st b6 = [b2,b4] & b7 = [b3,b5]
holds b1 .(b6,b7) = (real_dist .(b2,b3)) + (real_dist .(b4,b5));
:: METRIC_4:th 19
theorem
for b1, b2 being Element of [:REAL,REAL:] holds
taxi_dist2 .(b1,b2) = 0
iff
b1 = b2;
:: METRIC_4:th 20
theorem
for b1, b2 being Element of [:REAL,REAL:] holds
taxi_dist2 .(b1,b2) = taxi_dist2 .(b2,b1);
:: METRIC_4:th 21
theorem
for b1, b2, b3 being Element of [:REAL,REAL:] holds
taxi_dist2 .(b1,b3) <= (taxi_dist2 .(b1,b2)) + (taxi_dist2 .(b2,b3));
:: METRIC_4:funcnot 8 => METRIC_4:func 8
definition
func RealSpaceCart2 -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
MetrStruct(#[:REAL,REAL:],taxi_dist2#);
end;
:: METRIC_4:def 8
theorem
RealSpaceCart2 = MetrStruct(#[:REAL,REAL:],taxi_dist2#);
:: METRIC_4:funcnot 9 => METRIC_4:func 9
definition
func Eukl_dist2 -> Function-like quasi_total Relation of [:[:REAL,REAL:],[:REAL,REAL:]:],REAL means
for b1, b2, b3, b4 being Element of REAL
for b5, b6 being Element of [:REAL,REAL:]
st b5 = [b1,b3] & b6 = [b2,b4]
holds it .(b5,b6) = sqrt ((real_dist .(b1,b2)) ^2 + ((real_dist .(b3,b4)) ^2));
end;
:: METRIC_4:def 9
theorem
for b1 being Function-like quasi_total Relation of [:[:REAL,REAL:],[:REAL,REAL:]:],REAL holds
b1 = Eukl_dist2
iff
for b2, b3, b4, b5 being Element of REAL
for b6, b7 being Element of [:REAL,REAL:]
st b6 = [b2,b4] & b7 = [b3,b5]
holds b1 .(b6,b7) = sqrt ((real_dist .(b2,b3)) ^2 + ((real_dist .(b4,b5)) ^2));
:: METRIC_4:th 22
theorem
for b1, b2 being Element of [:REAL,REAL:] holds
Eukl_dist2 .(b1,b2) = 0
iff
b1 = b2;
:: METRIC_4:th 23
theorem
for b1, b2 being Element of [:REAL,REAL:] holds
Eukl_dist2 .(b1,b2) = Eukl_dist2 .(b2,b1);
:: METRIC_4:th 24
theorem
for b1, b2, b3 being Element of [:REAL,REAL:] holds
Eukl_dist2 .(b1,b3) <= (Eukl_dist2 .(b1,b2)) + (Eukl_dist2 .(b2,b3));
:: METRIC_4:funcnot 10 => METRIC_4:func 10
definition
func EuklSpace2 -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
MetrStruct(#[:REAL,REAL:],Eukl_dist2#);
end;
:: METRIC_4:def 10
theorem
EuklSpace2 = MetrStruct(#[:REAL,REAL:],Eukl_dist2#);
:: METRIC_4:funcnot 11 => METRIC_4:func 11
definition
func taxi_dist3 -> Function-like quasi_total Relation of [:[:REAL,REAL,REAL:],[:REAL,REAL,REAL:]:],REAL means
for b1, b2, b3, b4, b5, b6 being Element of REAL
for b7, b8 being Element of [:REAL,REAL,REAL:]
st b7 = [b1,b3,b5] & b8 = [b2,b4,b6]
holds it .(b7,b8) = ((real_dist .(b1,b2)) + (real_dist .(b3,b4))) + (real_dist .(b5,b6));
end;
:: METRIC_4:def 11
theorem
for b1 being Function-like quasi_total Relation of [:[:REAL,REAL,REAL:],[:REAL,REAL,REAL:]:],REAL holds
b1 = taxi_dist3
iff
for b2, b3, b4, b5, b6, b7 being Element of REAL
for b8, b9 being Element of [:REAL,REAL,REAL:]
st b8 = [b2,b4,b6] & b9 = [b3,b5,b7]
holds b1 .(b8,b9) = ((real_dist .(b2,b3)) + (real_dist .(b4,b5))) + (real_dist .(b6,b7));
:: METRIC_4:th 25
theorem
for b1, b2 being Element of [:REAL,REAL,REAL:] holds
taxi_dist3 .(b1,b2) = 0
iff
b1 = b2;
:: METRIC_4:th 26
theorem
for b1, b2 being Element of [:REAL,REAL,REAL:] holds
taxi_dist3 .(b1,b2) = taxi_dist3 .(b2,b1);
:: METRIC_4:th 27
theorem
for b1, b2, b3 being Element of [:REAL,REAL,REAL:] holds
taxi_dist3 .(b1,b3) <= (taxi_dist3 .(b1,b2)) + (taxi_dist3 .(b2,b3));
:: METRIC_4:funcnot 12 => METRIC_4:func 12
definition
func RealSpaceCart3 -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
MetrStruct(#[:REAL,REAL,REAL:],taxi_dist3#);
end;
:: METRIC_4:def 12
theorem
RealSpaceCart3 = MetrStruct(#[:REAL,REAL,REAL:],taxi_dist3#);
:: METRIC_4:funcnot 13 => METRIC_4:func 13
definition
func Eukl_dist3 -> Function-like quasi_total Relation of [:[:REAL,REAL,REAL:],[:REAL,REAL,REAL:]:],REAL means
for b1, b2, b3, b4, b5, b6 being Element of REAL
for b7, b8 being Element of [:REAL,REAL,REAL:]
st b7 = [b1,b3,b5] & b8 = [b2,b4,b6]
holds it .(b7,b8) = sqrt (((real_dist .(b1,b2)) ^2 + ((real_dist .(b3,b4)) ^2)) + ((real_dist .(b5,b6)) ^2));
end;
:: METRIC_4:def 13
theorem
for b1 being Function-like quasi_total Relation of [:[:REAL,REAL,REAL:],[:REAL,REAL,REAL:]:],REAL holds
b1 = Eukl_dist3
iff
for b2, b3, b4, b5, b6, b7 being Element of REAL
for b8, b9 being Element of [:REAL,REAL,REAL:]
st b8 = [b2,b4,b6] & b9 = [b3,b5,b7]
holds b1 .(b8,b9) = sqrt (((real_dist .(b2,b3)) ^2 + ((real_dist .(b4,b5)) ^2)) + ((real_dist .(b6,b7)) ^2));
:: METRIC_4:th 28
theorem
for b1, b2 being Element of [:REAL,REAL,REAL:] holds
Eukl_dist3 .(b1,b2) = 0
iff
b1 = b2;
:: METRIC_4:th 29
theorem
for b1, b2 being Element of [:REAL,REAL,REAL:] holds
Eukl_dist3 .(b1,b2) = Eukl_dist3 .(b2,b1);
:: METRIC_4:th 30
theorem
for b1, b2, b3 being Element of [:REAL,REAL,REAL:] holds
Eukl_dist3 .(b1,b3) <= (Eukl_dist3 .(b1,b2)) + (Eukl_dist3 .(b2,b3));
:: METRIC_4:funcnot 14 => METRIC_4:func 14
definition
func EuklSpace3 -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
MetrStruct(#[:REAL,REAL,REAL:],Eukl_dist3#);
end;
:: METRIC_4:def 14
theorem
EuklSpace3 = MetrStruct(#[:REAL,REAL,REAL:],Eukl_dist3#);