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

Theorem csbif 4138
Description: Distribute proper substitution through the conditional operator. (Contributed by NM, 24-Feb-2013.) (Revised by NM, 19-Aug-2018.)
Assertion
Ref Expression
csbif  |-  [_ A  /  x ]_ if (
ph ,  B ,  C )  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C )

Proof of Theorem csbif
Dummy variable  y is distinct from all other variables.
StepHypRef Expression
1 csbeq1 3536 . . . 4  |-  ( y  =  A  ->  [_ y  /  x ]_ if (
ph ,  B ,  C )  =  [_ A  /  x ]_ if ( ph ,  B ,  C ) )
2 dfsbcq2 3438 . . . . 5  |-  ( y  =  A  ->  ( [ y  /  x ] ph  <->  [. A  /  x ]. ph ) )
3 csbeq1 3536 . . . . 5  |-  ( y  =  A  ->  [_ y  /  x ]_ B  = 
[_ A  /  x ]_ B )
4 csbeq1 3536 . . . . 5  |-  ( y  =  A  ->  [_ y  /  x ]_ C  = 
[_ A  /  x ]_ C )
52, 3, 4ifbieq12d 4113 . . . 4  |-  ( y  =  A  ->  if ( [ y  /  x ] ph ,  [_ y  /  x ]_ B ,  [_ y  /  x ]_ C )  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C ) )
61, 5eqeq12d 2637 . . 3  |-  ( y  =  A  ->  ( [_ y  /  x ]_ if ( ph ,  B ,  C )  =  if ( [ y  /  x ] ph ,  [_ y  /  x ]_ B ,  [_ y  /  x ]_ C )  <->  [_ A  /  x ]_ if ( ph ,  B ,  C )  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C ) ) )
7 vex 3203 . . . 4  |-  y  e. 
_V
8 nfs1v 2437 . . . . 5  |-  F/ x [ y  /  x ] ph
9 nfcsb1v 3549 . . . . 5  |-  F/_ x [_ y  /  x ]_ B
10 nfcsb1v 3549 . . . . 5  |-  F/_ x [_ y  /  x ]_ C
118, 9, 10nfif 4115 . . . 4  |-  F/_ x if ( [ y  /  x ] ph ,  [_ y  /  x ]_ B ,  [_ y  /  x ]_ C )
12 sbequ12 2111 . . . . 5  |-  ( x  =  y  ->  ( ph 
<->  [ y  /  x ] ph ) )
13 csbeq1a 3542 . . . . 5  |-  ( x  =  y  ->  B  =  [_ y  /  x ]_ B )
14 csbeq1a 3542 . . . . 5  |-  ( x  =  y  ->  C  =  [_ y  /  x ]_ C )
1512, 13, 14ifbieq12d 4113 . . . 4  |-  ( x  =  y  ->  if ( ph ,  B ,  C )  =  if ( [ y  /  x ] ph ,  [_ y  /  x ]_ B ,  [_ y  /  x ]_ C ) )
167, 11, 15csbief 3558 . . 3  |-  [_ y  /  x ]_ if (
ph ,  B ,  C )  =  if ( [ y  /  x ] ph ,  [_ y  /  x ]_ B ,  [_ y  /  x ]_ C )
176, 16vtoclg 3266 . 2  |-  ( A  e.  _V  ->  [_ A  /  x ]_ if (
ph ,  B ,  C )  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C ) )
18 csbprc 3980 . . 3  |-  ( -.  A  e.  _V  ->  [_ A  /  x ]_ if ( ph ,  B ,  C )  =  (/) )
19 csbprc 3980 . . . . 5  |-  ( -.  A  e.  _V  ->  [_ A  /  x ]_ B  =  (/) )
20 csbprc 3980 . . . . 5  |-  ( -.  A  e.  _V  ->  [_ A  /  x ]_ C  =  (/) )
2119, 20ifeq12d 4106 . . . 4  |-  ( -.  A  e.  _V  ->  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C )  =  if ( [. A  /  x ]. ph ,  (/) ,  (/) ) )
22 ifid 4125 . . . 4  |-  if (
[. A  /  x ]. ph ,  (/) ,  (/) )  =  (/)
2321, 22syl6req 2673 . . 3  |-  ( -.  A  e.  _V  ->  (/)  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C ) )
2418, 23eqtrd 2656 . 2  |-  ( -.  A  e.  _V  ->  [_ A  /  x ]_ if ( ph ,  B ,  C )  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C ) )
2517, 24pm2.61i 176 1  |-  [_ A  /  x ]_ if (
ph ,  B ,  C )  =  if ( [. A  /  x ]. ph ,  [_ A  /  x ]_ B ,  [_ A  /  x ]_ C )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    = wceq 1483   [wsb 1880    e. wcel 1990   _Vcvv 3200   [.wsbc 3435   [_csb 3533   (/)c0 3915   ifcif 4086
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-fal 1489  df-ex 1705  df-nf 1710  df-sb 1881  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-nul 3916  df-if 4087
This theorem is referenced by:  csbopg  4420  fvmptnn04if  20654  csbrdgg  33175  csbfinxpg  33225  cdlemk40  36205
  Copyright terms: Public domain W3C validator