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

Theorem metreslem 7822
Description: Lemma for metres 7823. (Contributed by FL, 10-Nov-2006.)
Hypotheses
Ref Expression
metf.1 |- X = dom dom D
metreslem.2 |- A = dom dom ( D |` (R X. R))
Assertion
Ref Expression
metreslem |- ((D e. Met /\ R (_ X) -> (D |` (R X. R)) e. Met)

Proof of Theorem metreslem
StepHypRef Expression
1 fssres 3643 . . . . . 6 |- ((D:(X X. X)-->RR /\ (R X. R) (_ (X X. X)) -> (D |` (R X. R)):(R X. R)-->RR)
2 ssxp 3256 . . . . . . 7 |- ((R (_ X /\ R (_ X) -> (R X. R) (_ (X X. X))
32anidms 434 . . . . . 6 |- (R (_ X -> (R X. R) (_ (X X. X))
41, 3sylan2 451 . . . . 5 |- ((D:(X X. X)-->RR /\ R (_ X) -> (D |` (R X. R)):(R X. R)-->RR)
5 ssel 2063 . . . . . . . . 9 |- (R (_ X -> (x e. R -> x e. X))
6 ssel 2063 . . . . . . . . . . 11 |- (R (_ X -> (y e. R -> y e. X))
7 ssralv 2114 . . . . . . . . . . . 12 |- (R (_ X -> (A.z e. X (xDy) <_ ((zDx) + (zDy)) -> A.z e. R (xDy) <_ ((zDx) + (zDy))))
87anim2d 561 . . . . . . . . . . 11 |- (R (_ X -> ((((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))) -> (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy)))))
96, 8imim12d 29 . . . . . . . . . 10 |- (R (_ X -> ((y e. X -> (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy)))) -> (y e. R -> (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy))))))
109r19.20dv2 1711 . . . . . . . . 9 |- (R (_ X -> (A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))) -> A.y e. R (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy)))))
115, 10imim12d 29 . . . . . . . 8 |- (R (_ X -> ((x e. X -> A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy)))) -> (x e. R -> A.y e. R (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy))))))
1211r19.20dv2 1711 . . . . . . 7 |- (R (_ X -> (A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))) -> A.x e. R A.y e. R (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy)))))
13 oprvalres 4033 . . . . . . . . . . . 12 |- ((x e. R /\ y e. R) -> (x(D |` (R X. R))y) = (xDy))
1413eqeq1d 1483 . . . . . . . . . . 11 |- ((x e. R /\ y e. R) -> ((x(D |` (R X. R))y) = 0 <-> (xDy) = 0))
1514bibi1d 619 . . . . . . . . . 10 |- ((x e. R /\ y e. R) -> (((x(D |` (R X. R))y) = 0 <-> x = y) <-> ((xDy) = 0 <-> x = y)))
1613adantl 388 . . . . . . . . . . . . 13 |- ((z e. R /\ (x e. R /\ y e. R)) -> (x(D |` (R X. R))y) = (xDy))
17 oprvalres 4033 . . . . . . . . . . . . . . 15 |- ((z e. R /\ x e. R) -> (z(D |` (R X. R))x) = (zDx))
18 oprvalres 4033 . . . . . . . . . . . . . . 15 |- ((z e. R /\ y e. R) -> (z(D |` (R X. R))y) = (zDy))
1917, 18opreqan12d 3979 . . . . . . . . . . . . . 14 |- (((z e. R /\ x e. R) /\ (z e. R /\ y e. R)) -> ((z(D |` (R X. R))x) + (z(D |` (R X. R))y)) = ((zDx) + (zDy)))
2019anandis 512 . . . . . . . . . . . . 13 |- ((z e. R /\ (x e. R /\ y e. R)) -> ((z(D |` (R X. R))x) + (z(D |` (R X. R))y)) = ((zDx) + (zDy)))
2116, 20breq12d 2631 . . . . . . . . . . . 12 |- ((z e. R /\ (x e. R /\ y e. R)) -> ((x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y)) <-> (xDy) <_ ((zDx) + (zDy))))
2221ancoms 436 . . . . . . . . . . 11 |- (((x e. R /\ y e. R) /\ z e. R) -> ((x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y)) <-> (xDy) <_ ((zDx) + (zDy))))
2322ralbidva 1659 . . . . . . . . . 10 |- ((x e. R /\ y e. R) -> (A.z e. R (x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y)) <-> A.z e. R (xDy) <_ ((zDx) + (zDy))))
2415, 23anbi12d 628 . . . . . . . . 9 |- ((x e. R /\ y e. R) -> ((((x(D |` (R X. R))y) = 0 <-> x = y) /\ A.z e. R (x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y))) <-> (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy)))))
2524ralbidva 1659 . . . . . . . 8 |- (x e. R -> (A.y e. R (((x(D |` (R X. R))y) = 0 <-> x = y) /\ A.z e. R (x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y))) <-> A.y e. R (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy)))))
2625ralbiia 1673 . . . . . . 7 |- (A.x e. R A.y e. R (((x(D |` (R X. R))y) = 0 <-> x = y) /\ A.z e. R (x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y))) <-> A.x e. R A.y e. R (((xDy) = 0 <-> x = y) /\ A.z e. R (xDy) <_ ((zDx) + (zDy))))
2712, 26syl6ibr 213 . . . . . 6 |- (R (_ X -> (A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))) -> A.x e. R A.y e. R (((x(D |` (R X. R))y) = 0 <-> x = y) /\ A.z e. R (x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y)))))
2827impcom 351 . . . . 5 |- ((A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))) /\ R (_ X) -> A.x e. R A.y e. R (((x(D |` (R X. R))y) = 0 <-> x = y) /\ A.z e. R (x(D |` (R X. R))y) <_ ((z(D |` (R X. R))x) + (z(D |` (R X. R))y))))
294, 28anim12i 333 . . . 4 |- (((D:(X X. X)-->RR /\ R (_ X) /\ (A.x e. X A.y e. X (((xDy) = 0 <-> x = y) /\ A.z e. X (xDy) <_ ((zDx) + (zDy))) /\ R (_ X)) -> ((D |` (R X. R)):(R X. R)-->RR /\ A.x e. R A.y e. R (((x(D |` (R X. R))y) = 0 <-> x = y) /\ A.z e. R (x(D |` (