Step |
Hyp |
Ref |
Expression |
1 |
|
riota2df.1 |
|- F/ x ph |
2 |
|
riota2df.2 |
|- ( ph -> F/_ x B ) |
3 |
|
riota2df.3 |
|- ( ph -> F/ x ch ) |
4 |
|
riota2df.4 |
|- ( ph -> B e. A ) |
5 |
|
riota2df.5 |
|- ( ( ph /\ x = B ) -> ( ps <-> ch ) ) |
6 |
4
|
adantr |
|- ( ( ph /\ E! x e. A ps ) -> B e. A ) |
7 |
|
simpr |
|- ( ( ph /\ E! x e. A ps ) -> E! x e. A ps ) |
8 |
|
df-reu |
|- ( E! x e. A ps <-> E! x ( x e. A /\ ps ) ) |
9 |
7 8
|
sylib |
|- ( ( ph /\ E! x e. A ps ) -> E! x ( x e. A /\ ps ) ) |
10 |
|
simpr |
|- ( ( ( ph /\ E! x e. A ps ) /\ x = B ) -> x = B ) |
11 |
6
|
adantr |
|- ( ( ( ph /\ E! x e. A ps ) /\ x = B ) -> B e. A ) |
12 |
10 11
|
eqeltrd |
|- ( ( ( ph /\ E! x e. A ps ) /\ x = B ) -> x e. A ) |
13 |
12
|
biantrurd |
|- ( ( ( ph /\ E! x e. A ps ) /\ x = B ) -> ( ps <-> ( x e. A /\ ps ) ) ) |
14 |
5
|
adantlr |
|- ( ( ( ph /\ E! x e. A ps ) /\ x = B ) -> ( ps <-> ch ) ) |
15 |
13 14
|
bitr3d |
|- ( ( ( ph /\ E! x e. A ps ) /\ x = B ) -> ( ( x e. A /\ ps ) <-> ch ) ) |
16 |
|
nfreu1 |
|- F/ x E! x e. A ps |
17 |
1 16
|
nfan |
|- F/ x ( ph /\ E! x e. A ps ) |
18 |
3
|
adantr |
|- ( ( ph /\ E! x e. A ps ) -> F/ x ch ) |
19 |
2
|
adantr |
|- ( ( ph /\ E! x e. A ps ) -> F/_ x B ) |
20 |
6 9 15 17 18 19
|
iota2df |
|- ( ( ph /\ E! x e. A ps ) -> ( ch <-> ( iota x ( x e. A /\ ps ) ) = B ) ) |
21 |
|
df-riota |
|- ( iota_ x e. A ps ) = ( iota x ( x e. A /\ ps ) ) |
22 |
21
|
eqeq1i |
|- ( ( iota_ x e. A ps ) = B <-> ( iota x ( x e. A /\ ps ) ) = B ) |
23 |
20 22
|
bitr4di |
|- ( ( ph /\ E! x e. A ps ) -> ( ch <-> ( iota_ x e. A ps ) = B ) ) |