ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  csbcow Unicode version

Theorem csbcow 3060
Description: Composition law for chained substitutions into a class. Version of csbco 3059 with a disjoint variable condition, which requires fewer axioms. (Contributed by NM, 10-Nov-2005.) (Revised by Gino Giotto, 25-Aug-2024.)
Assertion
Ref Expression
csbcow  |-  [_ A  /  y ]_ [_ y  /  x ]_ B  = 
[_ A  /  x ]_ B
Distinct variable groups:    x, y    y, B
Allowed substitution hints:    A( x, y)    B( x)

Proof of Theorem csbcow
Dummy variables  z  w are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-csb 3050 . . . . . 6  |-  [_ y  /  x ]_ B  =  { z  |  [. y  /  x ]. z  e.  B }
21abeq2i 2281 . . . . 5  |-  ( z  e.  [_ y  /  x ]_ B  <->  [. y  /  x ]. z  e.  B
)
32sbcbii 3014 . . . 4  |-  ( [. A  /  y ]. z  e.  [_ y  /  x ]_ B  <->  [. A  /  y ]. [. y  /  x ]. z  e.  B
)
4 nfv 1521 . . . . . . . . . 10  |-  F/ y A. x ( x  =  w  ->  z  e.  B )
5 equequ2 1706 . . . . . . . . . . . 12  |-  ( y  =  w  ->  (
x  =  y  <->  x  =  w ) )
65imbi1d 230 . . . . . . . . . . 11  |-  ( y  =  w  ->  (
( x  =  y  ->  z  e.  B
)  <->  ( x  =  w  ->  z  e.  B ) ) )
76albidv 1817 . . . . . . . . . 10  |-  ( y  =  w  ->  ( A. x ( x  =  y  ->  z  e.  B )  <->  A. x
( x  =  w  ->  z  e.  B
) ) )
84, 7sbiev 1785 . . . . . . . . 9  |-  ( [ w  /  y ] A. x ( x  =  y  ->  z  e.  B )  <->  A. x
( x  =  w  ->  z  e.  B
) )
9 sb6 1879 . . . . . . . . 9  |-  ( [ w  /  x ]
z  e.  B  <->  A. x
( x  =  w  ->  z  e.  B
) )
108, 9bitr4i 186 . . . . . . . 8  |-  ( [ w  /  y ] A. x ( x  =  y  ->  z  e.  B )  <->  [ w  /  x ] z  e.  B )
11 df-clab 2157 . . . . . . . 8  |-  ( w  e.  { y  | 
A. x ( x  =  y  ->  z  e.  B ) }  <->  [ w  /  y ] A. x ( x  =  y  ->  z  e.  B ) )
12 df-clab 2157 . . . . . . . 8  |-  ( w  e.  { x  |  z  e.  B }  <->  [ w  /  x ]
z  e.  B )
1310, 11, 123bitr4i 211 . . . . . . 7  |-  ( w  e.  { y  | 
A. x ( x  =  y  ->  z  e.  B ) }  <->  w  e.  { x  |  z  e.  B } )
1413eqriv 2167 . . . . . 6  |-  { y  |  A. x ( x  =  y  -> 
z  e.  B ) }  =  { x  |  z  e.  B }
1514eleq2i 2237 . . . . 5  |-  ( A  e.  { y  | 
A. x ( x  =  y  ->  z  e.  B ) }  <->  A  e.  { x  |  z  e.  B } )
16 df-sbc 2956 . . . . . 6  |-  ( [. A  /  y ]. [. y  /  x ]. z  e.  B  <->  A  e.  { y  |  [. y  /  x ]. z  e.  B } )
17 df-sbc 2956 . . . . . . . . 9  |-  ( [. y  /  x ]. z  e.  B  <->  y  e.  {
x  |  z  e.  B } )
18 df-clab 2157 . . . . . . . . . 10  |-  ( y  e.  { x  |  z  e.  B }  <->  [ y  /  x ]
z  e.  B )
19 sb6 1879 . . . . . . . . . 10  |-  ( [ y  /  x ]
z  e.  B  <->  A. x
( x  =  y  ->  z  e.  B
) )
2018, 19bitri 183 . . . . . . . . 9  |-  ( y  e.  { x  |  z  e.  B }  <->  A. x ( x  =  y  ->  z  e.  B ) )
2117, 20bitri 183 . . . . . . . 8  |-  ( [. y  /  x ]. z  e.  B  <->  A. x ( x  =  y  ->  z  e.  B ) )
2221abbii 2286 . . . . . . 7  |-  { y  |  [. y  /  x ]. z  e.  B }  =  { y  |  A. x ( x  =  y  ->  z  e.  B ) }
2322eleq2i 2237 . . . . . 6  |-  ( A  e.  { y  | 
[. y  /  x ]. z  e.  B } 
<->  A  e.  { y  |  A. x ( x  =  y  -> 
z  e.  B ) } )
2416, 23bitri 183 . . . . 5  |-  ( [. A  /  y ]. [. y  /  x ]. z  e.  B  <->  A  e.  { y  |  A. x ( x  =  y  -> 
z  e.  B ) } )
25 df-sbc 2956 . . . . 5  |-  ( [. A  /  x ]. z  e.  B  <->  A  e.  { x  |  z  e.  B } )
2615, 24, 253bitr4i 211 . . . 4  |-  ( [. A  /  y ]. [. y  /  x ]. z  e.  B  <->  [. A  /  x ]. z  e.  B
)
273, 26bitri 183 . . 3  |-  ( [. A  /  y ]. z  e.  [_ y  /  x ]_ B  <->  [. A  /  x ]. z  e.  B
)
2827abbii 2286 . 2  |-  { z  |  [. A  / 
y ]. z  e.  [_ y  /  x ]_ B }  =  { z  |  [. A  /  x ]. z  e.  B }
29 df-csb 3050 . 2  |-  [_ A  /  y ]_ [_ y  /  x ]_ B  =  { z  |  [. A  /  y ]. z  e.  [_ y  /  x ]_ B }
30 df-csb 3050 . 2  |-  [_ A  /  x ]_ B  =  { z  |  [. A  /  x ]. z  e.  B }
3128, 29, 303eqtr4i 2201 1  |-  [_ A  /  y ]_ [_ y  /  x ]_ B  = 
[_ A  /  x ]_ B
Colors of variables: wff set class
Syntax hints:    -> wi 4   A.wal 1346    = wceq 1348   [wsb 1755    e. wcel 2141   {cab 2156   [.wsbc 2955   [_csb 3049
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-5 1440  ax-7 1441  ax-gen 1442  ax-ie1 1486  ax-ie2 1487  ax-8 1497  ax-11 1499  ax-4 1503  ax-17 1519  ax-i9 1523  ax-ial 1527  ax-i5r 1528  ax-ext 2152
This theorem depends on definitions:  df-bi 116  df-tru 1351  df-nf 1454  df-sb 1756  df-clab 2157  df-cleq 2163  df-clel 2166  df-sbc 2956  df-csb 3050
This theorem is referenced by:  zproddc  11542  fprodseq  11546
  Copyright terms: Public domain W3C validator