Metamath Proof Explorer


Theorem dffo3f

Description: An onto mapping expressed in terms of function values. As dffo3 but with less disjoint vars constraints. (Contributed by Glauco Siliprandi, 17-Aug-2020)

Ref Expression
Hypothesis dffo3f.1 ⊢ Ⅎ _ x F
Assertion dffo3f ⊢ F : A ⟶ onto B ↔ F : A ⟶ B ∧ ∀ y ∈ B ∃ x ∈ A y = F ⁡ x

Proof

Step Hyp Ref Expression
1 dffo3f.1 ⊢ Ⅎ _ x F
2 dffo2 ⊢ F : A ⟶ onto B ↔ F : A ⟶ B ∧ ran ⁡ F = B
3 ffn ⊢ F : A ⟶ B → F Fn A
4 fnrnfv ⊢ F Fn A → ran ⁡ F = y | ∃ w ∈ A y = F ⁡ w
5 nfcv ⊢ Ⅎ _ x w
6 1 5 nffv ⊢ Ⅎ _ x F ⁡ w
7 6 nfeq2 ⊢ Ⅎ x y = F ⁡ w
8 nfv ⊢ Ⅎ w y = F ⁡ x
9 fveq2 ⊢ w = x → F ⁡ w = F ⁡ x
10 9 eqeq2d ⊢ w = x → y = F ⁡ w ↔ y = F ⁡ x
11 7 8 10 cbvrexw ⊢ ∃ w ∈ A y = F ⁡ w ↔ ∃ x ∈ A y = F ⁡ x
12 11 abbii ⊢ y | ∃ w ∈ A y = F ⁡ w = y | ∃ x ∈ A y = F ⁡ x
13 4 12 eqtrdi ⊢ F Fn A → ran ⁡ F = y | ∃ x ∈ A y = F ⁡ x
14 13 eqeq1d ⊢ F Fn A → ran ⁡ F = B ↔ y | ∃ x ∈ A y = F ⁡ x = B
15 3 14 syl ⊢ F : A ⟶ B → ran ⁡ F = B ↔ y | ∃ x ∈ A y = F ⁡ x = B
16 dfbi2 ⊢ ∃ x ∈ A y = F ⁡ x ↔ y ∈ B ↔ ∃ x ∈ A y = F ⁡ x → y ∈ B ∧ y ∈ B → ∃ x ∈ A y = F ⁡ x
17 nfcv ⊢ Ⅎ _ x A
18 nfcv ⊢ Ⅎ _ x B
19 1 17 18 nff ⊢ Ⅎ x F : A ⟶ B
20 nfv ⊢ Ⅎ x y ∈ B
21 simpr ⊢ F : A ⟶ B ∧ x ∈ A ∧ y = F ⁡ x → y = F ⁡ x
22 ffvelcdm ⊢ F : A ⟶ B ∧ x ∈ A → F ⁡ x ∈ B
23 22 adantr ⊢ F : A ⟶ B ∧ x ∈ A ∧ y = F ⁡ x → F ⁡ x ∈ B
24 21 23 eqeltrd ⊢ F : A ⟶ B ∧ x ∈ A ∧ y = F ⁡ x → y ∈ B
25 24 exp31 ⊢ F : A ⟶ B → x ∈ A → y = F ⁡ x → y ∈ B
26 19 20 25 rexlimd ⊢ F : A ⟶ B → ∃ x ∈ A y = F ⁡ x → y ∈ B
27 26 biantrurd ⊢ F : A ⟶ B → y ∈ B → ∃ x ∈ A y = F ⁡ x ↔ ∃ x ∈ A y = F ⁡ x → y ∈ B ∧ y ∈ B → ∃ x ∈ A y = F ⁡ x
28 16 27 bitr4id ⊢ F : A ⟶ B → ∃ x ∈ A y = F ⁡ x ↔ y ∈ B ↔ y ∈ B → ∃ x ∈ A y = F ⁡ x
29 28 albidv ⊢ F : A ⟶ B → ∀ y ∃ x ∈ A y = F ⁡ x ↔ y ∈ B ↔ ∀ y y ∈ B → ∃ x ∈ A y = F ⁡ x
30 eqabcb ⊢ y | ∃ x ∈ A y = F ⁡ x = B ↔ ∀ y ∃ x ∈ A y = F ⁡ x ↔ y ∈ B
31 df-ral ⊢ ∀ y ∈ B ∃ x ∈ A y = F ⁡ x ↔ ∀ y y ∈ B → ∃ x ∈ A y = F ⁡ x
32 29 30 31 3bitr4g ⊢ F : A ⟶ B → y | ∃ x ∈ A y = F ⁡ x = B ↔ ∀ y ∈ B ∃ x ∈ A y = F ⁡ x
33 15 32 bitrd ⊢ F : A ⟶ B → ran ⁡ F = B ↔ ∀ y ∈ B ∃ x ∈ A y = F ⁡ x
34 33 pm5.32i ⊢ F : A ⟶ B ∧ ran ⁡ F = B ↔ F : A ⟶ B ∧ ∀ y ∈ B ∃ x ∈ A y = F ⁡ x
35 2 34 bitri ⊢ F : A ⟶ onto B ↔ F : A ⟶ B ∧ ∀ y ∈ B ∃ x ∈ A y = F ⁡ x