Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  sbcfun Unicode version

Theorem sbcfun 28090
Description: Distribute proper substitution through the function predicate. (Contributed by Alexander van der Vekens, 23-Jul-2017.)
Assertion
Ref Expression
sbcfun  |-  ( A  e.  V  ->  ( [. A  /  x ]. Fun  F  <->  Fun  [_ A  /  x ]_ F ) )

Proof of Theorem sbcfun
Dummy variables  w  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 sbcan 3046 . . 3  |-  ( [. A  /  x ]. ( Rel  F  /\  A. w E. y A. z ( w F z  -> 
z  =  y ) )  <->  ( [. A  /  x ]. Rel  F  /\  [. A  /  x ]. A. w E. y A. z ( w F z  ->  z  =  y ) ) )
2 sbcrel 28084 . . . 4  |-  ( A  e.  V  ->  ( [. A  /  x ]. Rel  F  <->  Rel  [_ A  /  x ]_ F ) )
3 sbcal 3051 . . . . 5  |-  ( [. A  /  x ]. A. w E. y A. z
( w F z  ->  z  =  y )  <->  A. w [. A  /  x ]. E. y A. z ( w F z  ->  z  =  y ) )
4 sbcex2 3053 . . . . . . 7  |-  ( [. A  /  x ]. E. y A. z ( w F z  ->  z  =  y )  <->  E. y [. A  /  x ]. A. z ( w F z  ->  z  =  y ) )
5 sbcal 3051 . . . . . . . . 9  |-  ( [. A  /  x ]. A. z ( w F z  ->  z  =  y )  <->  A. z [. A  /  x ]. ( w F z  ->  z  =  y ) )
6 sbcimg 3045 . . . . . . . . . . 11  |-  ( A  e.  V  ->  ( [. A  /  x ]. ( w F z  ->  z  =  y )  <->  ( [. A  /  x ]. w F z  ->  [. A  /  x ]. z  =  y ) ) )
7 sbcbrg 4088 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [. A  /  x ]. w F z  <->  [_ A  /  x ]_ w [_ A  /  x ]_ F [_ A  /  x ]_ z
) )
8 csbconstg 3108 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ w  =  w )
9 csbconstg 3108 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ z  =  z )
108, 9breq12d 4052 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [_ A  /  x ]_ w [_ A  /  x ]_ F [_ A  /  x ]_ z  <->  w [_ A  /  x ]_ F
z ) )
117, 10bitrd 244 . . . . . . . . . . . 12  |-  ( A  e.  V  ->  ( [. A  /  x ]. w F z  <->  w [_ A  /  x ]_ F
z ) )
12 sbceqg 3110 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [. A  /  x ]. z  =  y  <->  [_ A  /  x ]_ z  =  [_ A  /  x ]_ y ) )
13 csbconstg 3108 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ y  =  y )
149, 13eqeq12d 2310 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [_ A  /  x ]_ z  =  [_ A  /  x ]_ y  <->  z  =  y ) )
1512, 14bitrd 244 . . . . . . . . . . . 12  |-  ( A  e.  V  ->  ( [. A  /  x ]. z  =  y  <->  z  =  y ) )
1611, 15imbi12d 311 . . . . . . . . . . 11  |-  ( A  e.  V  ->  (
( [. A  /  x ]. w F z  ->  [. A  /  x ]. z  =  y
)  <->  ( w [_ A  /  x ]_ F
z  ->  z  =  y ) ) )
176, 16bitrd 244 . . . . . . . . . 10  |-  ( A  e.  V  ->  ( [. A  /  x ]. ( w F z  ->  z  =  y )  <->  ( w [_ A  /  x ]_ F
z  ->  z  =  y ) ) )
1817albidv 1615 . . . . . . . . 9  |-  ( A  e.  V  ->  ( A. z [. A  /  x ]. ( w F z  ->  z  =  y )  <->  A. z
( w [_ A  /  x ]_ F z  ->  z  =  y ) ) )
195, 18syl5bb 248 . . . . . . . 8  |-  ( A  e.  V  ->  ( [. A  /  x ]. A. z ( w F z  ->  z  =  y )  <->  A. z
( w [_ A  /  x ]_ F z  ->  z  =  y ) ) )
2019exbidv 1616 . . . . . . 7  |-  ( A  e.  V  ->  ( E. y [. A  /  x ]. A. z ( w F z  -> 
z  =  y )  <->  E. y A. z ( w [_ A  /  x ]_ F z  -> 
z  =  y ) ) )
214, 20syl5bb 248 . . . . . 6  |-  ( A  e.  V  ->  ( [. A  /  x ]. E. y A. z
( w F z  ->  z  =  y )  <->  E. y A. z
( w [_ A  /  x ]_ F z  ->  z  =  y ) ) )
2221albidv 1615 . . . . 5  |-  ( A  e.  V  ->  ( A. w [. A  /  x ]. E. y A. z ( w F z  ->  z  =  y )  <->  A. w E. y A. z ( w [_ A  /  x ]_ F z  -> 
z  =  y ) ) )
233, 22syl5bb 248 . . . 4  |-  ( A  e.  V  ->  ( [. A  /  x ]. A. w E. y A. z ( w F z  ->  z  =  y )  <->  A. w E. y A. z ( w [_ A  /  x ]_ F z  -> 
z  =  y ) ) )
242, 23anbi12d 691 . . 3  |-  ( A  e.  V  ->  (
( [. A  /  x ]. Rel  F  /\  [. A  /  x ]. A. w E. y A. z ( w F z  -> 
z  =  y ) )  <->  ( Rel  [_ A  /  x ]_ F  /\  A. w E. y A. z ( w [_ A  /  x ]_ F
z  ->  z  =  y ) ) ) )
251, 24syl5bb 248 . 2  |-  ( A  e.  V  ->  ( [. A  /  x ]. ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) )  <->  ( Rel  [_ A  /  x ]_ F  /\  A. w E. y A. z ( w
[_ A  /  x ]_ F z  ->  z  =  y ) ) ) )
26 dffun3 5282 . . 3  |-  ( Fun 
F  <->  ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) ) )
2726sbcbii 3059 . 2  |-  ( [. A  /  x ]. Fun  F  <->  [. A  /  x ]. ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) ) )
28 dffun3 5282 . 2  |-  ( Fun  [_ A  /  x ]_ F  <->  ( Rel  [_ A  /  x ]_ F  /\  A. w E. y A. z ( w [_ A  /  x ]_ F
z  ->  z  =  y ) ) )
2925, 27, 283bitr4g 279 1  |-  ( A  e.  V  ->  ( [. A  /  x ]. Fun  F  <->  Fun  [_ A  /  x ]_ F ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358   A.wal 1530   E.wex 1531    = wceq 1632    e. wcel 1696   [.wsbc 3004   [_csb 3094   class class class wbr 4039   Rel wrel 4710   Fun wfun 5265
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-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-sep 4157  ax-nul 4165  ax-pr 4230
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-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-ral 2561  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-nul 3469  df-if 3579  df-sn 3659  df-pr 3660  df-op 3662  df-br 4040  df-opab 4094  df-id 4325  df-rel 4712  df-cnv 4713  df-co 4714  df-fun 5273
  Copyright terms: Public domain W3C validator