HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem uniuni 2875
Description: Expression for double union that moves union into a class builder. (Contributed by FL, 28-May-2007.)
Assertion
Ref Expression
uniuni |- U.U.A = U.{x | E.y(x = U.y /\ y e. A)}
Distinct variable group:   x,A,y

Proof of Theorem uniuni
StepHypRef Expression
1 eluni 2501 . . . . . 6 |- (u e. U.A <-> E.y(u e. y /\ y e. A))
21anbi2i 480 . . . . 5 |- ((z e. u /\ u e. U.A) <-> (z e. u /\ E.y(u e. y /\ y e. A)))
32exbii 1049 . . . 4 |- (E.u(z e. u /\ u e. U.A) <-> E.u(z e. u /\ E.y(u e. y /\ y e. A)))
4 19.42v 1306 . . . . . . . 8 |- (E.y(z e. u /\ (u e. y /\ y e. A)) <-> (z e. u /\ E.y(u e. y /\ y e. A)))
54bicomi 172 . . . . . . 7 |- ((z e. u /\ E.y(u e. y /\ y e. A)) <-> E.y(z e. u /\ (u e. y /\ y e. A)))
65exbii 1049 . . . . . 6 |- (E.u(z e. u /\ E.y(u e. y /\ y e. A)) <-> E.uE.y(z e. u /\ (u e. y /\ y e. A)))
7 excom 1044 . . . . . . 7 |- (E.uE.y(z e. u /\ (u e. y /\ y e. A)) <-> E.yE.u(z e. u /\ (u e. y /\ y e. A)))
8 anass 439 . . . . . . . . 9 |- (((z e. u /\ u e. y) /\ y e. A) <-> (z e. u /\ (u e. y /\ y e. A)))
9 ancom 435 . . . . . . . . 9 |- (((z e. u /\ u e. y) /\ y e. A) <-> (y e. A /\ (z e. u /\ u e. y)))
108, 9bitr3 175 . . . . . . . 8 |- ((z e. u /\ (u e. y /\ y e. A)) <-> (y e. A /\ (z e. u /\ u e. y)))
11102exbii 1050 . . . . . . 7 |- (E.yE.u(z e. u /\ (u e. y /\ y e. A)) <-> E.yE.u(y e. A /\ (z e. u /\ u e. y)))
127, 11bitr 173 . . . . . 6 |- (E.uE.y(z e. u /\ (u e. y /\ y e. A)) <-> E.yE.u(y e. A /\ (z e. u /\ u e. y)))
13 exdistr 1307 . . . . . 6 |- (E.yE.u(y e. A /\ (z e. u /\ u e. y)) <-> E.y(y e. A /\ E.u(z e. u /\ u e. y)))
146, 12, 133bitr 177 . . . . 5 |- (E.u(z e. u /\ E.y(u e. y /\ y e. A)) <-> E.y(y e. A /\ E.u(z e. u /\ u e. y)))
15 eluni 2501 . . . . . . . 8 |- (z e. U.y <-> E.u(z e. u /\ u e. y))
1615bicomi 172 . . . . . . 7 |- (E.u(z e. u /\ u e. y) <-> z e. U.y)
1716anbi2i 480 . . . . . 6 |- ((y e. A /\ E.u(z e. u /\ u e. y)) <-> (y e. A /\ z e. U.y))
1817exbii 1049 . . . . 5 |- (E.y(y e. A /\ E.u(z e. u /\ u e. y)) <-> E.y(y e. A /\ z e. U.y))
1914, 18bitr 173 . . . 4 |- (E.u(z e. u /\ E.y(u e. y /\ y e. A)) <-> E.y(y e. A /\ z e. U.y))
20 visset 1809 . . . . . . . . . . . 12 |- y e. V
2120uniex 2865 . . . . . . . . . . 11 |- U.y e. V
22 eleq2 1532 . . . . . . . . . . 11 |- (v = U.y -> (z e. v <-> z e. U.y))
2321, 22ceqsexv 1831 . . . . . . . . . 10 |- (E.v(v = U.y /\ z e. v) <-> z e. U.y)
24 exancom 1052 . . . . . . . . . 10 |- (E.v(v = U.y /\ z e. v) <-> E.v(z e. v /\ v = U.y))
2523, 24bitr3 175 . . . . . . . . 9 |- (z e. U.y <-> E.v(z e. v /\ v = U.y))
2625anbi2i 480 . . . . . . . 8 |- ((y e. A /\ z e. U.y) <-> (y e. A /\ E.v(z e. v /\ v = U.y)))
27 19.42v 1306 . . . . . . . 8 |- (E.v(y e. A /\ (z e. v /\ v = U.y)) <-> (y e. A /\ E.v(z e. v /\ v = U.y)))
28 ancom 435 . . . . . . . . . 10 |- ((y e. A /\ (z e. v /\ v = U.y)) <-> ((z e. v /\ v = U.y) /\ y e. A))
29 anass 439 . . . . . . . . . 10 |- (((z e. v /\ v = U.y) /\ y e. A) <-> (z e. v /\ (v = U.y /\ y e. A)))
3028, 29bitr 173 . . . . . . . . 9 |- ((y e. A /\ (z e. v /\ v = U.y)) <-> (z e. v /\ (v = U.y /\ y e. A)))
3130exbii 1049 . . . . . . . 8 |- (E.v(y e. A /\ (z e. v /\ v = U.y)) <-> E.v(z e. v /\ (v = U.y /\ y e. A)))
3226, 27, 313bitr2 179 . . . . . . 7 |- ((y e. A /\ z e. U.y) <-> E.v(z e. v /\ (v = U.y /\ y e. A)))
3332exbii 1049 . . . . . 6 |- (E.y(y e. A /\ z e. U.y) <-> E.yE.v(z e. v /\ (v = U.y /\ y e. A)))
34 excom 1044 . . . . . 6 |- (E.yE.v(z e. v /\ (v = U.y /\ y e. A)) <-> E.vE.y(z e. v /\ (v = U.y /\ y e. A)))
3533, 34bitr 173 . . . . 5 |- (E.y(y e. A /\ z e. U.y) <-> E.vE.y(z e. v /\ (v = U.y /\ y e. A)))
36 exdistr 1307 . . . . 5 |- (E.vE.y(z e. v /\ (v = U.y /\ y e. A)) <-> E.v(z e. v /\ E.y(v = U.y /\ y e. A)))
37 visset 1809 . . . . . . . . 9 |- v e. V
38 eqeq1 1478 . . . . . . . . . . 11 |- (x = v -> (x = U.y <-> v = U.y))
3938anbi1d 616 . . . . . . . . . 10 |- (x = v -> ((x = U.y /\ y e. A) <-> (v = U.y /\ y e. A)))
4039exbidv 1277 . . . . . . . . 9 |- (x = v -> (E.y(x = U.y /\ y e. A) <-> E.y(v = U.y /\ y e. A)))
4137, 40elab 1893 . . . . . . . 8 |- (v e. {x | E.y(x = U.y /\ y e. A)} <-> E.y(v = U.y /\ y e. A))
4241bicomi 172 . . . . . . 7 |- (E.y(v = U.y /\ y e. A) <-> v e. {x | E.y(x = U.y /\ y e. A)})
4342anbi2i 480 . . . . . 6 |- ((z e. v /\ E.y(v = U.y /\ y e. A)) <-> (z e. v /\ v e. {x | E.y(x = U.y /\ y e. A)}))
4443exbii 1049 . . . . 5 |- (E.v(z e. v /\ E.y(v = U.y /\ y e. A)) <-> E.v(z e. v /\ v e. {x | E.y(x = U.y /\ y e. A)}))
4535, 36, 443bitr 177 . . . 4 |- (E.y(y e. A /\ z e. U.y) <-> E.v(z e. v /\ v e. {x | E.y(x = U.y /\ y e. A)}))
463, 19, 453bitr 177 . . 3 |- (E.u(z e. u /\ u e. U.A) <-> E.v(z e. v /\ v e. {x | E.y(x = U.y /\ y e. A)}))
4746abbii 1572 . 2 |- {z | E.u(z e. u /\ u e. U.A)} = {z | E.v(z e. v /\ v e. {x | E.y(x = U.y /\ y e. A)})}
48 df-uni 2499 . 2 |- U.U.A = {z | E.u(z e. u /\ u e. U.A)}
49 df-uni 2499 . 2 |- U.{x | E.y(x = U.y /\ y e. A)} = {z | E.v(z e. v /\ v e. {x | E.y(x = U.y /\ y e. A)})}
5047, 48, 493eqtr4 1502 1 |- U.U.A = U.{x | E.y(x = U.y /\ y e. A)}
Colors of variables: wff set class
Syntax hints:   /\ wa 223   = wceq 954   e. wcel 956  E.wex 978  {cab 1461  U.cuni 2498
This theorem is referenced by:  qusp 10466
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 960  ax-gen 961  ax-8 962  ax-10 964  ax-12 966  ax-13 967  ax-14 968  ax-17 969  ax-4 971  ax-5o 973  ax-6o 976  ax-9o 1121  ax-10o 1138  ax-16 1208  ax-11o 1216  ax-ext 1457  ax-sep 2698  ax-un 2861
This theorem depends on definitions:  df-bi 147  df-or 224  df-an 225  df-ex 979  df-sb 1170  df-clab 1462  df-cleq 1467  df-clel 1470  df-v 1808  df-uni 2499
Copyright terms: Public domain