Metamath Proof Explorer


Theorem dff3

Description: Alternate definition of a mapping. (Contributed by NM, 20-Mar-2007)

Ref Expression
Assertion dff3 ⊢ F : A ⟶ B ↔ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y

Proof

Step Hyp Ref Expression
1 fssxp ⊢ F : A ⟶ B → F ⊆ A × B
2 ffun ⊢ F : A ⟶ B → Fun ⁡ F
3 fdm ⊢ F : A ⟶ B → dom ⁡ F = A
4 3 eleq2d ⊢ F : A ⟶ B → x ∈ dom ⁡ F ↔ x ∈ A
5 4 biimpar ⊢ F : A ⟶ B ∧ x ∈ A → x ∈ dom ⁡ F
6 funfvop ⊢ Fun ⁡ F ∧ x ∈ dom ⁡ F → x F ⁡ x ∈ F
7 2 5 6 syl2an2r ⊢ F : A ⟶ B ∧ x ∈ A → x F ⁡ x ∈ F
8 df-br ⊢ x F F ⁡ x ↔ x F ⁡ x ∈ F
9 7 8 sylibr ⊢ F : A ⟶ B ∧ x ∈ A → x F F ⁡ x
10 fvex ⊢ F ⁡ x ∈ V
11 breq2 ⊢ y = F ⁡ x → x F y ↔ x F F ⁡ x
12 10 11 spcev ⊢ x F F ⁡ x → ∃ y x F y
13 9 12 syl ⊢ F : A ⟶ B ∧ x ∈ A → ∃ y x F y
14 funmo ⊢ Fun ⁡ F → ∃* y x F y
15 2 14 syl ⊢ F : A ⟶ B → ∃* y x F y
16 15 adantr ⊢ F : A ⟶ B ∧ x ∈ A → ∃* y x F y
17 df-eu ⊢ ∃! y x F y ↔ ∃ y x F y ∧ ∃* y x F y
18 13 16 17 sylanbrc ⊢ F : A ⟶ B ∧ x ∈ A → ∃! y x F y
19 18 ralrimiva ⊢ F : A ⟶ B → ∀ x ∈ A ∃! y x F y
20 1 19 jca ⊢ F : A ⟶ B → F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y
21 xpss ⊢ A × B ⊆ V × V
22 sstr ⊢ F ⊆ A × B ∧ A × B ⊆ V × V → F ⊆ V × V
23 21 22 mpan2 ⊢ F ⊆ A × B → F ⊆ V × V
24 df-rel ⊢ Rel ⁡ F ↔ F ⊆ V × V
25 23 24 sylibr ⊢ F ⊆ A × B → Rel ⁡ F
26 25 adantr ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → Rel ⁡ F
27 df-ral ⊢ ∀ x ∈ A ∃! y x F y ↔ ∀ x x ∈ A → ∃! y x F y
28 eumo ⊢ ∃! y x F y → ∃* y x F y
29 28 imim2i ⊢ x ∈ A → ∃! y x F y → x ∈ A → ∃* y x F y
30 29 adantl ⊢ F ⊆ A × B ∧ x ∈ A → ∃! y x F y → x ∈ A → ∃* y x F y
31 df-br ⊢ x F y ↔ x y ∈ F
32 ssel ⊢ F ⊆ A × B → x y ∈ F → x y ∈ A × B
33 31 32 biimtrid ⊢ F ⊆ A × B → x F y → x y ∈ A × B
34 opelxp1 ⊢ x y ∈ A × B → x ∈ A
35 33 34 syl6 ⊢ F ⊆ A × B → x F y → x ∈ A
36 35 exlimdv ⊢ F ⊆ A × B → ∃ y x F y → x ∈ A
37 36 con3d ⊢ F ⊆ A × B → ¬ x ∈ A → ¬ ∃ y x F y
38 nexmo ⊢ ¬ ∃ y x F y → ∃* y x F y
39 37 38 syl6 ⊢ F ⊆ A × B → ¬ x ∈ A → ∃* y x F y
40 39 adantr ⊢ F ⊆ A × B ∧ x ∈ A → ∃! y x F y → ¬ x ∈ A → ∃* y x F y
41 30 40 pm2.61d ⊢ F ⊆ A × B ∧ x ∈ A → ∃! y x F y → ∃* y x F y
42 41 ex ⊢ F ⊆ A × B → x ∈ A → ∃! y x F y → ∃* y x F y
43 42 alimdv ⊢ F ⊆ A × B → ∀ x x ∈ A → ∃! y x F y → ∀ x ∃* y x F y
44 27 43 biimtrid ⊢ F ⊆ A × B → ∀ x ∈ A ∃! y x F y → ∀ x ∃* y x F y
45 44 imp ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → ∀ x ∃* y x F y
46 dffun6 ⊢ Fun ⁡ F ↔ Rel ⁡ F ∧ ∀ x ∃* y x F y
47 26 45 46 sylanbrc ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → Fun ⁡ F
48 dmss ⊢ F ⊆ A × B → dom ⁡ F ⊆ dom ⁡ A × B
49 dmxpss ⊢ dom ⁡ A × B ⊆ A
50 48 49 sstrdi ⊢ F ⊆ A × B → dom ⁡ F ⊆ A
51 breq1 ⊢ x = z → x F y ↔ z F y
52 51 eubidv ⊢ x = z → ∃! y x F y ↔ ∃! y z F y
53 52 rspccv ⊢ ∀ x ∈ A ∃! y x F y → z ∈ A → ∃! y z F y
54 euex ⊢ ∃! y z F y → ∃ y z F y
55 vex ⊢ z ∈ V
56 55 eldm ⊢ z ∈ dom ⁡ F ↔ ∃ y z F y
57 54 56 sylibr ⊢ ∃! y z F y → z ∈ dom ⁡ F
58 53 57 syl6 ⊢ ∀ x ∈ A ∃! y x F y → z ∈ A → z ∈ dom ⁡ F
59 58 ssrdv ⊢ ∀ x ∈ A ∃! y x F y → A ⊆ dom ⁡ F
60 50 59 anim12i ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → dom ⁡ F ⊆ A ∧ A ⊆ dom ⁡ F
61 eqss ⊢ dom ⁡ F = A ↔ dom ⁡ F ⊆ A ∧ A ⊆ dom ⁡ F
62 60 61 sylibr ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → dom ⁡ F = A
63 df-fn ⊢ F Fn A ↔ Fun ⁡ F ∧ dom ⁡ F = A
64 47 62 63 sylanbrc ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → F Fn A
65 rnss ⊢ F ⊆ A × B → ran ⁡ F ⊆ ran ⁡ A × B
66 rnxpss ⊢ ran ⁡ A × B ⊆ B
67 65 66 sstrdi ⊢ F ⊆ A × B → ran ⁡ F ⊆ B
68 67 adantr ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → ran ⁡ F ⊆ B
69 df-f ⊢ F : A ⟶ B ↔ F Fn A ∧ ran ⁡ F ⊆ B
70 64 68 69 sylanbrc ⊢ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y → F : A ⟶ B
71 20 70 impbii ⊢ F : A ⟶ B ↔ F ⊆ A × B ∧ ∀ x ∈ A ∃! y x F y