Metamath Proof Explorer


Theorem mptfnf

Description: The maps-to notation defines a function with domain. (Contributed by Scott Fenton, 21-Mar-2011) (Revised by Thierry Arnoux, 10-May-2017)

Ref Expression
Hypothesis mptfnf.0 ⊢ Ⅎ _ x A
Assertion mptfnf ⊢ ∀ x ∈ A B ∈ V ↔ x ∈ A ⟼ B Fn A

Proof

Step Hyp Ref Expression
1 mptfnf.0 ⊢ Ⅎ _ x A
2 eueq ⊢ B ∈ V ↔ ∃! y y = B
3 2 ralbii ⊢ ∀ x ∈ A B ∈ V ↔ ∀ x ∈ A ∃! y y = B
4 r19.26 ⊢ ∀ x ∈ A ∃ y y = B ∧ ∃* y y = B ↔ ∀ x ∈ A ∃ y y = B ∧ ∀ x ∈ A ∃* y y = B
5 df-eu ⊢ ∃! y y = B ↔ ∃ y y = B ∧ ∃* y y = B
6 5 ralbii ⊢ ∀ x ∈ A ∃! y y = B ↔ ∀ x ∈ A ∃ y y = B ∧ ∃* y y = B
7 df-mpt ⊢ x ∈ A ⟼ B = x y | x ∈ A ∧ y = B
8 7 fneq1i ⊢ x ∈ A ⟼ B Fn A ↔ x y | x ∈ A ∧ y = B Fn A
9 df-fn ⊢ x y | x ∈ A ∧ y = B Fn A ↔ Fun ⁡ x y | x ∈ A ∧ y = B ∧ dom ⁡ x y | x ∈ A ∧ y = B = A
10 8 9 bitri ⊢ x ∈ A ⟼ B Fn A ↔ Fun ⁡ x y | x ∈ A ∧ y = B ∧ dom ⁡ x y | x ∈ A ∧ y = B = A
11 moanimv ⊢ ∃* y x ∈ A ∧ y = B ↔ x ∈ A → ∃* y y = B
12 11 albii ⊢ ∀ x ∃* y x ∈ A ∧ y = B ↔ ∀ x x ∈ A → ∃* y y = B
13 funopab ⊢ Fun ⁡ x y | x ∈ A ∧ y = B ↔ ∀ x ∃* y x ∈ A ∧ y = B
14 df-ral ⊢ ∀ x ∈ A ∃* y y = B ↔ ∀ x x ∈ A → ∃* y y = B
15 12 13 14 3bitr4ri ⊢ ∀ x ∈ A ∃* y y = B ↔ Fun ⁡ x y | x ∈ A ∧ y = B
16 eqcom ⊢ x | x ∈ A ∧ ∃ y y = B = A ↔ A = x | x ∈ A ∧ ∃ y y = B
17 dmopab ⊢ dom ⁡ x y | x ∈ A ∧ y = B = x | ∃ y x ∈ A ∧ y = B
18 19.42v ⊢ ∃ y x ∈ A ∧ y = B ↔ x ∈ A ∧ ∃ y y = B
19 18 abbii ⊢ x | ∃ y x ∈ A ∧ y = B = x | x ∈ A ∧ ∃ y y = B
20 17 19 eqtri ⊢ dom ⁡ x y | x ∈ A ∧ y = B = x | x ∈ A ∧ ∃ y y = B
21 20 eqeq1i ⊢ dom ⁡ x y | x ∈ A ∧ y = B = A ↔ x | x ∈ A ∧ ∃ y y = B = A
22 pm4.71 ⊢ x ∈ A → ∃ y y = B ↔ x ∈ A ↔ x ∈ A ∧ ∃ y y = B
23 22 albii ⊢ ∀ x x ∈ A → ∃ y y = B ↔ ∀ x x ∈ A ↔ x ∈ A ∧ ∃ y y = B
24 df-ral ⊢ ∀ x ∈ A ∃ y y = B ↔ ∀ x x ∈ A → ∃ y y = B
25 1 eqabf ⊢ A = x | x ∈ A ∧ ∃ y y = B ↔ ∀ x x ∈ A ↔ x ∈ A ∧ ∃ y y = B
26 23 24 25 3bitr4i ⊢ ∀ x ∈ A ∃ y y = B ↔ A = x | x ∈ A ∧ ∃ y y = B
27 16 21 26 3bitr4ri ⊢ ∀ x ∈ A ∃ y y = B ↔ dom ⁡ x y | x ∈ A ∧ y = B = A
28 15 27 anbi12i ⊢ ∀ x ∈ A ∃* y y = B ∧ ∀ x ∈ A ∃ y y = B ↔ Fun ⁡ x y | x ∈ A ∧ y = B ∧ dom ⁡ x y | x ∈ A ∧ y = B = A
29 ancom ⊢ ∀ x ∈ A ∃* y y = B ∧ ∀ x ∈ A ∃ y y = B ↔ ∀ x ∈ A ∃ y y = B ∧ ∀ x ∈ A ∃* y y = B
30 10 28 29 3bitr2i ⊢ x ∈ A ⟼ B Fn A ↔ ∀ x ∈ A ∃ y y = B ∧ ∀ x ∈ A ∃* y y = B
31 4 6 30 3bitr4ri ⊢ x ∈ A ⟼ B Fn A ↔ ∀ x ∈ A ∃! y y = B
32 3 31 bitr4i ⊢ ∀ x ∈ A B ∈ V ↔ x ∈ A ⟼ B Fn A