:: METRIC_1 semantic presentation begin definitionattr "c1" is :::"strict"::: ; struct :::"MetrStruct"::: -> ($#l1_struct_0 :::"1-sorted"::: ) ; aggr :::"MetrStruct":::(# :::"carrier":::, :::"distance"::: #) -> ($#l1_metric_1 :::"MetrStruct"::: ) ; sel :::"distance"::: "c1" -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "c1") "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "c1") ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ); end; registration cluster ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_metric_1 :::"strict"::: ) for ($#l1_metric_1 :::"MetrStruct"::: ) ; end; definitionlet "A", "B" be ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"PartFunc":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "A")) "," (Set (Const "B")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ); let "a" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); let "b" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "B")); :: original: :::"."::: redefine func "f" :::"."::: "(" "a" "," "b" ")" -> ($#m1_subset_1 :::"Real":::); end; definitionlet "M" be ($#l1_metric_1 :::"MetrStruct"::: ) ; let "a", "b" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); func :::"dist"::: "(" "a" "," "b" ")" -> ($#m1_subset_1 :::"Real":::) equals :: METRIC_1:def 1 (Set (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" "M") ($#k1_metric_1 :::"."::: ) "(" "a" "," "b" ")" ); end; :: deftheorem defines :::"dist"::: METRIC_1:def 1 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" (Set (Var "M"))) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" )))); notationsynonym :::"Empty^2-to-zero"::: for :::"op2"::: ; end; definition:: original: :::"Empty^2-to-zero"::: redefine func :::"Empty^2-to-zero"::: -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Num 1) "," (Num 1) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ); end; registration cluster (Set ($#k7_funct_5 :::"Empty^2-to-zero"::: ) ) -> ($#v4_valued_0 :::"natural-valued"::: ) for ($#m1_hidden :::"Function":::); end; registrationlet "f" be ($#v4_valued_0 :::"natural-valued"::: ) ($#m1_hidden :::"Function":::); let "x", "y" be ($#m1_hidden :::"set"::: ) ; cluster (Set "f" ($#k1_binop_1 :::"."::: ) "(" "x" "," "y" ")" ) -> ($#v7_ordinal1 :::"natural"::: ) ; end; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"PartFunc":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "A")) "," (Set (Const "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ); attr "f" is :::"Reflexive"::: means :: METRIC_1:def 2 (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "holds" (Bool (Set "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "a")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))); attr "f" is :::"discerning"::: means :: METRIC_1:def 3 (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "st" (Bool (Bool (Set "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) "holds" (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Var "b")))); attr "f" is :::"symmetric"::: means :: METRIC_1:def 4 (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "holds" (Bool (Set "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "b")) "," (Set (Var "a")) ")" ))); attr "f" is :::"triangle"::: means :: METRIC_1:def 5 (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "," (Set (Var "c")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "holds" (Bool (Set "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "c")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "b")) "," (Set (Var "c")) ")" ")" )))); end; :: deftheorem defines :::"Reflexive"::: METRIC_1:def 2 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"PartFunc":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "f")) "is" ($#v2_metric_1 :::"Reflexive"::: ) ) "iff" (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "a")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) ")" ))); :: deftheorem defines :::"discerning"::: METRIC_1:def 3 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"PartFunc":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "f")) "is" ($#v3_metric_1 :::"discerning"::: ) ) "iff" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) "holds" (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Var "b")))) ")" ))); :: deftheorem defines :::"symmetric"::: METRIC_1:def 4 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"PartFunc":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "f")) "is" ($#v4_metric_1 :::"symmetric"::: ) ) "iff" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "b")) "," (Set (Var "a")) ")" ))) ")" ))); :: deftheorem defines :::"triangle"::: METRIC_1:def 5 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"PartFunc":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "f")) "is" ($#v5_metric_1 :::"triangle"::: ) ) "iff" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "," (Set (Var "c")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "c")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "b")) "," (Set (Var "c")) ")" ")" )))) ")" ))); definitionlet "M" be ($#l1_metric_1 :::"MetrStruct"::: ) ; attr "M" is :::"Reflexive"::: means :: METRIC_1:def 6 (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" "M") "is" ($#v2_metric_1 :::"Reflexive"::: ) ); attr "M" is :::"discerning"::: means :: METRIC_1:def 7 (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" "M") "is" ($#v3_metric_1 :::"discerning"::: ) ); attr "M" is :::"symmetric"::: means :: METRIC_1:def 8 (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" "M") "is" ($#v4_metric_1 :::"symmetric"::: ) ); attr "M" is :::"triangle"::: means :: METRIC_1:def 9 (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" "M") "is" ($#v5_metric_1 :::"triangle"::: ) ); end; :: deftheorem defines :::"Reflexive"::: METRIC_1:def 6 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool (Set (Var "M")) "is" ($#v6_metric_1 :::"Reflexive"::: ) ) "iff" (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" (Set (Var "M"))) "is" ($#v2_metric_1 :::"Reflexive"::: ) ) ")" )); :: deftheorem defines :::"discerning"::: METRIC_1:def 7 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool (Set (Var "M")) "is" ($#v7_metric_1 :::"discerning"::: ) ) "iff" (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" (Set (Var "M"))) "is" ($#v3_metric_1 :::"discerning"::: ) ) ")" )); :: deftheorem defines :::"symmetric"::: METRIC_1:def 8 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool (Set (Var "M")) "is" ($#v8_metric_1 :::"symmetric"::: ) ) "iff" (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" (Set (Var "M"))) "is" ($#v4_metric_1 :::"symmetric"::: ) ) ")" )); :: deftheorem defines :::"triangle"::: METRIC_1:def 9 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool (Set (Var "M")) "is" ($#v9_metric_1 :::"triangle"::: ) ) "iff" (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" (Set (Var "M"))) "is" ($#v5_metric_1 :::"triangle"::: ) ) ")" )); registration cluster ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_metric_1 :::"strict"::: ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v7_metric_1 :::"discerning"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) for ($#l1_metric_1 :::"MetrStruct"::: ) ; end; definitionmode MetrSpace is ($#v6_metric_1 :::"Reflexive"::: ) ($#v7_metric_1 :::"discerning"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) ; end; theorem :: METRIC_1:1 (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool "(" "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "a")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) ")" ) "iff" (Bool (Set (Var "M")) "is" ($#v6_metric_1 :::"Reflexive"::: ) ) ")" )) ; theorem :: METRIC_1:2 (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool "(" "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "st" (Bool (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) "holds" (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Var "b"))) ")" ) "iff" (Bool (Set (Var "M")) "is" ($#v7_metric_1 :::"discerning"::: ) ) ")" )) ; theorem :: METRIC_1:3 (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "st" (Bool (Bool "(" "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "a")) ")" )) ")" )) "holds" (Bool (Set (Var "M")) "is" ($#v8_metric_1 :::"symmetric"::: ) )) ; theorem :: METRIC_1:4 (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool "(" "for" (Set (Var "a")) "," (Set (Var "b")) "," (Set (Var "c")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "c")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "c")) ")" ")" ))) ")" ) "iff" (Bool (Set (Var "M")) "is" ($#v9_metric_1 :::"triangle"::: ) ) ")" )) ; definitionlet "M" be ($#v8_metric_1 :::"symmetric"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) ; let "a", "b" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); :: original: :::"dist"::: redefine func :::"dist"::: "(" "a" "," "b" ")" -> ($#m1_subset_1 :::"Real":::); commutativity (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")) "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "a")) ")" ))) ; end; theorem :: METRIC_1:5 (Bool "for" (Set (Var "M")) "being" ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<="::: ) (Set ($#k4_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" )))) ; theorem :: METRIC_1:6 (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) "st" (Bool (Bool "(" "for" (Set (Var "a")) "," (Set (Var "b")) "," (Set (Var "c")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool "(" "(" (Bool (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) "implies" (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Var "b"))) ")" & "(" (Bool (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Var "b")))) "implies" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) ")" & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "a")) ")" )) & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "c")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "c")) ")" ")" ))) ")" ) ")" )) "holds" (Bool (Set (Var "M")) "is" ($#l1_metric_1 :::"MetrSpace":::))) ; theorem :: METRIC_1:7 (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrSpace":::) (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "st" (Bool (Bool (Set (Var "x")) ($#r1_hidden :::"<>"::: ) (Set (Var "y")))) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<"::: ) (Set ($#k4_metric_1 :::"dist"::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" )))) ; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; func :::"discrete_dist"::: "A" -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "A" ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) means :: METRIC_1:def 10 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "holds" (Bool "(" (Bool (Set it ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "x")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) & "(" (Bool (Bool (Set (Var "x")) ($#r1_hidden :::"<>"::: ) (Set (Var "y")))) "implies" (Bool (Set it ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Num 1)) ")" ")" )); end; :: deftheorem defines :::"discrete_dist"::: METRIC_1:def 10 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "b2")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b2")) ($#r1_hidden :::"="::: ) (Set ($#k5_metric_1 :::"discrete_dist"::: ) (Set (Var "A")))) "iff" (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Set (Var "b2")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "x")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) & "(" (Bool (Bool (Set (Var "x")) ($#r1_hidden :::"<>"::: ) (Set (Var "y")))) "implies" (Bool (Set (Set (Var "b2")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Num 1)) ")" ")" )) ")" ))); definitionlet "A" be ($#m1_hidden :::"set"::: ) ; func :::"DiscreteSpace"::: "A" -> ($#v1_metric_1 :::"strict"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) equals :: METRIC_1:def 11 (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" "A" "," (Set "(" ($#k5_metric_1 :::"discrete_dist"::: ) "A" ")" ) "#)" ); end; :: deftheorem defines :::"DiscreteSpace"::: METRIC_1:def 11 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool (Set ($#k6_metric_1 :::"DiscreteSpace"::: ) (Set (Var "A"))) ($#r1_hidden :::"="::: ) (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Set (Var "A")) "," (Set "(" ($#k5_metric_1 :::"discrete_dist"::: ) (Set (Var "A")) ")" ) "#)" ))); registrationlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; cluster (Set ($#k6_metric_1 :::"DiscreteSpace"::: ) "A") -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_metric_1 :::"strict"::: ) ; end; registrationlet "A" be ($#m1_hidden :::"set"::: ) ; cluster (Set ($#k6_metric_1 :::"DiscreteSpace"::: ) "A") -> ($#v1_metric_1 :::"strict"::: ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v7_metric_1 :::"discerning"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ; end; definitionfunc :::"real_dist"::: -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set ($#k1_numbers :::"REAL"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) means :: METRIC_1:def 12 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool (Set it ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k18_complex1 :::"abs"::: ) (Set "(" (Set (Var "x")) ($#k9_real_1 :::"-"::: ) (Set (Var "y")) ")" )))); end; :: deftheorem defines :::"real_dist"::: METRIC_1:def 12 : (Bool "for" (Set (Var "b1")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set ($#k1_numbers :::"REAL"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b1")) ($#r1_hidden :::"="::: ) (Set ($#k7_metric_1 :::"real_dist"::: ) )) "iff" (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool (Set (Set (Var "b1")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k18_complex1 :::"abs"::: ) (Set "(" (Set (Var "x")) ($#k9_real_1 :::"-"::: ) (Set (Var "y")) ")" )))) ")" )); theorem :: METRIC_1:8 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Set ($#k7_metric_1 :::"real_dist"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) "iff" (Bool (Set (Var "x")) ($#r1_hidden :::"="::: ) (Set (Var "y"))) ")" )) ; theorem :: METRIC_1:9 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool (Set (Set ($#k7_metric_1 :::"real_dist"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set ($#k7_metric_1 :::"real_dist"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "y")) "," (Set (Var "x")) ")" ))) ; theorem :: METRIC_1:10 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "," (Set (Var "z")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool (Set (Set ($#k7_metric_1 :::"real_dist"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" (Set ($#k7_metric_1 :::"real_dist"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "z")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" (Set ($#k7_metric_1 :::"real_dist"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "z")) "," (Set (Var "y")) ")" ")" )))) ; definitionfunc :::"RealSpace"::: -> ($#v1_metric_1 :::"strict"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) equals :: METRIC_1:def 13 (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Set ($#k1_numbers :::"REAL"::: ) ) "," (Set ($#k7_metric_1 :::"real_dist"::: ) ) "#)" ); end; :: deftheorem defines :::"RealSpace"::: METRIC_1:def 13 : (Bool (Set ($#k8_metric_1 :::"RealSpace"::: ) ) ($#r1_hidden :::"="::: ) (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Set ($#k1_numbers :::"REAL"::: ) ) "," (Set ($#k7_metric_1 :::"real_dist"::: ) ) "#)" )); registration cluster (Set ($#k8_metric_1 :::"RealSpace"::: ) ) -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_metric_1 :::"strict"::: ) ; end; registration cluster (Set ($#k8_metric_1 :::"RealSpace"::: ) ) -> ($#v1_metric_1 :::"strict"::: ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v7_metric_1 :::"discerning"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ; end; definitionlet "M" be ($#l1_metric_1 :::"MetrStruct"::: ) ; let "p" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); let "r" be ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) ; func :::"Ball"::: "(" "p" "," "r" ")" -> ($#m1_subset_1 :::"Subset":::) "of" "M" means :: METRIC_1:def 14 (Bool it ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" "M" : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" "p" "," (Set (Var "q")) ")" ) ($#r1_xxreal_0 :::"<"::: ) "r") "}" ) if (Bool (Bool "not" "M" "is" ($#v2_struct_0 :::"empty"::: ) )) otherwise (Bool it "is" ($#v1_xboole_0 :::"empty"::: ) ); end; :: deftheorem defines :::"Ball"::: METRIC_1:def 14 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "b4")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "M")) "holds" (Bool "(" "(" (Bool (Bool (Bool "not" (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) ))) "implies" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k9_metric_1 :::"Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ) ($#r1_xxreal_0 :::"<"::: ) (Set (Var "r"))) "}" ) ")" ) ")" & "(" (Bool (Bool (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) )) "implies" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k9_metric_1 :::"Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "b4")) "is" ($#v1_xboole_0 :::"empty"::: ) ) ")" ) ")" ")" ))))); definitionlet "M" be ($#l1_metric_1 :::"MetrStruct"::: ) ; let "p" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); let "r" be ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) ; func :::"cl_Ball"::: "(" "p" "," "r" ")" -> ($#m1_subset_1 :::"Subset":::) "of" "M" means :: METRIC_1:def 15 (Bool it ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" "M" : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" "p" "," (Set (Var "q")) ")" ) ($#r1_xxreal_0 :::"<="::: ) "r") "}" ) if (Bool (Bool "not" "M" "is" ($#v2_struct_0 :::"empty"::: ) )) otherwise (Bool it "is" ($#v1_xboole_0 :::"empty"::: ) ); end; :: deftheorem defines :::"cl_Ball"::: METRIC_1:def 15 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "b4")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "M")) "holds" (Bool "(" "(" (Bool (Bool (Bool "not" (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) ))) "implies" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Var "r"))) "}" ) ")" ) ")" & "(" (Bool (Bool (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) )) "implies" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "b4")) "is" ($#v1_xboole_0 :::"empty"::: ) ) ")" ) ")" ")" ))))); definitionlet "M" be ($#l1_metric_1 :::"MetrStruct"::: ) ; let "p" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); let "r" be ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) ; func :::"Sphere"::: "(" "p" "," "r" ")" -> ($#m1_subset_1 :::"Subset":::) "of" "M" means :: METRIC_1:def 16 (Bool it ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" "M" : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" "p" "," (Set (Var "q")) ")" ) ($#r1_hidden :::"="::: ) "r") "}" ) if (Bool (Bool "not" "M" "is" ($#v2_struct_0 :::"empty"::: ) )) otherwise (Bool it "is" ($#v1_xboole_0 :::"empty"::: ) ); end; :: deftheorem defines :::"Sphere"::: METRIC_1:def 16 : (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "b4")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "M")) "holds" (Bool "(" "(" (Bool (Bool (Bool "not" (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) ))) "implies" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k11_metric_1 :::"Sphere"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ) ($#r1_hidden :::"="::: ) (Set (Var "r"))) "}" ) ")" ) ")" & "(" (Bool (Bool (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) )) "implies" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k11_metric_1 :::"Sphere"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "b4")) "is" ($#v1_xboole_0 :::"empty"::: ) ) ")" ) ")" ")" ))))); theorem :: METRIC_1:11 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool "(" (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_metric_1 :::"Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool "(" (Bool (Bool "not" (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) )) & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "x")) ")" ) ($#r1_xxreal_0 :::"<"::: ) (Set (Var "r"))) ")" ) ")" )))) ; theorem :: METRIC_1:12 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool "(" (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool "(" (Bool (Bool "not" (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) )) & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "x")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Var "r"))) ")" ) ")" )))) ; theorem :: METRIC_1:13 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool "(" (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k11_metric_1 :::"Sphere"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool "(" (Bool (Bool "not" (Set (Var "M")) "is" ($#v2_struct_0 :::"empty"::: ) )) & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "x")) ")" ) ($#r1_hidden :::"="::: ) (Set (Var "r"))) ")" ) ")" )))) ; theorem :: METRIC_1:14 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k9_metric_1 :::"Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_tarski :::"c="::: ) (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ))))) ; theorem :: METRIC_1:15 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k11_metric_1 :::"Sphere"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_tarski :::"c="::: ) (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ))))) ; theorem :: METRIC_1:16 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set (Set "(" ($#k11_metric_1 :::"Sphere"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ")" ) ($#k4_subset_1 :::"\/"::: ) (Set "(" ($#k9_metric_1 :::"Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ")" )) ($#r1_hidden :::"="::: ) (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ))))) ; theorem :: METRIC_1:17 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k9_metric_1 :::"Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ) ($#r1_xxreal_0 :::"<"::: ) (Set (Var "r"))) "}" )))) ; theorem :: METRIC_1:18 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k10_metric_1 :::"cl_Ball"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Var "r"))) "}" )))) ; theorem :: METRIC_1:19 (Bool "for" (Set (Var "r")) "being" ($#v1_xreal_0 :::"real"::: ) ($#m1_hidden :::"number"::: ) (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k11_metric_1 :::"Sphere"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ) ($#r1_hidden :::"="::: ) (Set (Var "r"))) "}" )))) ; begin theorem :: METRIC_1:20 (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool (Set (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_binop_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "x")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) ; theorem :: METRIC_1:21 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 1) "st" (Bool (Bool (Set (Var "x")) ($#r1_hidden :::"<>"::: ) (Set (Var "y")))) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<"::: ) (Set (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ))) ; theorem :: METRIC_1:22 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 1) "holds" (Bool (Set (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "y")) "," (Set (Var "x")) ")" ))) ; theorem :: METRIC_1:23 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "," (Set (Var "z")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 1) "holds" (Bool (Set (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "z")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "y")) "," (Set (Var "z")) ")" ")" )))) ; theorem :: METRIC_1:24 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "," (Set (Var "z")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 1) "holds" (Bool (Set (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "z")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set ($#k4_xxreal_0 :::"max"::: ) "(" (Set "(" (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ")" ) "," (Set "(" (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "y")) "," (Set (Var "z")) ")" ")" ) ")" ))) ; definitionlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "A")) "," (Set (Const "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ); attr "f" is :::"Discerning"::: means :: METRIC_1:def 17 (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "st" (Bool (Bool (Set (Var "a")) ($#r1_hidden :::"<>"::: ) (Set (Var "b")))) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<"::: ) (Set "f" ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ))); end; :: deftheorem defines :::"Discerning"::: METRIC_1:def 17 : (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) "holds" (Bool "(" (Bool (Set (Var "f")) "is" ($#v10_metric_1 :::"Discerning"::: ) ) "iff" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "a")) ($#r1_hidden :::"<>"::: ) (Set (Var "b")))) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<"::: ) (Set (Set (Var "f")) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ))) ")" ))); definitionlet "M" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) ; attr "M" is :::"Discerning"::: means :: METRIC_1:def 18 (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" "M") "is" ($#v10_metric_1 :::"Discerning"::: ) ); end; :: deftheorem defines :::"Discerning"::: METRIC_1:def 18 : (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool (Set (Var "M")) "is" ($#v11_metric_1 :::"Discerning"::: ) ) "iff" (Bool (Set "the" ($#u1_metric_1 :::"distance"::: ) "of" (Set (Var "M"))) "is" ($#v10_metric_1 :::"Discerning"::: ) ) ")" )); theorem :: METRIC_1:25 (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool "(" "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "st" (Bool (Bool (Set (Var "a")) ($#r1_hidden :::"<>"::: ) (Set (Var "b")))) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<"::: ) (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" )) ")" ) "iff" (Bool (Set (Var "M")) "is" ($#v11_metric_1 :::"Discerning"::: ) ) ")" )) ; registration cluster (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Num 1) "," (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) "#)" ) -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ; end; registration cluster (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Num 1) "," (Set ($#k3_metric_1 :::"Empty^2-to-zero"::: ) ) "#)" ) -> ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#v11_metric_1 :::"Discerning"::: ) ; end; definitionlet "M" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) ; attr "M" is :::"ultra"::: means :: METRIC_1:def 19 (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "," (Set (Var "c")) "being" ($#m1_subset_1 :::"Element":::) "of" "M" "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "c")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set ($#k4_xxreal_0 :::"max"::: ) "(" (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) "," (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "c")) ")" ")" ) ")" ))); end; :: deftheorem defines :::"ultra"::: METRIC_1:def 19 : (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) "holds" (Bool "(" (Bool (Set (Var "M")) "is" ($#v12_metric_1 :::"ultra"::: ) ) "iff" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "," (Set (Var "c")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "c")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set ($#k4_xxreal_0 :::"max"::: ) "(" (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) "," (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "b")) "," (Set (Var "c")) ")" ")" ) ")" ))) ")" )); registration cluster ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_metric_1 :::"strict"::: ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#v11_metric_1 :::"Discerning"::: ) ($#v12_metric_1 :::"ultra"::: ) for ($#l1_metric_1 :::"MetrStruct"::: ) ; end; theorem :: METRIC_1:26 (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v11_metric_1 :::"Discerning"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k6_numbers :::"0"::: ) ) ($#r1_xxreal_0 :::"<="::: ) (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" )))) ; definitionmode PseudoMetricSpace is ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) ; mode SemiMetricSpace is ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v11_metric_1 :::"Discerning"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) ; mode NonSymmetricMetricSpace is ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#v11_metric_1 :::"Discerning"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) ; mode UltraMetricSpace is ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v11_metric_1 :::"Discerning"::: ) ($#v12_metric_1 :::"ultra"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) ; end; registration cluster ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v7_metric_1 :::"discerning"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v11_metric_1 :::"Discerning"::: ) for ($#l1_metric_1 :::"MetrStruct"::: ) ; end; registration cluster ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v11_metric_1 :::"Discerning"::: ) ($#v12_metric_1 :::"ultra"::: ) -> ($#v7_metric_1 :::"discerning"::: ) ($#v9_metric_1 :::"triangle"::: ) for ($#l1_metric_1 :::"MetrStruct"::: ) ; end; definitionfunc :::"Set_to_zero"::: -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Num 2) "," (Num 2) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k1_numbers :::"REAL"::: ) ) equals :: METRIC_1:def 20 (Set (Set ($#k2_zfmisc_1 :::"[:"::: ) (Num 2) "," (Num 2) ($#k2_zfmisc_1 :::":]"::: ) ) ($#k8_funcop_1 :::"-->"::: ) (Set ($#k6_numbers :::"0"::: ) )); end; :: deftheorem defines :::"Set_to_zero"::: METRIC_1:def 20 : (Bool (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#r1_hidden :::"="::: ) (Set (Set ($#k2_zfmisc_1 :::"[:"::: ) (Num 2) "," (Num 2) ($#k2_zfmisc_1 :::":]"::: ) ) ($#k8_funcop_1 :::"-->"::: ) (Set ($#k6_numbers :::"0"::: ) ))); theorem :: METRIC_1:27 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 2) "holds" (Bool (Set (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) ))) ; theorem :: METRIC_1:28 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 2) "holds" (Bool (Set (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "y")) "," (Set (Var "x")) ")" ))) ; theorem :: METRIC_1:29 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "," (Set (Var "z")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Num 2) "holds" (Bool (Set (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "z")) ")" ) ($#r1_xxreal_0 :::"<="::: ) (Set (Set "(" (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "x")) "," (Set (Var "y")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) ($#k1_metric_1 :::"."::: ) "(" (Set (Var "y")) "," (Set (Var "z")) ")" ")" )))) ; definitionfunc :::"ZeroSpace"::: -> ($#l1_metric_1 :::"MetrStruct"::: ) equals :: METRIC_1:def 21 (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Num 2) "," (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) "#)" ); end; :: deftheorem defines :::"ZeroSpace"::: METRIC_1:def 21 : (Bool (Set ($#k13_metric_1 :::"ZeroSpace"::: ) ) ($#r1_hidden :::"="::: ) (Set ($#g1_metric_1 :::"MetrStruct"::: ) "(#" (Num 2) "," (Set ($#k12_metric_1 :::"Set_to_zero"::: ) ) "#)" )); registration cluster (Set ($#k13_metric_1 :::"ZeroSpace"::: ) ) -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_metric_1 :::"strict"::: ) ; end; registration cluster (Set ($#k13_metric_1 :::"ZeroSpace"::: ) ) -> ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ; end; definitionlet "S" be ($#l1_metric_1 :::"MetrStruct"::: ) ; let "p", "q", "r" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "S")); pred "q" :::"is_between"::: "p" "," "r" means :: METRIC_1:def 22 (Bool "(" (Bool "p" ($#r1_hidden :::"<>"::: ) "q") & (Bool "p" ($#r1_hidden :::"<>"::: ) "r") & (Bool "q" ($#r1_hidden :::"<>"::: ) "r") & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" "p" "," "r" ")" ) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" "p" "," "q" ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" "q" "," "r" ")" ")" ))) ")" ); end; :: deftheorem defines :::"is_between"::: METRIC_1:def 22 : (Bool "for" (Set (Var "S")) "being" ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "q")) "," (Set (Var "r")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "S")) "holds" (Bool "(" (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r"))) "iff" (Bool "(" (Bool (Set (Var "p")) ($#r1_hidden :::"<>"::: ) (Set (Var "q"))) & (Bool (Set (Var "p")) ($#r1_hidden :::"<>"::: ) (Set (Var "r"))) & (Bool (Set (Var "q")) ($#r1_hidden :::"<>"::: ) (Set (Var "r"))) & (Bool (Set ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "p")) "," (Set (Var "q")) ")" ")" ) ($#k7_real_1 :::"+"::: ) (Set "(" ($#k2_metric_1 :::"dist"::: ) "(" (Set (Var "q")) "," (Set (Var "r")) ")" ")" ))) ")" ) ")" ))); theorem :: METRIC_1:30 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v6_metric_1 :::"Reflexive"::: ) ($#v8_metric_1 :::"symmetric"::: ) ($#v9_metric_1 :::"triangle"::: ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "q")) "," (Set (Var "r")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r")))) "holds" (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "r")) "," (Set (Var "p"))))) ; theorem :: METRIC_1:31 (Bool "for" (Set (Var "S")) "being" ($#l1_metric_1 :::"MetrSpace":::) (Bool "for" (Set (Var "p")) "," (Set (Var "q")) "," (Set (Var "r")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r")))) "holds" (Bool "(" (Bool (Bool "not" (Set (Var "p")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "q")) "," (Set (Var "r")))) & (Bool (Bool "not" (Set (Var "r")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "q")))) ")" ))) ; theorem :: METRIC_1:32 (Bool "for" (Set (Var "S")) "being" ($#l1_metric_1 :::"MetrSpace":::) (Bool "for" (Set (Var "p")) "," (Set (Var "q")) "," (Set (Var "r")) "," (Set (Var "s")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r"))) & (Bool (Set (Var "r")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "s")))) "holds" (Bool "(" (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "s"))) & (Bool (Set (Var "r")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "q")) "," (Set (Var "s"))) ")" ))) ; definitionlet "M" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) ; let "p", "r" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); func :::"open_dist_Segment"::: "(" "p" "," "r" ")" -> ($#m1_subset_1 :::"Subset":::) "of" "M" equals :: METRIC_1:def 23 "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" "M" : (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) "p" "," "r") "}" ; end; :: deftheorem defines :::"open_dist_Segment"::: METRIC_1:def 23 : (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "r")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k14_metric_1 :::"open_dist_Segment"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_hidden :::"="::: ) "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r"))) "}" ))); theorem :: METRIC_1:33 (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrSpace":::) (Bool "for" (Set (Var "p")) "," (Set (Var "r")) "," (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool "(" (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k14_metric_1 :::"open_dist_Segment"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool (Set (Var "x")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r"))) ")" ))) ; definitionlet "M" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) ; let "p", "r" be ($#m1_subset_1 :::"Element":::) "of" (Set (Const "M")); func :::"close_dist_Segment"::: "(" "p" "," "r" ")" -> ($#m1_subset_1 :::"Subset":::) "of" "M" equals :: METRIC_1:def 24 (Set "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" "M" : (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) "p" "," "r") "}" ($#k2_xboole_0 :::"\/"::: ) (Set ($#k2_tarski :::"{"::: ) "p" "," "r" ($#k2_tarski :::"}"::: ) )); end; :: deftheorem defines :::"close_dist_Segment"::: METRIC_1:def 24 : (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "r")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool (Set ($#k15_metric_1 :::"close_dist_Segment"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" ) ($#r1_hidden :::"="::: ) (Set "{" (Set (Var "q")) where q "is" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) : (Bool (Set (Var "q")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r"))) "}" ($#k2_xboole_0 :::"\/"::: ) (Set ($#k2_tarski :::"{"::: ) (Set (Var "p")) "," (Set (Var "r")) ($#k2_tarski :::"}"::: ) ))))); theorem :: METRIC_1:34 (Bool "for" (Set (Var "M")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_metric_1 :::"MetrStruct"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "r")) "," (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "M")) "holds" (Bool "(" (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k15_metric_1 :::"close_dist_Segment"::: ) "(" (Set (Var "p")) "," (Set (Var "r")) ")" )) "iff" (Bool "(" (Bool (Set (Var "x")) ($#r1_metric_1 :::"is_between"::: ) (Set (Var "p")) "," (Set (Var "r"))) "or" (Bool (Set (Var "x")) ($#r1_hidden :::"="::: ) (Set (Var "p"))) "or" (Bool (Set (Var "x")) ($#r1_hidden :::"="::: ) (Set (Var "r"))) ")" ) ")" ))) ;