Metamath Proof Explorer


Theorem exfo

Description: A relation equivalent to the existence of an onto mapping. The right-hand f is not necessarily a function. (Contributed by NM, 20-Mar-2007)

Ref Expression
Assertion exfo ⊢ ∃ f f : A ⟶ onto B ↔ ∃ f ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x

Proof

Step Hyp Ref Expression
1 dffo4 ⊢ f : A ⟶ onto B ↔ f : A ⟶ B ∧ ∀ x ∈ B ∃ y ∈ A y f x
2 dff4 ⊢ f : A ⟶ B ↔ f ⊆ A × B ∧ ∀ x ∈ A ∃! y ∈ B x f y
3 2 simprbi ⊢ f : A ⟶ B → ∀ x ∈ A ∃! y ∈ B x f y
4 3 anim1i ⊢ f : A ⟶ B ∧ ∀ x ∈ B ∃ y ∈ A y f x → ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x
5 1 4 sylbi ⊢ f : A ⟶ onto B → ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x
6 5 eximi ⊢ ∃ f f : A ⟶ onto B → ∃ f ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x
7 brinxp ⊢ x ∈ A ∧ y ∈ B → x f y ↔ x f ∩ A × B y
8 7 reubidva ⊢ x ∈ A → ∃! y ∈ B x f y ↔ ∃! y ∈ B x f ∩ A × B y
9 8 biimpd ⊢ x ∈ A → ∃! y ∈ B x f y → ∃! y ∈ B x f ∩ A × B y
10 9 ralimia ⊢ ∀ x ∈ A ∃! y ∈ B x f y → ∀ x ∈ A ∃! y ∈ B x f ∩ A × B y
11 inss2 ⊢ f ∩ A × B ⊆ A × B
12 10 11 jctil ⊢ ∀ x ∈ A ∃! y ∈ B x f y → f ∩ A × B ⊆ A × B ∧ ∀ x ∈ A ∃! y ∈ B x f ∩ A × B y
13 dff4 ⊢ f ∩ A × B : A ⟶ B ↔ f ∩ A × B ⊆ A × B ∧ ∀ x ∈ A ∃! y ∈ B x f ∩ A × B y
14 12 13 sylibr ⊢ ∀ x ∈ A ∃! y ∈ B x f y → f ∩ A × B : A ⟶ B
15 rninxp ⊢ ran ⁡ f ∩ A × B = B ↔ ∀ x ∈ B ∃ y ∈ A y f x
16 15 biimpri ⊢ ∀ x ∈ B ∃ y ∈ A y f x → ran ⁡ f ∩ A × B = B
17 14 16 anim12i ⊢ ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x → f ∩ A × B : A ⟶ B ∧ ran ⁡ f ∩ A × B = B
18 dffo2 ⊢ f ∩ A × B : A ⟶ onto B ↔ f ∩ A × B : A ⟶ B ∧ ran ⁡ f ∩ A × B = B
19 17 18 sylibr ⊢ ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x → f ∩ A × B : A ⟶ onto B
20 vex ⊢ f ∈ V
21 20 inex1 ⊢ f ∩ A × B ∈ V
22 foeq1 ⊢ g = f ∩ A × B → g : A ⟶ onto B ↔ f ∩ A × B : A ⟶ onto B
23 21 22 spcev ⊢ f ∩ A × B : A ⟶ onto B → ∃ g g : A ⟶ onto B
24 19 23 syl ⊢ ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x → ∃ g g : A ⟶ onto B
25 24 exlimiv ⊢ ∃ f ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x → ∃ g g : A ⟶ onto B
26 foeq1 ⊢ g = f → g : A ⟶ onto B ↔ f : A ⟶ onto B
27 26 cbvexvw ⊢ ∃ g g : A ⟶ onto B ↔ ∃ f f : A ⟶ onto B
28 25 27 sylib ⊢ ∃ f ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x → ∃ f f : A ⟶ onto B
29 6 28 impbii ⊢ ∃ f f : A ⟶ onto B ↔ ∃ f ∀ x ∈ A ∃! y ∈ B x f y ∧ ∀ x ∈ B ∃ y ∈ A y f x