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

Theorem sbcalf 29091
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 1836 . . . 4  |-  F/ y A. y ph
31, 2nfsbc 3316 . . 3  |-  F/ y
[. A  /  x ]. A. y ph
4 nfa1 1836 . . 3  |-  F/ y A. y [. A  /  x ]. ph
53, 4nfbi 1872 . 2  |-  F/ y ( [. A  /  x ]. A. y ph  <->  A. y [. A  /  x ]. ph )
6 nfv 1674 . . . . . . . 8  |-  F/ z
ph
76sb8 2134 . . . . . . 7  |-  ( A. y ph  <->  A. z [ z  /  y ] ph )
87sbcbii 3354 . . . . . 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 2151 . . . . . 6  |-  F/ y [ z  /  y ] ph
131, 12nfsbc 3316 . . . . 5  |-  F/ y
[. A  /  x ]. [ z  /  y ] ph
14 nfv 1674 . . . . 5  |-  F/ z
[. A  /  x ]. ph
15 sbequ12r 1949 . . . . . 6  |-  ( z  =  y  ->  ( [ z  /  y ] ph  <->  ph ) )
1615sbcbidv 3353 . . . . 5  |-  ( z  =  y  ->  ( [. A  /  x ]. [ z  /  y ] ph  <->  [. A  /  x ]. ph ) )
1713, 14, 16cbval 1981 . . . 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 3346 . 2  |-  ( [. A  /  x ]. A. z [ z  /  y ] ph  <->  A. z [. A  /  x ]. [ z  /  y ] ph )
215, 19, 20chvar 1969 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 1368    = wceq 1370   [wsb 1702   F/_wnfc 2602   [.wsbc 3294
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1592  ax-4 1603  ax-5 1671  ax-6 1710  ax-7 1730  ax-10 1777  ax-11 1782  ax-12 1794  ax-13 1955  ax-ext 2432
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-tru 1373  df-ex 1588  df-nf 1591  df-sb 1703  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-v 3080  df-sbc 3295
This theorem is referenced by:  sbcalfi  29093
  Copyright terms: Public domain W3C validator