Metamath Proof Explorer


Theorem iunfo

Description: Existence of an onto function from a disjoint union to a union. (Contributed by Mario Carneiro, 24-Jun-2013) (Revised by Mario Carneiro, 18-Jan-2014)

Ref Expression
Hypothesis iunfo.1 ⊢ T = ⋃ x ∈ A x × B
Assertion iunfo ⊢ 2 nd ↾ T : T ⟶ onto ⋃ x ∈ A B

Proof

Step Hyp Ref Expression
1 iunfo.1 ⊢ T = ⋃ x ∈ A x × B
2 fo2nd ⊢ 2 nd : V ⟶ onto V
3 fof ⊢ 2 nd : V ⟶ onto V → 2 nd : V ⟶ V
4 ffn ⊢ 2 nd : V ⟶ V → 2 nd Fn V
5 2 3 4 mp2b ⊢ 2 nd Fn V
6 ssv ⊢ T ⊆ V
7 fnssres ⊢ 2 nd Fn V ∧ T ⊆ V → 2 nd ↾ T Fn T
8 5 6 7 mp2an ⊢ 2 nd ↾ T Fn T
9 df-ima ⊢ 2 nd T = ran ⁡ 2 nd ↾ T
10 1 eleq2i ⊢ z ∈ T ↔ z ∈ ⋃ x ∈ A x × B
11 eliun ⊢ z ∈ ⋃ x ∈ A x × B ↔ ∃ x ∈ A z ∈ x × B
12 10 11 bitri ⊢ z ∈ T ↔ ∃ x ∈ A z ∈ x × B
13 xp2nd ⊢ z ∈ x × B → 2 nd ⁡ z ∈ B
14 eleq1 ⊢ 2 nd ⁡ z = y → 2 nd ⁡ z ∈ B ↔ y ∈ B
15 13 14 imbitrid ⊢ 2 nd ⁡ z = y → z ∈ x × B → y ∈ B
16 15 reximdv ⊢ 2 nd ⁡ z = y → ∃ x ∈ A z ∈ x × B → ∃ x ∈ A y ∈ B
17 12 16 biimtrid ⊢ 2 nd ⁡ z = y → z ∈ T → ∃ x ∈ A y ∈ B
18 17 impcom ⊢ z ∈ T ∧ 2 nd ⁡ z = y → ∃ x ∈ A y ∈ B
19 18 rexlimiva ⊢ ∃ z ∈ T 2 nd ⁡ z = y → ∃ x ∈ A y ∈ B
20 nfiu1 ⊢ Ⅎ _ x ⋃ x ∈ A x × B
21 1 20 nfcxfr ⊢ Ⅎ _ x T
22 nfv ⊢ Ⅎ x 2 nd ⁡ z = y
23 21 22 nfrexw ⊢ Ⅎ x ∃ z ∈ T 2 nd ⁡ z = y
24 ssiun2 ⊢ x ∈ A → x × B ⊆ ⋃ x ∈ A x × B
25 24 adantr ⊢ x ∈ A ∧ y ∈ B → x × B ⊆ ⋃ x ∈ A x × B
26 vsnid ⊢ x ∈ x
27 opelxp ⊢ x y ∈ x × B ↔ x ∈ x ∧ y ∈ B
28 26 27 mpbiran ⊢ x y ∈ x × B ↔ y ∈ B
29 28 bilanri ⊢ x ∈ A ∧ y ∈ B → x y ∈ x × B
30 25 29 sseldd ⊢ x ∈ A ∧ y ∈ B → x y ∈ ⋃ x ∈ A x × B
31 30 1 eleqtrrdi ⊢ x ∈ A ∧ y ∈ B → x y ∈ T
32 vex ⊢ x ∈ V
33 vex ⊢ y ∈ V
34 32 33 op2nd ⊢ 2 nd ⁡ x y = y
35 fveqeq2 ⊢ z = x y → 2 nd ⁡ z = y ↔ 2 nd ⁡ x y = y
36 35 rspcev ⊢ x y ∈ T ∧ 2 nd ⁡ x y = y → ∃ z ∈ T 2 nd ⁡ z = y
37 31 34 36 sylancl ⊢ x ∈ A ∧ y ∈ B → ∃ z ∈ T 2 nd ⁡ z = y
38 37 ex ⊢ x ∈ A → y ∈ B → ∃ z ∈ T 2 nd ⁡ z = y
39 23 38 rexlimi ⊢ ∃ x ∈ A y ∈ B → ∃ z ∈ T 2 nd ⁡ z = y
40 19 39 impbii ⊢ ∃ z ∈ T 2 nd ⁡ z = y ↔ ∃ x ∈ A y ∈ B
41 fvelimab ⊢ 2 nd Fn V ∧ T ⊆ V → y ∈ 2 nd T ↔ ∃ z ∈ T 2 nd ⁡ z = y
42 5 6 41 mp2an ⊢ y ∈ 2 nd T ↔ ∃ z ∈ T 2 nd ⁡ z = y
43 eliun ⊢ y ∈ ⋃ x ∈ A B ↔ ∃ x ∈ A y ∈ B
44 40 42 43 3bitr4i ⊢ y ∈ 2 nd T ↔ y ∈ ⋃ x ∈ A B
45 44 eqriv ⊢ 2 nd T = ⋃ x ∈ A B
46 9 45 eqtr3i ⊢ ran ⁡ 2 nd ↾ T = ⋃ x ∈ A B
47 df-fo ⊢ 2 nd ↾ T : T ⟶ onto ⋃ x ∈ A B ↔ 2 nd ↾ T Fn T ∧ ran ⁡ 2 nd ↾ T = ⋃ x ∈ A B
48 8 46 47 mpbir2an ⊢ 2 nd ↾ T : T ⟶ onto ⋃ x ∈ A B