Step |
Hyp |
Ref |
Expression |
1 |
|
iscmet.1 |
⊢ 𝐽 = ( MetOpen ‘ 𝐷 ) |
2 |
|
elfvex |
⊢ ( 𝐷 ∈ ( CMet ‘ 𝑋 ) → 𝑋 ∈ V ) |
3 |
|
elfvex |
⊢ ( 𝐷 ∈ ( Met ‘ 𝑋 ) → 𝑋 ∈ V ) |
4 |
3
|
adantr |
⊢ ( ( 𝐷 ∈ ( Met ‘ 𝑋 ) ∧ ∀ 𝑓 ∈ ( CauFil ‘ 𝐷 ) ( 𝐽 fLim 𝑓 ) ≠ ∅ ) → 𝑋 ∈ V ) |
5 |
|
fveq2 |
⊢ ( 𝑥 = 𝑋 → ( Met ‘ 𝑥 ) = ( Met ‘ 𝑋 ) ) |
6 |
5
|
rabeqdv |
⊢ ( 𝑥 = 𝑋 → { 𝑑 ∈ ( Met ‘ 𝑥 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } = { 𝑑 ∈ ( Met ‘ 𝑋 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } ) |
7 |
|
df-cmet |
⊢ CMet = ( 𝑥 ∈ V ↦ { 𝑑 ∈ ( Met ‘ 𝑥 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } ) |
8 |
|
fvex |
⊢ ( Met ‘ 𝑋 ) ∈ V |
9 |
8
|
rabex |
⊢ { 𝑑 ∈ ( Met ‘ 𝑋 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } ∈ V |
10 |
6 7 9
|
fvmpt |
⊢ ( 𝑋 ∈ V → ( CMet ‘ 𝑋 ) = { 𝑑 ∈ ( Met ‘ 𝑋 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } ) |
11 |
10
|
eleq2d |
⊢ ( 𝑋 ∈ V → ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ↔ 𝐷 ∈ { 𝑑 ∈ ( Met ‘ 𝑋 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } ) ) |
12 |
|
fveq2 |
⊢ ( 𝑑 = 𝐷 → ( CauFil ‘ 𝑑 ) = ( CauFil ‘ 𝐷 ) ) |
13 |
|
fveq2 |
⊢ ( 𝑑 = 𝐷 → ( MetOpen ‘ 𝑑 ) = ( MetOpen ‘ 𝐷 ) ) |
14 |
13 1
|
eqtr4di |
⊢ ( 𝑑 = 𝐷 → ( MetOpen ‘ 𝑑 ) = 𝐽 ) |
15 |
14
|
oveq1d |
⊢ ( 𝑑 = 𝐷 → ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) = ( 𝐽 fLim 𝑓 ) ) |
16 |
15
|
neeq1d |
⊢ ( 𝑑 = 𝐷 → ( ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ ↔ ( 𝐽 fLim 𝑓 ) ≠ ∅ ) ) |
17 |
12 16
|
raleqbidv |
⊢ ( 𝑑 = 𝐷 → ( ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ ↔ ∀ 𝑓 ∈ ( CauFil ‘ 𝐷 ) ( 𝐽 fLim 𝑓 ) ≠ ∅ ) ) |
18 |
17
|
elrab |
⊢ ( 𝐷 ∈ { 𝑑 ∈ ( Met ‘ 𝑋 ) ∣ ∀ 𝑓 ∈ ( CauFil ‘ 𝑑 ) ( ( MetOpen ‘ 𝑑 ) fLim 𝑓 ) ≠ ∅ } ↔ ( 𝐷 ∈ ( Met ‘ 𝑋 ) ∧ ∀ 𝑓 ∈ ( CauFil ‘ 𝐷 ) ( 𝐽 fLim 𝑓 ) ≠ ∅ ) ) |
19 |
11 18
|
bitrdi |
⊢ ( 𝑋 ∈ V → ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ↔ ( 𝐷 ∈ ( Met ‘ 𝑋 ) ∧ ∀ 𝑓 ∈ ( CauFil ‘ 𝐷 ) ( 𝐽 fLim 𝑓 ) ≠ ∅ ) ) ) |
20 |
2 4 19
|
pm5.21nii |
⊢ ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ↔ ( 𝐷 ∈ ( Met ‘ 𝑋 ) ∧ ∀ 𝑓 ∈ ( CauFil ‘ 𝐷 ) ( 𝐽 fLim 𝑓 ) ≠ ∅ ) ) |