Users' Mathboxes Mathbox for Giovanni Mascellani < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  sbcalf Structured version   Unicode version

Theorem sbcalf 30444
Description: Move universal quantifier in and out of class substitution, with an explicit non-free variable condition. (Contributed by Giovanni Mascellani, 29-May-2019.)
Hypothesis
Ref Expression
sbcalf.1  |-  F/_ y A
Assertion
Ref Expression
sbcalf  |-  ( [. A  /  x ]. A. y ph  <->  A. y [. A  /  x ]. ph )
Distinct variable group:    x, y
Allowed substitution hints:    ph( x, y)    A( x, y)

Proof of Theorem sbcalf
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 sbcalf.1 . . . 4  |-  F/_ y A
2 nfa1 1845 . . . 4  |-  F/ y A. y ph
31, 2nfsbc 3358 . . 3  |-  F/ y
[. A  /  x ]. A. y ph
4 nfa1 1845 . . 3  |-  F/ y A. y [. A  /  x ]. ph
53, 4nfbi 1881 . 2  |-  F/ y ( [. A  /  x ]. A. y ph  <->  A. y [. A  /  x ]. ph )
6 nfv 1683 . . . . . . . 8  |-  F/ z
ph
76sb8 2147 . . . . . . 7  |-  ( A. y ph  <->  A. z [ z  /  y ] ph )
87sbcbii 3396 . . . . . 6  |-  ( [. A  /  x ]. A. y ph  <->  [. A  /  x ]. A. z [ z  /  y ] ph )
98imbi2i 312 . . . . 5  |-  ( ( y  =  z  ->  [. A  /  x ]. A. y ph )  <->  ( y  =  z  ->  [. A  /  x ]. A. z [ z  /  y ] ph ) )
109bicomi 202 . . . 4  |-  ( ( y  =  z  ->  [. A  /  x ]. A. z [ z  /  y ] ph ) 
<->  ( y  =  z  ->  [. A  /  x ]. A. y ph )
)
1110pm5.74ri 246 . . 3  |-  ( y  =  z  ->  ( [. A  /  x ]. A. z [ z  /  y ] ph  <->  [. A  /  x ]. A. y ph ) )
12 nfs1v 2164 . . . . . 6  |-  F/ y [ z  /  y ] ph
131, 12nfsbc 3358 . . . . 5  |-  F/ y
[. A  /  x ]. [ z  /  y ] ph
14 nfv 1683 . . . . 5  |-  F/ z
[. A  /  x ]. ph
15 sbequ12r 1962 . . . . . 6  |-  ( z  =  y  ->  ( [ z  /  y ] ph  <->  ph ) )
1615sbcbidv 3395 . . . . 5  |-  ( z  =  y  ->  ( [. A  /  x ]. [ z  /  y ] ph  <->  [. A  /  x ]. ph ) )
1713, 14, 16cbval 1994 . . . 4  |-  ( A. z [. A  /  x ]. [ z  /  y ] ph  <->  A. y [. A  /  x ]. ph )
1817a1i 11 . . 3  |-  ( y  =  z  ->  ( A. z [. A  /  x ]. [ z  / 
y ] ph  <->  A. y [. A  /  x ]. ph ) )
1911, 18bibi12d 321 . 2  |-  ( y  =  z  ->  (
( [. A  /  x ]. A. z [ z  /  y ] ph  <->  A. z [. A  /  x ]. [ z  / 
y ] ph )  <->  (
[. A  /  x ]. A. y ph  <->  A. y [. A  /  x ]. ph ) ) )
20 sbcal 3388 . 2  |-  ( [. A  /  x ]. A. z [ z  /  y ] ph  <->  A. z [. A  /  x ]. [ z  /  y ] ph )
215, 19, 20chvar 1982 1  |-  ( [. A  /  x ]. A. y ph  <->  A. y [. A  /  x ]. ph )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184   A.wal 1377    = wceq 1379   [wsb 1711   F/_wnfc 2615   [.wsbc 3336
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-v 3120  df-sbc 3337
This theorem is referenced by:  sbcalfi  30446
  Copyright terms: Public domain W3C validator