Step |
Hyp |
Ref |
Expression |
1 |
|
mopnval.1 |
⊢ 𝐽 = ( MetOpen ‘ 𝐷 ) |
2 |
1
|
mopnval |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → 𝐽 = ( topGen ‘ ran ( ball ‘ 𝐷 ) ) ) |
3 |
2
|
eleq2d |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝐴 ∈ 𝐽 ↔ 𝐴 ∈ ( topGen ‘ ran ( ball ‘ 𝐷 ) ) ) ) |
4 |
|
blbas |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ran ( ball ‘ 𝐷 ) ∈ TopBases ) |
5 |
|
eltg2 |
⊢ ( ran ( ball ‘ 𝐷 ) ∈ TopBases → ( 𝐴 ∈ ( topGen ‘ ran ( ball ‘ 𝐷 ) ) ↔ ( 𝐴 ⊆ ∪ ran ( ball ‘ 𝐷 ) ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran ( ball ‘ 𝐷 ) ( 𝑥 ∈ 𝑦 ∧ 𝑦 ⊆ 𝐴 ) ) ) ) |
6 |
4 5
|
syl |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝐴 ∈ ( topGen ‘ ran ( ball ‘ 𝐷 ) ) ↔ ( 𝐴 ⊆ ∪ ran ( ball ‘ 𝐷 ) ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran ( ball ‘ 𝐷 ) ( 𝑥 ∈ 𝑦 ∧ 𝑦 ⊆ 𝐴 ) ) ) ) |
7 |
|
unirnbl |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ∪ ran ( ball ‘ 𝐷 ) = 𝑋 ) |
8 |
7
|
sseq2d |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝐴 ⊆ ∪ ran ( ball ‘ 𝐷 ) ↔ 𝐴 ⊆ 𝑋 ) ) |
9 |
8
|
anbi1d |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( ( 𝐴 ⊆ ∪ ran ( ball ‘ 𝐷 ) ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran ( ball ‘ 𝐷 ) ( 𝑥 ∈ 𝑦 ∧ 𝑦 ⊆ 𝐴 ) ) ↔ ( 𝐴 ⊆ 𝑋 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran ( ball ‘ 𝐷 ) ( 𝑥 ∈ 𝑦 ∧ 𝑦 ⊆ 𝐴 ) ) ) ) |
10 |
3 6 9
|
3bitrd |
⊢ ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝐴 ∈ 𝐽 ↔ ( 𝐴 ⊆ 𝑋 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran ( ball ‘ 𝐷 ) ( 𝑥 ∈ 𝑦 ∧ 𝑦 ⊆ 𝐴 ) ) ) ) |