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

Theorem sbcfun 27135
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 3067 . . 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 27129 . . . 4  |-  ( A  e.  V  ->  ( [. A  /  x ]. Rel  F  <->  Rel  [_ A  /  x ]_ F ) )
3 sbcal 3072 . . . . 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 3074 . . . . . . 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 3072 . . . . . . . . 9  |-  ( [. A  /  x ]. A. z ( w F z  ->  z  =  y )  <->  A. z [. A  /  x ]. ( w F z  ->  z  =  y ) )
6 sbcimg 3066 . . . . . . . . . . 11  |-  ( A  e.  V  ->  ( [. A  /  x ]. ( w F z  ->  z  =  y )  <->  ( [. A  /  x ]. w F z  ->  [. A  /  x ]. z  =  y ) ) )
7 sbcbrg 4109 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [. A  /  x ]. w F z  <->  [_ A  /  x ]_ w [_ A  /  x ]_ F [_ A  /  x ]_ z
) )
8 csbconstg 3129 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ w  =  w )
9 csbconstg 3129 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ z  =  z )
108, 9breq12d 4073 . . . . . . . . . . . . 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 3131 . . . . . . . . . . . . 13  |-  ( A  e.  V  ->  ( [. A  /  x ]. z  =  y  <->  [_ A  /  x ]_ z  =  [_ A  /  x ]_ y ) )
13 csbconstg 3129 . . . . . . . . . . . . . 14  |-  ( A  e.  V  ->  [_ A  /  x ]_ y  =  y )
149, 13eqeq12d 2330 . . . . . . . . . . . . 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 1616 . . . . . . . . 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 1617 . . . . . . 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 1616 . . . . 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 5303 . . 3  |-  ( Fun 
F  <->  ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) ) )
2726sbcbii 3080 . 2  |-  ( [. A  /  x ]. Fun  F  <->  [. A  /  x ]. ( Rel  F  /\  A. w E. y A. z ( w F z  ->  z  =  y ) ) )
28 dffun3 5303 . 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 1531   E.wex 1532    = wceq 1633    e. wcel 1701   [.wsbc 3025   [_csb 3115   class class class wbr 4060   Rel wrel 4731   Fun wfun 5286
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1537  ax-5 1548  ax-17 1607  ax-9 1645  ax-8 1666  ax-14 1705  ax-6 1720  ax-7 1725  ax-11 1732  ax-12 1897  ax-ext 2297  ax-sep 4178  ax-nul 4186  ax-pr 4251
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1533  df-nf 1536  df-sb 1640  df-eu 2180  df-mo 2181  df-clab 2303  df-cleq 2309  df-clel 2312  df-nfc 2441  df-ne 2481  df-ral 2582  df-rab 2586  df-v 2824  df-sbc 3026  df-csb 3116  df-dif 3189  df-un 3191  df-in 3193  df-ss 3200  df-nul 3490  df-if 3600  df-sn 3680  df-pr 3681  df-op 3683  df-br 4061  df-opab 4115  df-id 4346  df-rel 4733  df-cnv 4734  df-co 4735  df-fun 5294
  Copyright terms: Public domain W3C validator