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

Theorem dfopif 3809
Description: Rewrite df-op 3662 using  if. When both arguments are sets, it reduces to the standard Kuratowski definition; otherwise, it is defined to be the empty set. (Contributed by Mario Carneiro, 26-Apr-2015.)
Assertion
Ref Expression
dfopif  |-  <. A ,  B >.  =  if ( ( A  e.  _V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) )

Proof of Theorem dfopif
Dummy variable  x is distinct from all other variables.
StepHypRef Expression
1 df-op 3662 . 2  |-  <. A ,  B >.  =  { x  |  ( A  e. 
_V  /\  B  e.  _V  /\  x  e.  { { A } ,  { A ,  B } } ) }
2 df-3an 936 . . 3  |-  ( ( A  e.  _V  /\  B  e.  _V  /\  x  e.  { { A } ,  { A ,  B } } )  <->  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) )
32abbii 2408 . 2  |-  { x  |  ( A  e. 
_V  /\  B  e.  _V  /\  x  e.  { { A } ,  { A ,  B } } ) }  =  { x  |  (
( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }
4 iftrue 3584 . . . 4  |-  ( ( A  e.  _V  /\  B  e.  _V )  ->  if ( ( A  e.  _V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) )  =  { { A } ,  { A ,  B } } )
5 ibar 490 . . . . 5  |-  ( ( A  e.  _V  /\  B  e.  _V )  ->  ( x  e.  { { A } ,  { A ,  B } } 
<->  ( ( A  e. 
_V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) ) )
65abbi2dv 2411 . . . 4  |-  ( ( A  e.  _V  /\  B  e.  _V )  ->  { { A } ,  { A ,  B } }  =  {
x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) } )
74, 6eqtr2d 2329 . . 3  |-  ( ( A  e.  _V  /\  B  e.  _V )  ->  { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  =  if ( ( A  e.  _V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) ) )
8 pm2.21 100 . . . . . . 7  |-  ( -.  ( A  e.  _V  /\  B  e.  _V )  ->  ( ( A  e. 
_V  /\  B  e.  _V )  ->  x  e.  (/) ) )
98adantrd 454 . . . . . 6  |-  ( -.  ( A  e.  _V  /\  B  e.  _V )  ->  ( ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } )  ->  x  e.  (/) ) )
109abssdv 3260 . . . . 5  |-  ( -.  ( A  e.  _V  /\  B  e.  _V )  ->  { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  C_  (/) )
11 ss0 3498 . . . . 5  |-  ( { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  C_  (/)  ->  { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  =  (/) )
1210, 11syl 15 . . . 4  |-  ( -.  ( A  e.  _V  /\  B  e.  _V )  ->  { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  =  (/) )
13 iffalse 3585 . . . 4  |-  ( -.  ( A  e.  _V  /\  B  e.  _V )  ->  if ( ( A  e.  _V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) )  =  (/) )
1412, 13eqtr4d 2331 . . 3  |-  ( -.  ( A  e.  _V  /\  B  e.  _V )  ->  { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  =  if ( ( A  e.  _V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) ) )
157, 14pm2.61i 156 . 2  |-  { x  |  ( ( A  e.  _V  /\  B  e.  _V )  /\  x  e.  { { A } ,  { A ,  B } } ) }  =  if ( ( A  e. 
_V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) )
161, 3, 153eqtri 2320 1  |-  <. A ,  B >.  =  if ( ( A  e.  _V  /\  B  e.  _V ) ,  { { A } ,  { A ,  B } } ,  (/) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    /\ wa 358    /\ w3a 934    = wceq 1632    e. wcel 1696   {cab 2282   _Vcvv 2801    C_ wss 3165   (/)c0 3468   ifcif 3578   {csn 3653   {cpr 3654   <.cop 3656
This theorem is referenced by:  dfopg  3810  opeq1  3812  opeq2  3813  nfop  3828  opprc  3833  opex  4253
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-v 2803  df-dif 3168  df-in 3172  df-ss 3179  df-nul 3469  df-if 3579  df-op 3662
  Copyright terms: Public domain W3C validator