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

Theorem dom2d 4404
Description: A mapping (first hypothesis) that is one-to-one (second hypothesis) implies its domain is dominated by its range.
Hypotheses
Ref Expression
dom2d.1 |- (ph -> (x e. A -> C e. B))
dom2d.2 |- (ph -> ((x e. A /\ y e. A) -> (C = D <-> x = y)))
Assertion
Ref Expression
dom2d |- (ph -> (A e. R -> A ~<_ B))
Distinct variable groups:   x,y,A   x,B,y   y,C   x,D   ph,x,y

Proof of Theorem dom2d
StepHypRef Expression
1 f1domg 4396 . 2 |- (A e. R -> ({<.x, y>. | (x e. A /\ y = C)}:A-1-1->B -> A ~<_ B))
2 dom2d.1 . . . . . 6 |- (ph -> (x e. A -> C e. B))
32r19.21aiv 1713 . . . . 5 |- (ph -> A.x e. A C e. B)
4 eqid 1475 . . . . . 6 |- {<.x, y>. | (x e. A /\ y = C)} = {<.x, y>. | (x e. A /\ y = C)}
54fopab2 3823 . . . . 5 |- (A.x e. A C e. B <-> {<.x, y>. | (x e. A /\ y = C)}:A-->B)
63, 5sylib 198 . . . 4 |- (ph -> {<.x, y>. | (x e. A /\ y = C)}:A-->B)
72imp 350 . . . . . . . . . 10 |- ((ph /\ x e. A) -> C e. B)
8 fvopab2 3791 . . . . . . . . . . 11 |- ((x e. A /\ C e. B) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C)
98adantll 392 . . . . . . . . . 10 |- (((ph /\ x e. A) /\ C e. B) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C)
107, 9mpdan 704 . . . . . . . . 9 |- ((ph /\ x e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C)
1110adantrr 395 . . . . . . . 8 |- ((ph /\ (x e. A /\ y e. A)) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C)
12 ax-17 971 . . . . . . . . . . 11 |- ((ph /\ y e. A) -> A.x(ph /\ y e. A))
13 hbopab1 2813 . . . . . . . . . . . . 13 |- (z e. {<.x, y>. | (x e. A /\ y = C)} -> A.x z e. {<.x, y>. | (x e. A /\ y = C)})
14 ax-17 971 . . . . . . . . . . . . 13 |- (z e. y -> A.x z e. y)
1513, 14hbfv 3729 . . . . . . . . . . . 12 |- (z e. ({<.x, y>. | (x e. A /\ y = C)}` y) -> A.x z e. ({<.x, y>. | (x e. A /\ y = C)}` y))
16 ax-17 971 . . . . . . . . . . . 12 |- (z e. D -> A.x z e. D)
1715, 16hbeq 1565 . . . . . . . . . . 11 |- (({<.x, y>. | (x e. A /\ y = C)}` y) = D -> A.x({<.x, y>. | (x e. A /\ y = C)}` y) = D)
1812, 17hbim 1007 . . . . . . . . . 10 |- (((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` y) = D) -> A.x((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` y) = D))
19 eleq1 1534 . . . . . . . . . . . . 13 |- (x = y -> (x e. A <-> y e. A))
2019anbi2d 616 . . . . . . . . . . . 12 |- (x = y -> ((ph /\ x e. A) <-> (ph /\ y e. A)))
2120imbi1d 613 . . . . . . . . . . 11 |- (x = y -> (((ph /\ x e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C) <-> ((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C)))
2219anbi1d 617 . . . . . . . . . . . . . . 15 |- (x = y -> ((x e. A /\ y e. A) <-> (y e. A /\ y e. A)))
23 anidm 432 . . . . . . . . . . . . . . 15 |- ((y e. A /\ y e. A) <-> y e. A)
2422, 23syl6bb 536 . . . . . . . . . . . . . 14 |- (x = y -> ((x e. A /\ y e. A) <-> y e. A))
2524anbi2d 616 . . . . . . . . . . . . 13 |- (x = y -> ((ph /\ (x e. A /\ y e. A)) <-> (ph /\ y e. A)))
26 fveq2 3724 . . . . . . . . . . . . . . . 16 |- (x = y -> ({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y))
2726adantr 389 . . . . . . . . . . . . . . 15 |- ((x = y /\ (ph /\ (x e. A /\ y e. A))) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y))
28 dom2d.2 . . . . . . . . . . . . . . . . 17 |- (ph -> ((x e. A /\ y e. A) -> (C = D <-> x = y)))
2928imp 350 . . . . . . . . . . . . . . . 16 |- ((ph /\ (x e. A /\ y e. A)) -> (C = D <-> x = y))
3029biimparc 419 . . . . . . . . . . . . . . 15 |- ((x = y /\ (ph /\ (x e. A /\ y e. A))) -> C = D)
3127, 30eqeq12d 1489 . . . . . . . . . . . . . 14 |- ((x = y /\ (ph /\ (x e. A /\ y e. A))) -> (({<.x, y>. | (x e. A /\ y = C)}` x) = C <-> ({<.x, y>. | (x e. A /\ y = C)}` y) = D))
3231ex 373 . . . . . . . . . . . . 13 |- (x = y -> ((ph /\ (x e. A /\ y e. A)) -> (({<.x, y>. | (x e. A /\ y = C)}` x) = C <-> ({<.x, y>. | (x e. A /\ y = C)}` y) = D)))
3325, 32sylbird 205 . . . . . . . . . . . 12 |- (x = y -> ((ph /\ y e. A) -> (({<.x, y>. | (x e. A /\ y = C)}` x) = C <-> ({<.x, y>. | (x e. A /\ y = C)}` y) = D)))
3433pm5.74d 585 . . . . . . . . . . 11 |- (x = y -> (((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C) <-> ((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` y) = D)))
3521, 34bitrd 528 . . . . . . . . . 10 |- (x = y -> (((ph /\ x e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` x) = C) <-> ((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` y) = D)))
3618, 35, 10chvar 1167 . . . . . . . . 9 |- ((ph /\ y e. A) -> ({<.x, y>. | (x e. A /\ y = C)}` y) = D)
3736adantrl 394 . . . . . . . 8 |- ((ph /\ (x e. A /\ y e. A)) -> ({<.x, y>. | (x e. A /\ y = C)}` y) = D)
3811, 37eqeq12d 1489 . . . . . . 7 |- ((ph /\ (x e. A /\ y e. A)) -> (({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y) <-> C = D))
3929biimpd 153 . . . . . . 7 |- ((ph /\ (x e. A /\ y e. A)) -> (C = D -> x = y))
4038, 39sylbid 203 . . . . . 6 |- ((ph /\ (x e. A /\ y e. A)) -> (({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y) -> x = y))
4140ex 373 . . . . 5 |- (ph -> ((x e. A /\ y e. A) -> (({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y) -> x = y)))
4241r19.21aivv 1720 . . . 4 |- (ph -> A.x e. A A.y e. A (({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y) -> x = y))
436, 42jca 288 . . 3 |- (ph -> ({<.x, y>. | (x e. A /\ y = C)}:A-->B /\ A.x e. A A.y e. A (({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y) -> x = y)))
44 hbopab2 2814 . . . 4 |- (z e. {<.x, y>. | (x e. A /\ y = C)} -> A.y z e. {<.x, y>. | (x e. A /\ y = C)})
4513, 44f1fvf 3875 . . 3 |- ({<.x, y>. | (x e. A /\ y = C)}:A-1-1->B <-> ({<.x, y>. | (x e. A /\ y = C)}:A-->B /\ A.x e. A A.y e. A (({<.x, y>. | (x e. A /\ y = C)}` x) = ({<.x, y>. | (x e. A /\ y = C)}` y) -> x = y)))
4643, 45sylibr 200 . 2 |- (ph -> {<.x, y>. | (x e. A /\ y = C)}:A-1-1->B)
471, 46syl5com 52 1