This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Move class substitution in and out of the well-founded recursive function generator. (Contributed by Scott Fenton, 18-Nov-2024)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | csbfrecsg | |- ( A e. V -> [_ A / x ]_ frecs ( R , D , F ) = frecs ( [_ A / x ]_ R , [_ A / x ]_ D , [_ A / x ]_ F ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | csbuni | |- [_ A / x ]_ U. { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } = U. [_ A / x ]_ { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } |
|
| 2 | csbab | |- [_ A / x ]_ { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } = { f | [. A / x ]. E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } |
|
| 3 | sbcex2 | |- ( [. A / x ]. E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) <-> E. z [. A / x ]. ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) ) |
|
| 4 | sbc3an | |- ( [. A / x ]. ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) <-> ( [. A / x ]. f Fn z /\ [. A / x ]. ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ [. A / x ]. A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) ) |
|
| 5 | sbcg | |- ( A e. V -> ( [. A / x ]. f Fn z <-> f Fn z ) ) |
|
| 6 | sbcan | |- ( [. A / x ]. ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) <-> ( [. A / x ]. z C_ D /\ [. A / x ]. A. y e. z Pred ( R , D , y ) C_ z ) ) |
|
| 7 | sbcssg | |- ( A e. V -> ( [. A / x ]. z C_ D <-> [_ A / x ]_ z C_ [_ A / x ]_ D ) ) |
|
| 8 | csbconstg | |- ( A e. V -> [_ A / x ]_ z = z ) |
|
| 9 | 8 | sseq1d | |- ( A e. V -> ( [_ A / x ]_ z C_ [_ A / x ]_ D <-> z C_ [_ A / x ]_ D ) ) |
| 10 | 7 9 | bitrd | |- ( A e. V -> ( [. A / x ]. z C_ D <-> z C_ [_ A / x ]_ D ) ) |
| 11 | sbcralg | |- ( A e. V -> ( [. A / x ]. A. y e. z Pred ( R , D , y ) C_ z <-> A. y e. z [. A / x ]. Pred ( R , D , y ) C_ z ) ) |
|
| 12 | sbcssg | |- ( A e. V -> ( [. A / x ]. Pred ( R , D , y ) C_ z <-> [_ A / x ]_ Pred ( R , D , y ) C_ [_ A / x ]_ z ) ) |
|
| 13 | csbpredg | |- ( A e. V -> [_ A / x ]_ Pred ( R , D , y ) = Pred ( [_ A / x ]_ R , [_ A / x ]_ D , [_ A / x ]_ y ) ) |
|
| 14 | csbconstg | |- ( A e. V -> [_ A / x ]_ y = y ) |
|
| 15 | predeq3 | |- ( [_ A / x ]_ y = y -> Pred ( [_ A / x ]_ R , [_ A / x ]_ D , [_ A / x ]_ y ) = Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) |
|
| 16 | 14 15 | syl | |- ( A e. V -> Pred ( [_ A / x ]_ R , [_ A / x ]_ D , [_ A / x ]_ y ) = Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) |
| 17 | 13 16 | eqtrd | |- ( A e. V -> [_ A / x ]_ Pred ( R , D , y ) = Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) |
| 18 | 17 8 | sseq12d | |- ( A e. V -> ( [_ A / x ]_ Pred ( R , D , y ) C_ [_ A / x ]_ z <-> Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) ) |
| 19 | 12 18 | bitrd | |- ( A e. V -> ( [. A / x ]. Pred ( R , D , y ) C_ z <-> Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) ) |
| 20 | 19 | ralbidv | |- ( A e. V -> ( A. y e. z [. A / x ]. Pred ( R , D , y ) C_ z <-> A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) ) |
| 21 | 11 20 | bitrd | |- ( A e. V -> ( [. A / x ]. A. y e. z Pred ( R , D , y ) C_ z <-> A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) ) |
| 22 | 10 21 | anbi12d | |- ( A e. V -> ( ( [. A / x ]. z C_ D /\ [. A / x ]. A. y e. z Pred ( R , D , y ) C_ z ) <-> ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) ) ) |
| 23 | 6 22 | bitrid | |- ( A e. V -> ( [. A / x ]. ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) <-> ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) ) ) |
| 24 | sbcralg | |- ( A e. V -> ( [. A / x ]. A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) <-> A. y e. z [. A / x ]. ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) ) |
|
| 25 | sbceqg | |- ( A e. V -> ( [. A / x ]. ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) <-> [_ A / x ]_ ( f ` y ) = [_ A / x ]_ ( y F ( f |` Pred ( R , D , y ) ) ) ) ) |
|
| 26 | csbconstg | |- ( A e. V -> [_ A / x ]_ ( f ` y ) = ( f ` y ) ) |
|
| 27 | csbov123 | |- [_ A / x ]_ ( y F ( f |` Pred ( R , D , y ) ) ) = ( [_ A / x ]_ y [_ A / x ]_ F [_ A / x ]_ ( f |` Pred ( R , D , y ) ) ) |
|
| 28 | csbres | |- [_ A / x ]_ ( f |` Pred ( R , D , y ) ) = ( [_ A / x ]_ f |` [_ A / x ]_ Pred ( R , D , y ) ) |
|
| 29 | csbconstg | |- ( A e. V -> [_ A / x ]_ f = f ) |
|
| 30 | 29 17 | reseq12d | |- ( A e. V -> ( [_ A / x ]_ f |` [_ A / x ]_ Pred ( R , D , y ) ) = ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) |
| 31 | 28 30 | eqtrid | |- ( A e. V -> [_ A / x ]_ ( f |` Pred ( R , D , y ) ) = ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) |
| 32 | 14 31 | oveq12d | |- ( A e. V -> ( [_ A / x ]_ y [_ A / x ]_ F [_ A / x ]_ ( f |` Pred ( R , D , y ) ) ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) |
| 33 | 27 32 | eqtrid | |- ( A e. V -> [_ A / x ]_ ( y F ( f |` Pred ( R , D , y ) ) ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) |
| 34 | 26 33 | eqeq12d | |- ( A e. V -> ( [_ A / x ]_ ( f ` y ) = [_ A / x ]_ ( y F ( f |` Pred ( R , D , y ) ) ) <-> ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) |
| 35 | 25 34 | bitrd | |- ( A e. V -> ( [. A / x ]. ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) <-> ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) |
| 36 | 35 | ralbidv | |- ( A e. V -> ( A. y e. z [. A / x ]. ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) <-> A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) |
| 37 | 24 36 | bitrd | |- ( A e. V -> ( [. A / x ]. A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) <-> A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) |
| 38 | 5 23 37 | 3anbi123d | |- ( A e. V -> ( ( [. A / x ]. f Fn z /\ [. A / x ]. ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ [. A / x ]. A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) <-> ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) ) |
| 39 | 4 38 | bitrid | |- ( A e. V -> ( [. A / x ]. ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) <-> ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) ) |
| 40 | 39 | exbidv | |- ( A e. V -> ( E. z [. A / x ]. ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) <-> E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) ) |
| 41 | 3 40 | bitrid | |- ( A e. V -> ( [. A / x ]. E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) <-> E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) ) ) |
| 42 | 41 | abbidv | |- ( A e. V -> { f | [. A / x ]. E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } = { f | E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) } ) |
| 43 | 2 42 | eqtrid | |- ( A e. V -> [_ A / x ]_ { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } = { f | E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) } ) |
| 44 | 43 | unieqd | |- ( A e. V -> U. [_ A / x ]_ { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } = U. { f | E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) } ) |
| 45 | 1 44 | eqtrid | |- ( A e. V -> [_ A / x ]_ U. { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } = U. { f | E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) } ) |
| 46 | df-frecs | |- frecs ( R , D , F ) = U. { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } |
|
| 47 | 46 | csbeq2i | |- [_ A / x ]_ frecs ( R , D , F ) = [_ A / x ]_ U. { f | E. z ( f Fn z /\ ( z C_ D /\ A. y e. z Pred ( R , D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y F ( f |` Pred ( R , D , y ) ) ) ) } |
| 48 | df-frecs | |- frecs ( [_ A / x ]_ R , [_ A / x ]_ D , [_ A / x ]_ F ) = U. { f | E. z ( f Fn z /\ ( z C_ [_ A / x ]_ D /\ A. y e. z Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) C_ z ) /\ A. y e. z ( f ` y ) = ( y [_ A / x ]_ F ( f |` Pred ( [_ A / x ]_ R , [_ A / x ]_ D , y ) ) ) ) } |
|
| 49 | 45 47 48 | 3eqtr4g | |- ( A e. V -> [_ A / x ]_ frecs ( R , D , F ) = frecs ( [_ A / x ]_ R , [_ A / x ]_ D , [_ A / x ]_ F ) ) |