HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem ismet 7798
Description: Express the predicate "D is a metric."
Hypothesis
Ref Expression
ismet.1 |- X = dom dom D
Assertion
Ref Expression
ismet |- (D e. A -> (D e. Met <-> (D:(X X. X)-->RR /\ A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))))))
Distinct variable groups:   x,y,z,D   x,X,y,z

Proof of Theorem ismet
StepHypRef Expression
1 feq1 3620 . . . . . 6 |- (d = D -> (d:(t X. t)-->RR <-> D:(t X. t)-->RR))
2 opreq 3967 . . . . . . . . . 10 |- (d = D -> (xdy) = (xDy))
32eqeq1d 1483 . . . . . . . . 9 |- (d = D -> ((xdy) = 0 <-> (xDy) = 0))
43bibi1d 619 . . . . . . . 8 |- (d = D -> (((xdy) = 0 <-> x = y) <-> ((xDy) = 0 <-> x = y)))
5 opreq 3967 . . . . . . . . . . 11 |- (d = D -> (zdx) = (zDx))
6 opreq 3967 . . . . . . . . . . 11 |- (d = D -> (zdy) = (zDy))
75, 6opreq12d 3978 . . . . . . . . . 10 |- (d = D -> ((zdx) + (zdy)) = ((zDx) + (zDy)))
82, 7breq12d 2631 . . . . . . . . 9 |- (d = D -> ((xdy) <_ ((zdx) + (zdy)) <-> (xDy) <_ ((zDx) + (zDy))))
98ralbidv 1663 . . . . . . . 8 |- (d = D -> (A.z e. t (xdy) <_ ((zdx) + (zdy)) <-> A.z e. t (xDy) <_ ((zDx) + (zDy))))
104, 9anbi12d 628 . . . . . . 7 |- (d = D -> ((((xdy) = 0 <-> x = y) /\ A.z e. t (xdy) <_ ((zdx) + (zdy))) <-> (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))))
11102ralbidv 1680 . . . . . 6 |- (d = D -> (A.x e. t A.y e. t (((xdy) = 0 <-> x = y) /\ A.z e. t (xdy) <_ ((zdx) + (zdy))) <-> A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))))
121, 11anbi12d 628 . . . . 5 |- (d = D -> ((d:(t X. t)-->RR /\ A.x e. t A.y e. t (((xdy) = 0 <-> x = y) /\ A.z e. t (xdy) <_ ((zdx) + (zdy)))) <-> (D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))))))
1312exbidv 1279 . . . 4 |- (d = D -> (E.t(d:(t X. t)-->RR /\ A.x e. t A.y e. t (((xdy) = 0 <-> x = y) /\ A.z e. t (xdy) <_ ((zdx) + (zdy)))) <-> E.t(D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))))))
14 df-met 7793 . . . 4 |- Met = {d | E.t(d:(t X. t)-->RR /\ A.x e. t A.y e. t (((xdy) = 0 <-> x = y) /\ A.z e. t (xdy) <_ ((zdx) + (zdy))))}
1513, 14elab2g 1900 . . 3 |- (D e. A -> (D e. Met <-> E.t(D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))))))
16 fdm 3631 . . . . . . 7 |- (D:(t X. t)-->RR -> dom D = (t X. t))
17 dmeq 3311 . . . . . . . 8 |- (dom D = (t X. t) -> dom dom D = dom ( t X. t))
18 dmxpid 3333 . . . . . . . 8 |- dom ( t X. t) = t
1917, 18syl6req 1524 . . . . . . 7 |- (dom D = (t X. t) -> t = dom dom D)
2016, 19syl 10 . . . . . 6 |- (D:(t X. t)-->RR -> t = dom dom D)
2120adantr 389 . . . . 5 |- ((D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))) -> t = dom dom D)
2221pm4.71ri 638 . . . 4 |- ((D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))) <-> (t = dom dom D /\ (D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))))))
2322exbii 1051 . . 3 |- (E.t(D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))) <-> E.t(t = dom dom D /\ (D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))))))
2415, 23syl6bb 536 . 2 |- (D e. A -> (D e. Met <-> E.t(t = dom dom D /\ (D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))))))
25 dmexg 3358 . . 3 |- (D e. A -> dom D e. V)
26 dmexg 3358 . . 3 |- (dom D e. V -> dom dom D e. V)
27 ismet.1 . . . . . 6 |- X = dom dom D
2827eqeq2i 1485 . . . . 5 |- (t = X <-> t = dom dom D)
29 xpeq1 3200 . . . . . . . 8 |- (t = X -> (t X. t) = (X X. t))
30 xpeq2 3201 . . . . . . . 8 |- (t = X -> (X X. t) = (X X. X))
3129, 30eqtrd 1507 . . . . . . 7 |- (t = X -> (t X. t) = (X X. X))
32 feq2 3621 . . . . . . 7 |- ((t X. t) = (X X. X) -> (D:(t X. t)-->RR <-> D:(X X. X)-->RR))
3331, 32syl 10 . . . . . 6 |- (t = X -> (D:(t X. t)-->RR <-> D:(X X. X)-->RR))
34 raleq1 1786 . . . . . . . . 9 |- (t = X -> (A.z e. t (xDy) <_ ((zDx) + (zDy)) <-> A.z e. X (xDy) <_ ((zDx) + (zDy))))
3534anbi2d 616 . . . . . . . 8 |- (t = X -> ((((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))) <-> (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy)))))
3635raleqd 1791 . . . . . . 7 |- (t = X -> (A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))) <-> A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy)))))
3736raleqd 1791 . . . . . 6 |- (t = X -> (A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy))) <-> A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy)))))
3833, 37anbi12d 628 . . . . 5 |- (t = X -> ((D:(t X. t)-->RR /\ A.x e. t A.y e. t (((xDy) = 0 <-> x = y) /\ A.z e. t (xDy) <_ ((zDx) + (zDy)))) <-> (D:(X X. X)-->RR /\ A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))))))
3928, 38sylbir 201 . . . 4 |- (t = dom dom D -> ((D:(t X. t)-->