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

Theorem sbcfun 27985
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 3033 . . 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 27979 . . . 4  |-  ( A  e.  V  ->  ( [. A  /  x ]. Rel  F  <->  Rel  [_ A  /  x ]_ F ) )
3 sbcal 3038 . . . . 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 3040 . . . . . . 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 3038 . . . . . . . . 9  |-  ( [. A  /  x ]. A. z ( w F z  ->  z  =  y )  <->  A. z [. A  /  x ]. ( w F z  ->  z  =  y ) )
6 sbcimg 3032 . . . . . . . . . . 11  |-  ( A  e.  V  ->  ( [. A  /  x ]. ( w F z  ->  z  =  y )  <->  ( [. A  /  x ]. w F z  ->  [. A  /  x ]. z  =  y ) ) )
7 sbcbrg 4072 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [. A  /  x ]. w F z  <->  [_ A  /  x ]_ w [_ A  /  x ]_ F [_ A  /  x ]_ z
) )
8 csbconstg 3095 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ w  =  w )
9 csbconstg 3095 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ z  =  z )
108, 9breq12d 4036 . . . . . . . . . . . . 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 3097 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [. A  /  x ]. z  =  y  <->  [_ A  /  x ]_ z  =  [_ A  /  x ]_ y ) )
13 csbconstg 3095 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ y  =  y )
149, 13eqeq12d 2297 . . . . . . . . . . . . 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 1611 . . . . . . . . 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 1612 . . . . . . 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 1611 . . . . 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 5266 . . 3  |-  ( Fun 
F  <->  ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) ) )
2726sbcbii 3046 . 2  |-  ( [. A  /  x ]. Fun  F  <->  [. A  /  x ]. ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) ) )
28 dffun3 5266 . 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 1527   E.wex 1528    = wceq 1623    e. wcel 1684   [.wsbc 2991   [_csb 3081   class class class wbr 4023   Rel wrel 4694   Fun wfun 5249
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-sep 4141  ax-nul 4149  ax-pr 4214
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-ral 2548  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3456  df-if 3566  df-sn 3646  df-pr 3647  df-op 3649  df-br 4024  df-opab 4078  df-id 4309  df-rel 4696  df-cnv 4697  df-co 4698  df-fun 5257
  Copyright terms: Public domain W3C validator