This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Nest the composition of two substitutions. Version of csbnestgf with a disjoint variable condition, which does not require ax-13 . (Contributed by NM, 23-Nov-2005) Avoid ax-13 . (Revised by GG, 26-Jan-2024)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | csbnestgfw | |- ( ( A e. V /\ A. y F/_ x C ) -> [_ A / x ]_ [_ B / y ]_ C = [_ [_ A / x ]_ B / y ]_ C ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elex | |- ( A e. V -> A e. _V ) |
|
| 2 | df-csb | |- [_ B / y ]_ C = { z | [. B / y ]. z e. C } |
|
| 3 | 2 | eqabri | |- ( z e. [_ B / y ]_ C <-> [. B / y ]. z e. C ) |
| 4 | 3 | sbcbii | |- ( [. A / x ]. z e. [_ B / y ]_ C <-> [. A / x ]. [. B / y ]. z e. C ) |
| 5 | nfcr | |- ( F/_ x C -> F/ x z e. C ) |
|
| 6 | 5 | alimi | |- ( A. y F/_ x C -> A. y F/ x z e. C ) |
| 7 | sbcnestgfw | |- ( ( A e. _V /\ A. y F/ x z e. C ) -> ( [. A / x ]. [. B / y ]. z e. C <-> [. [_ A / x ]_ B / y ]. z e. C ) ) |
|
| 8 | 6 7 | sylan2 | |- ( ( A e. _V /\ A. y F/_ x C ) -> ( [. A / x ]. [. B / y ]. z e. C <-> [. [_ A / x ]_ B / y ]. z e. C ) ) |
| 9 | 4 8 | bitrid | |- ( ( A e. _V /\ A. y F/_ x C ) -> ( [. A / x ]. z e. [_ B / y ]_ C <-> [. [_ A / x ]_ B / y ]. z e. C ) ) |
| 10 | 9 | abbidv | |- ( ( A e. _V /\ A. y F/_ x C ) -> { z | [. A / x ]. z e. [_ B / y ]_ C } = { z | [. [_ A / x ]_ B / y ]. z e. C } ) |
| 11 | 1 10 | sylan | |- ( ( A e. V /\ A. y F/_ x C ) -> { z | [. A / x ]. z e. [_ B / y ]_ C } = { z | [. [_ A / x ]_ B / y ]. z e. C } ) |
| 12 | df-csb | |- [_ A / x ]_ [_ B / y ]_ C = { z | [. A / x ]. z e. [_ B / y ]_ C } |
|
| 13 | df-csb | |- [_ [_ A / x ]_ B / y ]_ C = { z | [. [_ A / x ]_ B / y ]. z e. C } |
|
| 14 | 11 12 13 | 3eqtr4g | |- ( ( A e. V /\ A. y F/_ x C ) -> [_ A / x ]_ [_ B / y ]_ C = [_ [_ A / x ]_ B / y ]_ C ) |