MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  2ndcsb Structured version   Visualization version   GIF version

Theorem 2ndcsb 23635
Description: Having a countable subbase is a sufficient condition for second-countability. (Contributed by Jeff Hankins, 17-Jan-2010.) (Proof shortened by Mario Carneiro, 21-Mar-2015.)
Assertion
Ref Expression
2ndcsb (𝐽 ∈ 2ndω ↔ ∃𝑥(𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
Distinct variable group:   𝑥,𝐽

Proof of Theorem 2ndcsb
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 is2ndc 23632 . . 3 (𝐽 ∈ 2ndω ↔ ∃𝑥 ∈ TopBases (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽))
2 df-rex 3092 . . . 4 (∃𝑥 ∈ TopBases (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽) ↔ ∃𝑥(𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)))
3 simprl 783 . . . . . 6 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → 𝑥 ≼ ω)
4 ssfii 9382 . . . . . . . 8 (𝑥 ∈ TopBases → 𝑥 ⊆ (fi‘𝑥))
5 fvex 6898 . . . . . . . . . 10 (topGen‘𝑥) ∈ V
6 bastg 23152 . . . . . . . . . . 11 (𝑥 ∈ TopBases → 𝑥 ⊆ (topGen‘𝑥))
76adantr 486 . . . . . . . . . 10 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → 𝑥 ⊆ (topGen‘𝑥))
8 fiss 9387 . . . . . . . . . 10 (((topGen‘𝑥) ∈ V ∧ 𝑥 ⊆ (topGen‘𝑥)) → (fi‘𝑥) ⊆ (fi‘(topGen‘𝑥)))
95, 7, 8sylancr 599 . . . . . . . . 9 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (fi‘𝑥) ⊆ (fi‘(topGen‘𝑥)))
10 tgcl 23155 . . . . . . . . . . 11 (𝑥 ∈ TopBases → (topGen‘𝑥) ∈ Top)
1110adantr 486 . . . . . . . . . 10 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (topGen‘𝑥) ∈ Top)
12 fitop 23086 . . . . . . . . . 10 ((topGen‘𝑥) ∈ Top → (fi‘(topGen‘𝑥)) = (topGen‘𝑥))
1311, 12syl 18 . . . . . . . . 9 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (fi‘(topGen‘𝑥)) = (topGen‘𝑥))
149, 13sseqtrd 3974 . . . . . . . 8 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (fi‘𝑥) ⊆ (topGen‘𝑥))
15 2basgen 23176 . . . . . . . 8 ((𝑥 ⊆ (fi‘𝑥) ∧ (fi‘𝑥) ⊆ (topGen‘𝑥)) → (topGen‘𝑥) = (topGen‘(fi‘𝑥)))
164, 14, 15syl2an2r 698 . . . . . . 7 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (topGen‘𝑥) = (topGen‘(fi‘𝑥)))
17 simprr 785 . . . . . . 7 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (topGen‘𝑥) = 𝐽)
1816, 17eqtr3d 2802 . . . . . 6 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (topGen‘(fi‘𝑥)) = 𝐽)
193, 18jca 521 . . . . 5 ((𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → (𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
2019eximi 1868 . . . 4 (∃𝑥(𝑥 ∈ TopBases ∧ (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽)) → ∃𝑥(𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
212, 20sylbi 220 . . 3 (∃𝑥 ∈ TopBases (𝑥 ≼ ω ∧ (topGen‘𝑥) = 𝐽) → ∃𝑥(𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
221, 21sylbi 220 . 2 (𝐽 ∈ 2ndω → ∃𝑥(𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
23 fibas 23163 . . . . 5 (fi‘𝑥) ∈ TopBases
24 fictb 10239 . . . . . . . 8 (𝑥 ∈ V → (𝑥 ≼ ω ↔ (fi‘𝑥) ≼ ω))
2524elv 3462 . . . . . . 7 (𝑥 ≼ ω ↔ (fi‘𝑥) ≼ ω)
2625birani 509 . . . . . 6 ((𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽) → (fi‘𝑥) ≼ ω)
27 simpr 490 . . . . . 6 ((𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽) → (topGen‘(fi‘𝑥)) = 𝐽)
2826, 27jca 521 . . . . 5 ((𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽) → ((fi‘𝑥) ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
29 breq1 5114 . . . . . . 7 (𝑦 = (fi‘𝑥) → (𝑦 ≼ ω ↔ (fi‘𝑥) ≼ ω))
30 fveqeq2 6894 . . . . . . 7 (𝑦 = (fi‘𝑥) → ((topGen‘𝑦) = 𝐽 ↔ (topGen‘(fi‘𝑥)) = 𝐽))
3129, 30anbi12d 644 . . . . . 6 (𝑦 = (fi‘𝑥) → ((𝑦 ≼ ω ∧ (topGen‘𝑦) = 𝐽) ↔ ((fi‘𝑥) ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽)))
3231rspcev 3583 . . . . 5 (((fi‘𝑥) ∈ TopBases ∧ ((fi‘𝑥) ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽)) → ∃𝑦 ∈ TopBases (𝑦 ≼ ω ∧ (topGen‘𝑦) = 𝐽))
3323, 28, 32sylancr 599 . . . 4 ((𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽) → ∃𝑦 ∈ TopBases (𝑦 ≼ ω ∧ (topGen‘𝑦) = 𝐽))
34 is2ndc 23632 . . . 4 (𝐽 ∈ 2ndω ↔ ∃𝑦 ∈ TopBases (𝑦 ≼ ω ∧ (topGen‘𝑦) = 𝐽))
3533, 34sylibr 237 . . 3 ((𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽) → 𝐽 ∈ 2ndω)
3635exlimiv 1963 . 2 (∃𝑥(𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽) → 𝐽 ∈ 2ndω)
3722, 36impbii 212 1 (𝐽 ∈ 2ndω ↔ ∃𝑥(𝑥 ≼ ω ∧ (topGen‘(fi‘𝑥)) = 𝐽))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wb 209  wa 401   = wceq 1570  wex 1812  wcel 2146  wrex 3091  Vcvv 3457  wss 3906   class class class wbr 5111  cfv 6540  ωcom 7864  cdom 8943  ficfi 9373  topGenctg 17507  Topctop 23079  TopBasesctb 23131  2ndωc2ndc 23624
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7738
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-ral 3082  df-rex 3092  df-rmo 3371  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-se 5617  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-isom 6549  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-om 7865  df-1st 7988  df-2nd 7989  df-frecs 8280  df-wrecs 8311  df-recs 8360  df-rdg 8399  df-1o 8455  df-2o 8456  df-oadd 8459  df-er 8696  df-map 8828  df-en 8946  df-dom 8947  df-sdom 8948  df-fin 8949  df-fi 9374  df-dju 9899  df-card 9937  df-acn 9940  df-topgen 17513  df-top 23080  df-bases 23132  df-2ndc 23626
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator