Metamath Proof Explorer


Theorem inuni

Description: The intersection of a union U. A with a class B is equal to the union of the intersections of each element of A with B . (Contributed by FL, 24-Mar-2007)

Ref Expression
Assertion inuni
|- ( U. A i^i B ) = U. { x | E. y e. A x = ( y i^i B ) }

Proof

Step Hyp Ref Expression
1 eluni2
 |-  ( z e. U. A <-> E. y e. A z e. y )
2 1 anbi1i
 |-  ( ( z e. U. A /\ z e. B ) <-> ( E. y e. A z e. y /\ z e. B ) )
3 elin
 |-  ( z e. ( U. A i^i B ) <-> ( z e. U. A /\ z e. B ) )
4 ancom
 |-  ( ( z e. x /\ E. y e. A x = ( y i^i B ) ) <-> ( E. y e. A x = ( y i^i B ) /\ z e. x ) )
5 r19.41v
 |-  ( E. y e. A ( x = ( y i^i B ) /\ z e. x ) <-> ( E. y e. A x = ( y i^i B ) /\ z e. x ) )
6 4 5 bitr4i
 |-  ( ( z e. x /\ E. y e. A x = ( y i^i B ) ) <-> E. y e. A ( x = ( y i^i B ) /\ z e. x ) )
7 6 exbii
 |-  ( E. x ( z e. x /\ E. y e. A x = ( y i^i B ) ) <-> E. x E. y e. A ( x = ( y i^i B ) /\ z e. x ) )
8 rexcom4
 |-  ( E. y e. A E. x ( x = ( y i^i B ) /\ z e. x ) <-> E. x E. y e. A ( x = ( y i^i B ) /\ z e. x ) )
9 7 8 bitr4i
 |-  ( E. x ( z e. x /\ E. y e. A x = ( y i^i B ) ) <-> E. y e. A E. x ( x = ( y i^i B ) /\ z e. x ) )
10 vex
 |-  y e. _V
11 10 inex1
 |-  ( y i^i B ) e. _V
12 eleq2
 |-  ( x = ( y i^i B ) -> ( z e. x <-> z e. ( y i^i B ) ) )
13 11 12 ceqsexv
 |-  ( E. x ( x = ( y i^i B ) /\ z e. x ) <-> z e. ( y i^i B ) )
14 elin
 |-  ( z e. ( y i^i B ) <-> ( z e. y /\ z e. B ) )
15 13 14 bitri
 |-  ( E. x ( x = ( y i^i B ) /\ z e. x ) <-> ( z e. y /\ z e. B ) )
16 15 rexbii
 |-  ( E. y e. A E. x ( x = ( y i^i B ) /\ z e. x ) <-> E. y e. A ( z e. y /\ z e. B ) )
17 r19.41v
 |-  ( E. y e. A ( z e. y /\ z e. B ) <-> ( E. y e. A z e. y /\ z e. B ) )
18 16 17 bitri
 |-  ( E. y e. A E. x ( x = ( y i^i B ) /\ z e. x ) <-> ( E. y e. A z e. y /\ z e. B ) )
19 9 18 bitri
 |-  ( E. x ( z e. x /\ E. y e. A x = ( y i^i B ) ) <-> ( E. y e. A z e. y /\ z e. B ) )
20 2 3 19 3bitr4i
 |-  ( z e. ( U. A i^i B ) <-> E. x ( z e. x /\ E. y e. A x = ( y i^i B ) ) )
21 eluniab
 |-  ( z e. U. { x | E. y e. A x = ( y i^i B ) } <-> E. x ( z e. x /\ E. y e. A x = ( y i^i B ) ) )
22 20 21 bitr4i
 |-  ( z e. ( U. A i^i B ) <-> z e. U. { x | E. y e. A x = ( y i^i B ) } )
23 22 eqriv
 |-  ( U. A i^i B ) = U. { x | E. y e. A x = ( y i^i B ) }