Metamath Proof Explorer


Theorem dfco2a

Description: Generalization of dfco2 , where C can have any value between dom A i^i ran B and _V . (Contributed by NM, 21-Dec-2008) (Proof shortened by Andrew Salmon, 27-Aug-2011)

Ref Expression
Assertion dfco2a ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → A ∘ B = ⋃ x ∈ C B -1 x × A x

Proof

Step Hyp Ref Expression
1 dfco2 ⊢ A ∘ B = ⋃ x ∈ V B -1 x × A x
2 vex ⊢ z ∈ V
3 2 eliniseg ⊢ x ∈ V → z ∈ B -1 x ↔ z B x
4 3 elv ⊢ z ∈ B -1 x ↔ z B x
5 vex ⊢ x ∈ V
6 2 5 brelrn ⊢ z B x → x ∈ ran ⁡ B
7 4 6 sylbi ⊢ z ∈ B -1 x → x ∈ ran ⁡ B
8 vex ⊢ w ∈ V
9 5 8 elimasn ⊢ w ∈ A x ↔ x w ∈ A
10 5 8 opeldm ⊢ x w ∈ A → x ∈ dom ⁡ A
11 9 10 sylbi ⊢ w ∈ A x → x ∈ dom ⁡ A
12 7 11 anim12ci ⊢ z ∈ B -1 x ∧ w ∈ A x → x ∈ dom ⁡ A ∧ x ∈ ran ⁡ B
13 12 adantl ⊢ y = z w ∧ z ∈ B -1 x ∧ w ∈ A x → x ∈ dom ⁡ A ∧ x ∈ ran ⁡ B
14 13 exlimivv ⊢ ∃ z ∃ w y = z w ∧ z ∈ B -1 x ∧ w ∈ A x → x ∈ dom ⁡ A ∧ x ∈ ran ⁡ B
15 elxp ⊢ y ∈ B -1 x × A x ↔ ∃ z ∃ w y = z w ∧ z ∈ B -1 x ∧ w ∈ A x
16 elin ⊢ x ∈ dom ⁡ A ∩ ran ⁡ B ↔ x ∈ dom ⁡ A ∧ x ∈ ran ⁡ B
17 14 15 16 3imtr4i ⊢ y ∈ B -1 x × A x → x ∈ dom ⁡ A ∩ ran ⁡ B
18 ssel ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → x ∈ dom ⁡ A ∩ ran ⁡ B → x ∈ C
19 17 18 syl5 ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → y ∈ B -1 x × A x → x ∈ C
20 19 pm4.71rd ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → y ∈ B -1 x × A x ↔ x ∈ C ∧ y ∈ B -1 x × A x
21 20 exbidv ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → ∃ x y ∈ B -1 x × A x ↔ ∃ x x ∈ C ∧ y ∈ B -1 x × A x
22 rexv ⊢ ∃ x ∈ V y ∈ B -1 x × A x ↔ ∃ x y ∈ B -1 x × A x
23 df-rex ⊢ ∃ x ∈ C y ∈ B -1 x × A x ↔ ∃ x x ∈ C ∧ y ∈ B -1 x × A x
24 21 22 23 3bitr4g ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → ∃ x ∈ V y ∈ B -1 x × A x ↔ ∃ x ∈ C y ∈ B -1 x × A x
25 eliun ⊢ y ∈ ⋃ x ∈ V B -1 x × A x ↔ ∃ x ∈ V y ∈ B -1 x × A x
26 eliun ⊢ y ∈ ⋃ x ∈ C B -1 x × A x ↔ ∃ x ∈ C y ∈ B -1 x × A x
27 24 25 26 3bitr4g ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → y ∈ ⋃ x ∈ V B -1 x × A x ↔ y ∈ ⋃ x ∈ C B -1 x × A x
28 27 eqrdv ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → ⋃ x ∈ V B -1 x × A x = ⋃ x ∈ C B -1 x × A x
29 1 28 eqtrid ⊢ dom ⁡ A ∩ ran ⁡ B ⊆ C → A ∘ B = ⋃ x ∈ C B -1 x × A x