This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Distribute proper substitution through the function predicate with domain and codomain. (Contributed by Alexander van der Vekens, 15-Jul-2018)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | sbcfg | |- ( X e. V -> ( [. X / x ]. F : A --> B <-> [_ X / x ]_ F : [_ X / x ]_ A --> [_ X / x ]_ B ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | df-f | |- ( F : A --> B <-> ( F Fn A /\ ran F C_ B ) ) |
|
| 2 | 1 | a1i | |- ( X e. V -> ( F : A --> B <-> ( F Fn A /\ ran F C_ B ) ) ) |
| 3 | 2 | sbcbidv | |- ( X e. V -> ( [. X / x ]. F : A --> B <-> [. X / x ]. ( F Fn A /\ ran F C_ B ) ) ) |
| 4 | sbcfng | |- ( X e. V -> ( [. X / x ]. F Fn A <-> [_ X / x ]_ F Fn [_ X / x ]_ A ) ) |
|
| 5 | sbcssg | |- ( X e. V -> ( [. X / x ]. ran F C_ B <-> [_ X / x ]_ ran F C_ [_ X / x ]_ B ) ) |
|
| 6 | csbrn | |- [_ X / x ]_ ran F = ran [_ X / x ]_ F |
|
| 7 | 6 | sseq1i | |- ( [_ X / x ]_ ran F C_ [_ X / x ]_ B <-> ran [_ X / x ]_ F C_ [_ X / x ]_ B ) |
| 8 | 5 7 | bitrdi | |- ( X e. V -> ( [. X / x ]. ran F C_ B <-> ran [_ X / x ]_ F C_ [_ X / x ]_ B ) ) |
| 9 | 4 8 | anbi12d | |- ( X e. V -> ( ( [. X / x ]. F Fn A /\ [. X / x ]. ran F C_ B ) <-> ( [_ X / x ]_ F Fn [_ X / x ]_ A /\ ran [_ X / x ]_ F C_ [_ X / x ]_ B ) ) ) |
| 10 | sbcan | |- ( [. X / x ]. ( F Fn A /\ ran F C_ B ) <-> ( [. X / x ]. F Fn A /\ [. X / x ]. ran F C_ B ) ) |
|
| 11 | df-f | |- ( [_ X / x ]_ F : [_ X / x ]_ A --> [_ X / x ]_ B <-> ( [_ X / x ]_ F Fn [_ X / x ]_ A /\ ran [_ X / x ]_ F C_ [_ X / x ]_ B ) ) |
|
| 12 | 9 10 11 | 3bitr4g | |- ( X e. V -> ( [. X / x ]. ( F Fn A /\ ran F C_ B ) <-> [_ X / x ]_ F : [_ X / x ]_ A --> [_ X / x ]_ B ) ) |
| 13 | 3 12 | bitrd | |- ( X e. V -> ( [. X / x ]. F : A --> B <-> [_ X / x ]_ F : [_ X / x ]_ A --> [_ X / x ]_ B ) ) |