MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  csbxpg Structured version   Unicode version

Theorem csbxpg 4905
Description: Distribute proper substitution through the cross product of two classes. (Contributed by Alan Sare, 10-Nov-2012.)
Assertion
Ref Expression
csbxpg  |-  ( A  e.  D  ->  [_ A  /  x ]_ ( B  X.  C )  =  ( [_ A  /  x ]_ B  X.  [_ A  /  x ]_ C
) )

Proof of Theorem csbxpg
Dummy variables  w  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 csbabg 3310 . . 3  |-  ( A  e.  D  ->  [_ A  /  x ]_ { z  |  E. w E. y ( z  = 
<. w ,  y >.  /\  ( w  e.  B  /\  y  e.  C
) ) }  =  { z  |  [. A  /  x ]. E. w E. y ( z  =  <. w ,  y
>.  /\  ( w  e.  B  /\  y  e.  C ) ) } )
2 sbcexg 3211 . . . . 5  |-  ( A  e.  D  ->  ( [. A  /  x ]. E. w E. y
( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
)  <->  E. w [. A  /  x ]. E. y
( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
) ) )
3 sbcexg 3211 . . . . . . 7  |-  ( A  e.  D  ->  ( [. A  /  x ]. E. y ( z  =  <. w ,  y
>.  /\  ( w  e.  B  /\  y  e.  C ) )  <->  E. y [. A  /  x ]. ( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
) ) )
4 sbcang 3204 . . . . . . . . 9  |-  ( A  e.  D  ->  ( [. A  /  x ]. ( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
)  <->  ( [. A  /  x ]. z  = 
<. w ,  y >.  /\  [. A  /  x ]. ( w  e.  B  /\  y  e.  C
) ) ) )
5 sbcg 3226 . . . . . . . . . 10  |-  ( A  e.  D  ->  ( [. A  /  x ]. z  =  <. w ,  y >.  <->  z  =  <. w ,  y >.
) )
6 sbcang 3204 . . . . . . . . . . 11  |-  ( A  e.  D  ->  ( [. A  /  x ]. ( w  e.  B  /\  y  e.  C
)  <->  ( [. A  /  x ]. w  e.  B  /\  [. A  /  x ]. y  e.  C ) ) )
7 sbcel2g 3272 . . . . . . . . . . . 12  |-  ( A  e.  D  ->  ( [. A  /  x ]. w  e.  B  <->  w  e.  [_ A  /  x ]_ B ) )
8 sbcel2g 3272 . . . . . . . . . . . 12  |-  ( A  e.  D  ->  ( [. A  /  x ]. y  e.  C  <->  y  e.  [_ A  /  x ]_ C ) )
97, 8anbi12d 692 . . . . . . . . . . 11  |-  ( A  e.  D  ->  (
( [. A  /  x ]. w  e.  B  /\  [. A  /  x ]. y  e.  C
)  <->  ( w  e. 
[_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) )
106, 9bitrd 245 . . . . . . . . . 10  |-  ( A  e.  D  ->  ( [. A  /  x ]. ( w  e.  B  /\  y  e.  C
)  <->  ( w  e. 
[_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) )
115, 10anbi12d 692 . . . . . . . . 9  |-  ( A  e.  D  ->  (
( [. A  /  x ]. z  =  <. w ,  y >.  /\  [. A  /  x ]. ( w  e.  B  /\  y  e.  C ) )  <->  ( z  =  <. w ,  y
>.  /\  ( w  e. 
[_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) ) )
124, 11bitrd 245 . . . . . . . 8  |-  ( A  e.  D  ->  ( [. A  /  x ]. ( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
)  <->  ( z  = 
<. w ,  y >.  /\  ( w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) ) )
1312exbidv 1636 . . . . . . 7  |-  ( A  e.  D  ->  ( E. y [. A  /  x ]. ( z  = 
<. w ,  y >.  /\  ( w  e.  B  /\  y  e.  C
) )  <->  E. y
( z  =  <. w ,  y >.  /\  (
w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) ) )
143, 13bitrd 245 . . . . . 6  |-  ( A  e.  D  ->  ( [. A  /  x ]. E. y ( z  =  <. w ,  y
>.  /\  ( w  e.  B  /\  y  e.  C ) )  <->  E. y
( z  =  <. w ,  y >.  /\  (
w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) ) )
1514exbidv 1636 . . . . 5  |-  ( A  e.  D  ->  ( E. w [. A  /  x ]. E. y ( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
)  <->  E. w E. y
( z  =  <. w ,  y >.  /\  (
w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) ) )
162, 15bitrd 245 . . . 4  |-  ( A  e.  D  ->  ( [. A  /  x ]. E. w E. y
( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
)  <->  E. w E. y
( z  =  <. w ,  y >.  /\  (
w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) ) )
1716abbidv 2550 . . 3  |-  ( A  e.  D  ->  { z  |  [. A  /  x ]. E. w E. y ( z  = 
<. w ,  y >.  /\  ( w  e.  B  /\  y  e.  C
) ) }  =  { z  |  E. w E. y ( z  =  <. w ,  y
>.  /\  ( w  e. 
[_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) } )
181, 17eqtrd 2468 . 2  |-  ( A  e.  D  ->  [_ A  /  x ]_ { z  |  E. w E. y ( z  = 
<. w ,  y >.  /\  ( w  e.  B  /\  y  e.  C
) ) }  =  { z  |  E. w E. y ( z  =  <. w ,  y
>.  /\  ( w  e. 
[_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) } )
19 df-xp 4884 . . . 4  |-  ( B  X.  C )  =  { <. w ,  y
>.  |  ( w  e.  B  /\  y  e.  C ) }
20 df-opab 4267 . . . 4  |-  { <. w ,  y >.  |  ( w  e.  B  /\  y  e.  C ) }  =  { z  |  E. w E. y
( z  =  <. w ,  y >.  /\  (
w  e.  B  /\  y  e.  C )
) }
2119, 20eqtri 2456 . . 3  |-  ( B  X.  C )  =  { z  |  E. w E. y ( z  =  <. w ,  y
>.  /\  ( w  e.  B  /\  y  e.  C ) ) }
2221csbeq2i 3277 . 2  |-  [_ A  /  x ]_ ( B  X.  C )  = 
[_ A  /  x ]_ { z  |  E. w E. y ( z  =  <. w ,  y
>.  /\  ( w  e.  B  /\  y  e.  C ) ) }
23 df-xp 4884 . . 3  |-  ( [_ A  /  x ]_ B  X.  [_ A  /  x ]_ C )  =  { <. w ,  y >.  |  ( w  e. 
[_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) }
24 df-opab 4267 . . 3  |-  { <. w ,  y >.  |  ( w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) }  =  { z  |  E. w E. y
( z  =  <. w ,  y >.  /\  (
w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) }
2523, 24eqtri 2456 . 2  |-  ( [_ A  /  x ]_ B  X.  [_ A  /  x ]_ C )  =  {
z  |  E. w E. y ( z  = 
<. w ,  y >.  /\  ( w  e.  [_ A  /  x ]_ B  /\  y  e.  [_ A  /  x ]_ C ) ) }
2618, 22, 253eqtr4g 2493 1  |-  ( A  e.  D  ->  [_ A  /  x ]_ ( B  X.  C )  =  ( [_ A  /  x ]_ B  X.  [_ A  /  x ]_ C
) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359   E.wex 1550    = wceq 1652    e. wcel 1725   {cab 2422   [.wsbc 3161   [_csb 3251   <.cop 3817   {copab 4265    X. cxp 4876
This theorem is referenced by:  csbresg  5149  csbresgVD  29007
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2417
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-clab 2423  df-cleq 2429  df-clel 2432  df-nfc 2561  df-v 2958  df-sbc 3162  df-csb 3252  df-opab 4267  df-xp 4884
  Copyright terms: Public domain W3C validator