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 a function value. (Contributed by NM, 11-Nov-2005) (Revised by NM, 20-Aug-2018)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | csbfv12 | |- [_ A / x ]_ ( F ` B ) = ( [_ A / x ]_ F ` [_ A / x ]_ B ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | csbiota | |- [_ A / x ]_ ( iota y B F y ) = ( iota y [. A / x ]. B F y ) |
|
| 2 | sbcbr123 | |- ( [. A / x ]. B F y <-> [_ A / x ]_ B [_ A / x ]_ F [_ A / x ]_ y ) |
|
| 3 | csbconstg | |- ( A e. _V -> [_ A / x ]_ y = y ) |
|
| 4 | 3 | breq2d | |- ( A e. _V -> ( [_ A / x ]_ B [_ A / x ]_ F [_ A / x ]_ y <-> [_ A / x ]_ B [_ A / x ]_ F y ) ) |
| 5 | 2 4 | bitrid | |- ( A e. _V -> ( [. A / x ]. B F y <-> [_ A / x ]_ B [_ A / x ]_ F y ) ) |
| 6 | 5 | iotabidv | |- ( A e. _V -> ( iota y [. A / x ]. B F y ) = ( iota y [_ A / x ]_ B [_ A / x ]_ F y ) ) |
| 7 | 1 6 | eqtrid | |- ( A e. _V -> [_ A / x ]_ ( iota y B F y ) = ( iota y [_ A / x ]_ B [_ A / x ]_ F y ) ) |
| 8 | df-fv | |- ( F ` B ) = ( iota y B F y ) |
|
| 9 | 8 | csbeq2i | |- [_ A / x ]_ ( F ` B ) = [_ A / x ]_ ( iota y B F y ) |
| 10 | df-fv | |- ( [_ A / x ]_ F ` [_ A / x ]_ B ) = ( iota y [_ A / x ]_ B [_ A / x ]_ F y ) |
|
| 11 | 7 9 10 | 3eqtr4g | |- ( A e. _V -> [_ A / x ]_ ( F ` B ) = ( [_ A / x ]_ F ` [_ A / x ]_ B ) ) |
| 12 | csbprc | |- ( -. A e. _V -> [_ A / x ]_ ( F ` B ) = (/) ) |
|
| 13 | csbprc | |- ( -. A e. _V -> [_ A / x ]_ F = (/) ) |
|
| 14 | 13 | fveq1d | |- ( -. A e. _V -> ( [_ A / x ]_ F ` [_ A / x ]_ B ) = ( (/) ` [_ A / x ]_ B ) ) |
| 15 | 0fv | |- ( (/) ` [_ A / x ]_ B ) = (/) |
|
| 16 | 14 15 | eqtr2di | |- ( -. A e. _V -> (/) = ( [_ A / x ]_ F ` [_ A / x ]_ B ) ) |
| 17 | 12 16 | eqtrd | |- ( -. A e. _V -> [_ A / x ]_ ( F ` B ) = ( [_ A / x ]_ F ` [_ A / x ]_ B ) ) |
| 18 | 11 17 | pm2.61i | |- [_ A / x ]_ ( F ` B ) = ( [_ A / x ]_ F ` [_ A / x ]_ B ) |