This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A topological group is Hausdorff iff the identity subgroup is closed. (Contributed by Mario Carneiro, 18-Sep-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | tgphaus.1 | |- .0. = ( 0g ` G ) |
|
| tgphaus.j | |- J = ( TopOpen ` G ) |
||
| Assertion | tgphaus | |- ( G e. TopGrp -> ( J e. Haus <-> { .0. } e. ( Clsd ` J ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | tgphaus.1 | |- .0. = ( 0g ` G ) |
|
| 2 | tgphaus.j | |- J = ( TopOpen ` G ) |
|
| 3 | tgpgrp | |- ( G e. TopGrp -> G e. Grp ) |
|
| 4 | eqid | |- ( Base ` G ) = ( Base ` G ) |
|
| 5 | 4 1 | grpidcl | |- ( G e. Grp -> .0. e. ( Base ` G ) ) |
| 6 | 3 5 | syl | |- ( G e. TopGrp -> .0. e. ( Base ` G ) ) |
| 7 | 2 4 | tgptopon | |- ( G e. TopGrp -> J e. ( TopOn ` ( Base ` G ) ) ) |
| 8 | toponuni | |- ( J e. ( TopOn ` ( Base ` G ) ) -> ( Base ` G ) = U. J ) |
|
| 9 | 7 8 | syl | |- ( G e. TopGrp -> ( Base ` G ) = U. J ) |
| 10 | 6 9 | eleqtrd | |- ( G e. TopGrp -> .0. e. U. J ) |
| 11 | eqid | |- U. J = U. J |
|
| 12 | 11 | sncld | |- ( ( J e. Haus /\ .0. e. U. J ) -> { .0. } e. ( Clsd ` J ) ) |
| 13 | 12 | expcom | |- ( .0. e. U. J -> ( J e. Haus -> { .0. } e. ( Clsd ` J ) ) ) |
| 14 | 10 13 | syl | |- ( G e. TopGrp -> ( J e. Haus -> { .0. } e. ( Clsd ` J ) ) ) |
| 15 | eqid | |- ( -g ` G ) = ( -g ` G ) |
|
| 16 | 2 15 | tgpsubcn | |- ( G e. TopGrp -> ( -g ` G ) e. ( ( J tX J ) Cn J ) ) |
| 17 | cnclima | |- ( ( ( -g ` G ) e. ( ( J tX J ) Cn J ) /\ { .0. } e. ( Clsd ` J ) ) -> ( `' ( -g ` G ) " { .0. } ) e. ( Clsd ` ( J tX J ) ) ) |
|
| 18 | 17 | ex | |- ( ( -g ` G ) e. ( ( J tX J ) Cn J ) -> ( { .0. } e. ( Clsd ` J ) -> ( `' ( -g ` G ) " { .0. } ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 19 | 16 18 | syl | |- ( G e. TopGrp -> ( { .0. } e. ( Clsd ` J ) -> ( `' ( -g ` G ) " { .0. } ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 20 | cnvimass | |- ( `' ( -g ` G ) " { .0. } ) C_ dom ( -g ` G ) |
|
| 21 | 4 15 | grpsubf | |- ( G e. Grp -> ( -g ` G ) : ( ( Base ` G ) X. ( Base ` G ) ) --> ( Base ` G ) ) |
| 22 | 3 21 | syl | |- ( G e. TopGrp -> ( -g ` G ) : ( ( Base ` G ) X. ( Base ` G ) ) --> ( Base ` G ) ) |
| 23 | 20 22 | fssdm | |- ( G e. TopGrp -> ( `' ( -g ` G ) " { .0. } ) C_ ( ( Base ` G ) X. ( Base ` G ) ) ) |
| 24 | relxp | |- Rel ( ( Base ` G ) X. ( Base ` G ) ) |
|
| 25 | relss | |- ( ( `' ( -g ` G ) " { .0. } ) C_ ( ( Base ` G ) X. ( Base ` G ) ) -> ( Rel ( ( Base ` G ) X. ( Base ` G ) ) -> Rel ( `' ( -g ` G ) " { .0. } ) ) ) |
|
| 26 | 23 24 25 | mpisyl | |- ( G e. TopGrp -> Rel ( `' ( -g ` G ) " { .0. } ) ) |
| 27 | dfrel4v | |- ( Rel ( `' ( -g ` G ) " { .0. } ) <-> ( `' ( -g ` G ) " { .0. } ) = { <. x , y >. | x ( `' ( -g ` G ) " { .0. } ) y } ) |
|
| 28 | 26 27 | sylib | |- ( G e. TopGrp -> ( `' ( -g ` G ) " { .0. } ) = { <. x , y >. | x ( `' ( -g ` G ) " { .0. } ) y } ) |
| 29 | 22 | ffnd | |- ( G e. TopGrp -> ( -g ` G ) Fn ( ( Base ` G ) X. ( Base ` G ) ) ) |
| 30 | elpreima | |- ( ( -g ` G ) Fn ( ( Base ` G ) X. ( Base ` G ) ) -> ( <. x , y >. e. ( `' ( -g ` G ) " { .0. } ) <-> ( <. x , y >. e. ( ( Base ` G ) X. ( Base ` G ) ) /\ ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) ) ) |
|
| 31 | 29 30 | syl | |- ( G e. TopGrp -> ( <. x , y >. e. ( `' ( -g ` G ) " { .0. } ) <-> ( <. x , y >. e. ( ( Base ` G ) X. ( Base ` G ) ) /\ ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) ) ) |
| 32 | opelxp | |- ( <. x , y >. e. ( ( Base ` G ) X. ( Base ` G ) ) <-> ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) ) |
|
| 33 | 32 | anbi1i | |- ( ( <. x , y >. e. ( ( Base ` G ) X. ( Base ` G ) ) /\ ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) <-> ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) ) |
| 34 | 4 1 15 | grpsubeq0 | |- ( ( G e. Grp /\ x e. ( Base ` G ) /\ y e. ( Base ` G ) ) -> ( ( x ( -g ` G ) y ) = .0. <-> x = y ) ) |
| 35 | 34 | 3expb | |- ( ( G e. Grp /\ ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) ) -> ( ( x ( -g ` G ) y ) = .0. <-> x = y ) ) |
| 36 | 3 35 | sylan | |- ( ( G e. TopGrp /\ ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) ) -> ( ( x ( -g ` G ) y ) = .0. <-> x = y ) ) |
| 37 | df-ov | |- ( x ( -g ` G ) y ) = ( ( -g ` G ) ` <. x , y >. ) |
|
| 38 | 37 | eleq1i | |- ( ( x ( -g ` G ) y ) e. { .0. } <-> ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) |
| 39 | ovex | |- ( x ( -g ` G ) y ) e. _V |
|
| 40 | 39 | elsn | |- ( ( x ( -g ` G ) y ) e. { .0. } <-> ( x ( -g ` G ) y ) = .0. ) |
| 41 | 38 40 | bitr3i | |- ( ( ( -g ` G ) ` <. x , y >. ) e. { .0. } <-> ( x ( -g ` G ) y ) = .0. ) |
| 42 | equcom | |- ( y = x <-> x = y ) |
|
| 43 | 36 41 42 | 3bitr4g | |- ( ( G e. TopGrp /\ ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) ) -> ( ( ( -g ` G ) ` <. x , y >. ) e. { .0. } <-> y = x ) ) |
| 44 | 43 | pm5.32da | |- ( G e. TopGrp -> ( ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) <-> ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ y = x ) ) ) |
| 45 | 33 44 | bitrid | |- ( G e. TopGrp -> ( ( <. x , y >. e. ( ( Base ` G ) X. ( Base ` G ) ) /\ ( ( -g ` G ) ` <. x , y >. ) e. { .0. } ) <-> ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ y = x ) ) ) |
| 46 | 31 45 | bitrd | |- ( G e. TopGrp -> ( <. x , y >. e. ( `' ( -g ` G ) " { .0. } ) <-> ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ y = x ) ) ) |
| 47 | df-br | |- ( x ( `' ( -g ` G ) " { .0. } ) y <-> <. x , y >. e. ( `' ( -g ` G ) " { .0. } ) ) |
|
| 48 | eleq1w | |- ( y = x -> ( y e. ( Base ` G ) <-> x e. ( Base ` G ) ) ) |
|
| 49 | 48 | biimparc | |- ( ( x e. ( Base ` G ) /\ y = x ) -> y e. ( Base ` G ) ) |
| 50 | 49 | pm4.71i | |- ( ( x e. ( Base ` G ) /\ y = x ) <-> ( ( x e. ( Base ` G ) /\ y = x ) /\ y e. ( Base ` G ) ) ) |
| 51 | an32 | |- ( ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ y = x ) <-> ( ( x e. ( Base ` G ) /\ y = x ) /\ y e. ( Base ` G ) ) ) |
|
| 52 | 50 51 | bitr4i | |- ( ( x e. ( Base ` G ) /\ y = x ) <-> ( ( x e. ( Base ` G ) /\ y e. ( Base ` G ) ) /\ y = x ) ) |
| 53 | 46 47 52 | 3bitr4g | |- ( G e. TopGrp -> ( x ( `' ( -g ` G ) " { .0. } ) y <-> ( x e. ( Base ` G ) /\ y = x ) ) ) |
| 54 | 53 | opabbidv | |- ( G e. TopGrp -> { <. x , y >. | x ( `' ( -g ` G ) " { .0. } ) y } = { <. x , y >. | ( x e. ( Base ` G ) /\ y = x ) } ) |
| 55 | opabresid | |- ( _I |` ( Base ` G ) ) = { <. x , y >. | ( x e. ( Base ` G ) /\ y = x ) } |
|
| 56 | 54 55 | eqtr4di | |- ( G e. TopGrp -> { <. x , y >. | x ( `' ( -g ` G ) " { .0. } ) y } = ( _I |` ( Base ` G ) ) ) |
| 57 | 9 | reseq2d | |- ( G e. TopGrp -> ( _I |` ( Base ` G ) ) = ( _I |` U. J ) ) |
| 58 | 28 56 57 | 3eqtrd | |- ( G e. TopGrp -> ( `' ( -g ` G ) " { .0. } ) = ( _I |` U. J ) ) |
| 59 | 58 | eleq1d | |- ( G e. TopGrp -> ( ( `' ( -g ` G ) " { .0. } ) e. ( Clsd ` ( J tX J ) ) <-> ( _I |` U. J ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 60 | 19 59 | sylibd | |- ( G e. TopGrp -> ( { .0. } e. ( Clsd ` J ) -> ( _I |` U. J ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 61 | topontop | |- ( J e. ( TopOn ` ( Base ` G ) ) -> J e. Top ) |
|
| 62 | 7 61 | syl | |- ( G e. TopGrp -> J e. Top ) |
| 63 | 11 | hausdiag | |- ( J e. Haus <-> ( J e. Top /\ ( _I |` U. J ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 64 | 63 | baib | |- ( J e. Top -> ( J e. Haus <-> ( _I |` U. J ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 65 | 62 64 | syl | |- ( G e. TopGrp -> ( J e. Haus <-> ( _I |` U. J ) e. ( Clsd ` ( J tX J ) ) ) ) |
| 66 | 60 65 | sylibrd | |- ( G e. TopGrp -> ( { .0. } e. ( Clsd ` J ) -> J e. Haus ) ) |
| 67 | 14 66 | impbid | |- ( G e. TopGrp -> ( J e. Haus <-> { .0. } e. ( Clsd ` J ) ) ) |