This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Conversion of implicit substitution to explicit substitution into a class. (Closed theorem version of csbiegf .) (Contributed by NM, 11-Nov-2005)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | csbiebt | |- ( ( A e. V /\ F/_ x C ) -> ( A. x ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elex | |- ( A e. V -> A e. _V ) |
|
| 2 | spsbc | |- ( A e. _V -> ( A. x ( x = A -> B = C ) -> [. A / x ]. ( x = A -> B = C ) ) ) |
|
| 3 | 2 | adantr | |- ( ( A e. _V /\ F/_ x C ) -> ( A. x ( x = A -> B = C ) -> [. A / x ]. ( x = A -> B = C ) ) ) |
| 4 | simpl | |- ( ( A e. _V /\ F/_ x C ) -> A e. _V ) |
|
| 5 | biimt | |- ( x = A -> ( B = C <-> ( x = A -> B = C ) ) ) |
|
| 6 | csbeq1a | |- ( x = A -> B = [_ A / x ]_ B ) |
|
| 7 | 6 | eqeq1d | |- ( x = A -> ( B = C <-> [_ A / x ]_ B = C ) ) |
| 8 | 5 7 | bitr3d | |- ( x = A -> ( ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) |
| 9 | 8 | adantl | |- ( ( ( A e. _V /\ F/_ x C ) /\ x = A ) -> ( ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) |
| 10 | nfv | |- F/ x A e. _V |
|
| 11 | nfnfc1 | |- F/ x F/_ x C |
|
| 12 | 10 11 | nfan | |- F/ x ( A e. _V /\ F/_ x C ) |
| 13 | nfcsb1v | |- F/_ x [_ A / x ]_ B |
|
| 14 | 13 | a1i | |- ( ( A e. _V /\ F/_ x C ) -> F/_ x [_ A / x ]_ B ) |
| 15 | simpr | |- ( ( A e. _V /\ F/_ x C ) -> F/_ x C ) |
|
| 16 | 14 15 | nfeqd | |- ( ( A e. _V /\ F/_ x C ) -> F/ x [_ A / x ]_ B = C ) |
| 17 | 4 9 12 16 | sbciedf | |- ( ( A e. _V /\ F/_ x C ) -> ( [. A / x ]. ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) |
| 18 | 3 17 | sylibd | |- ( ( A e. _V /\ F/_ x C ) -> ( A. x ( x = A -> B = C ) -> [_ A / x ]_ B = C ) ) |
| 19 | 13 | a1i | |- ( F/_ x C -> F/_ x [_ A / x ]_ B ) |
| 20 | id | |- ( F/_ x C -> F/_ x C ) |
|
| 21 | 19 20 | nfeqd | |- ( F/_ x C -> F/ x [_ A / x ]_ B = C ) |
| 22 | 11 21 | nfan1 | |- F/ x ( F/_ x C /\ [_ A / x ]_ B = C ) |
| 23 | 7 | biimprcd | |- ( [_ A / x ]_ B = C -> ( x = A -> B = C ) ) |
| 24 | 23 | adantl | |- ( ( F/_ x C /\ [_ A / x ]_ B = C ) -> ( x = A -> B = C ) ) |
| 25 | 22 24 | alrimi | |- ( ( F/_ x C /\ [_ A / x ]_ B = C ) -> A. x ( x = A -> B = C ) ) |
| 26 | 25 | ex | |- ( F/_ x C -> ( [_ A / x ]_ B = C -> A. x ( x = A -> B = C ) ) ) |
| 27 | 26 | adantl | |- ( ( A e. _V /\ F/_ x C ) -> ( [_ A / x ]_ B = C -> A. x ( x = A -> B = C ) ) ) |
| 28 | 18 27 | impbid | |- ( ( A e. _V /\ F/_ x C ) -> ( A. x ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) |
| 29 | 1 28 | sylan | |- ( ( A e. V /\ F/_ x C ) -> ( A. x ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) |