HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem bcth 7982
Description: Baire's Category Theorem. If a nonempty metric space is complete, it is nonmeager in itself. In other words, the metric space cannot be the countable union of rare closed subsets (where rare means having an empty interior), so some subset M` k must have a nonempty interior. Theorem 4.7-2 of [Kreyszig] p. 247. (The terminology "meager" and "nonmeager" is used by Kreyszig to replace Baire's "of the first category" and "of the second category." The latter terms are going out of favor to avoid confusion with category theory.)
Hypotheses
Ref Expression
bcth.1 |- X = dom dom D
bcth.2 |- J = (Open` D)
Assertion
Ref Expression
bcth |- (((D e. CMet /\ X =/= (/) /\ M:NN-->P~X) /\ (U.ran M = X /\ ran M (_ (Clsd` J))) -> E.k e. NN ((int` J)` (M` k)) =/= (/))
Distinct variable groups:   D,k   k,J   k,M   k,X

Proof of Theorem bcth
StepHypRef Expression
1 dmeq 3306 . . . . . . . . 9 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> dom D = dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )))
21dmeqd 3308 . . . . . . . 8 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> dom dom D = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )))
3 bcth.1 . . . . . . . 8 |- X = dom dom D
42, 3syl5eq 1516 . . . . . . 7 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> X = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )))
5 pweq 2399 . . . . . . 7 |- (X = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> P~X = P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )))
64, 5syl 10 . . . . . 6 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> P~X = P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )))
7 feq3 3614 . . . . . 6 |- (P~X = P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (M:NN-->P~X <-> M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))
86, 7syl 10 . . . . 5 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (M:NN-->P~X <-> M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))
94eqeq2d 1483 . . . . . . 7 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (U.ran M = X <-> U.ran M = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))
10 fveq2 3715 . . . . . . . . . 10 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (Open` D) = (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))
11 bcth.2 . . . . . . . . . 10 |- J = (Open` D)
1210, 11syl5eq 1516 . . . . . . . . 9 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> J = (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))
1312fveq2d 3719 . . . . . . . 8 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (Clsd` J) = (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - )))))
1413sseq2d 2085 . . . . . . 7 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (ran M (_ (Clsd` J) <-> ran M (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))))
159, 14anbi12d 627 . . . . . 6 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> ((U.ran M = X /\ ran M (_ (Clsd` J)) <-> (U.ran M = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) /\ ran M (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - )))))))
1612fveq2d 3719 . . . . . . . . 9 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (int` J) = (int` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - )))))
1716fveq1d 3717 . . . . . . . 8 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> ((int` J)` (M` k)) = ((int` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))` (M` k)))
1817neeq1d 1591 . . . . . . 7 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (((int`
J)` (M` k)) =/= (/) <-> ((int` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))` (M` k)) =/= (/)))
1918rexbidv 1661 . . . . . 6 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (E.k e. NN ((int`
J)` (M` k)) =/= (/) <-> E.k e. NN ((int` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))` (M` k)) =/= (/)))
2015, 19imbi12d 625 . . . . 5 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> (((U.ran M = X /\ ran M (_ (Clsd` J)) -> E.k e. NN ((int`
J)` (M` k)) =/= (/)) <-> ((U.ran M = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) /\ ran M (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))) -> E.k e. NN ((int`
(Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))` (M` k)) =/= (/))))
218, 20imbi12d 625 . . . 4 |- (D = if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> ((M:NN-->P~X -> ((U.ran M = X /\ ran M (_ (Clsd` J)) -> E.k e. NN ((int` J)` (M` k)) =/= (/))) <-> (M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) -> ((U.ran M = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) /\ ran M (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))) -> E.k e. NN ((int`
(Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))` (M` k)) =/= (/)))))
22 rneq 3334 . . . . . . . . 9 |- (M = if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) -> ran M = ran if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})))
2322unieqd 2507 . . . . . . . 8 |- (M = if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) -> U.ran M = U.ran if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})))
2423eqeq1d 1480 . . . . . . 7 |- (M = if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) -> (U.ran M = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) <-> U.ran if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))
2522sseq1d 2084 . . . . . . 7 |- (M = if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) -> (ran M (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - )))) <-> ran if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))))
2624, 25anbi12d 627 . . . . . 6 |- (M = if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) -> ((U.ran M = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) /\ ran M (_ (Clsd` (Open` if((D e. CMet /\ X =/= (/)), D, (abs o. - ))))) <-> (U.ran if(M:NN-->P~dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )), M, (NN X. {(/)})) = dom dom if((D e. CMet /\ X =/= (/)), D, (abs o. - )) /\ ran