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

Theorem uniuni 2880
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 2506 . . . . . 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 1051 . . . 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 1308 . . . . . . . 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 1051 . . . . . 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 1046 . . . . . . 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 1052 . . . . . . 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 1309 . . . . . 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 2506 . . . . . . . 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 1051 . . . . 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 1813 . . . . . . . . . . . 12 |- y e. V
2120uniex 2870 . . . . . . . . . . 11 |- U.y e. V
22 eleq2 1535 . . . . . . . . . . 11 |- (v = U.y -> (z e. v <-> z e. U.y))
2321, 22ceqsexv 1835 . . . . . . . . . 10 |- (E.v(v = U.y /\ z e. v) <-> z e. U.y)
24 exancom 1054 . . . . . . . . . 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 1308 . . . . . . . 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 1051 . . . . . . . 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 1051 . . . . . 6 |- (E.y(y e. A /\ z e. U.y) <-> E.yE.v(z e. v /\ (v = U.y /\ y e. A)))
34 excom 1046 . . . . . 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 1309 . . . . 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 1813 . . . . . . . . 9 |- v e. V
38 eqeq1 1481 . . . . . . . . . . 11 |- (x = v -> (x = U.y <-> v = U.y))
3938anbi1d 617 . . . . . . . . . 10 |- (x = v -> ((x = U.y /\ y e. A) <-> (v = U.y /\ y e. A)))
4039exbidv 1279 . . . . . . . . 9 |- (x = v -> (E.y(x = U.y /\ y e. A) <-> E.y(v = U.y /\ y e. A)))
4137, 40elab 1897 . . . . . . . 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 1051 . . . . 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 1575 . 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 2504 . 2 |- U.U.A = {z | E.u(z e. u /\ u e. U.A)}
49 df-uni 2504 . 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 1505 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 956   e. wcel 958  E.wex 980  {cab 1463  U.cuni 2503
This theorem is referenced by:  qusp 10555
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 962  ax-gen 963  ax-8 964  ax-10 966  ax-12 968  ax-13 969  ax-14 970  ax-17 971  ax-4 973  ax-5o 975  ax-6o 978  ax-9o 1123  ax-10o 1140  ax-16 1210  ax-11o 1218  ax-ext 1459  ax-sep 2703  ax-un 2866
This theorem depends on definitions:  df-bi 147  df-or 224  df-an 225  df-ex 981  df-sb 1172  df-clab 1464  df-cleq 1469  df-clel 1472  df-v 1812  df-uni 2504
Copyright terms: Public domain