Metamath Proof Explorer


Theorem elmopn

Description: The defining property of an open set of a metric space. (Contributed by NM, 1-Sep-2006) (Revised by Mario Carneiro, 12-Nov-2013)

Ref Expression
Hypothesis mopnval.1
|- J = ( MetOpen ` D )
Assertion elmopn
|- ( D e. ( *Met ` X ) -> ( A e. J <-> ( A C_ X /\ A. x e. A E. y e. ran ( ball ` D ) ( x e. y /\ y C_ A ) ) ) )

Proof

Step Hyp Ref Expression
1 mopnval.1
 |-  J = ( MetOpen ` D )
2 1 mopnval
 |-  ( D e. ( *Met ` X ) -> J = ( topGen ` ran ( ball ` D ) ) )
3 2 eleq2d
 |-  ( D e. ( *Met ` X ) -> ( A e. J <-> A e. ( topGen ` ran ( ball ` D ) ) ) )
4 blbas
 |-  ( D e. ( *Met ` X ) -> ran ( ball ` D ) e. TopBases )
5 eltg2
 |-  ( ran ( ball ` D ) e. TopBases -> ( A e. ( topGen ` ran ( ball ` D ) ) <-> ( A C_ U. ran ( ball ` D ) /\ A. x e. A E. y e. ran ( ball ` D ) ( x e. y /\ y C_ A ) ) ) )
6 4 5 syl
 |-  ( D e. ( *Met ` X ) -> ( A e. ( topGen ` ran ( ball ` D ) ) <-> ( A C_ U. ran ( ball ` D ) /\ A. x e. A E. y e. ran ( ball ` D ) ( x e. y /\ y C_ A ) ) ) )
7 unirnbl
 |-  ( D e. ( *Met ` X ) -> U. ran ( ball ` D ) = X )
8 7 sseq2d
 |-  ( D e. ( *Met ` X ) -> ( A C_ U. ran ( ball ` D ) <-> A C_ X ) )
9 8 anbi1d
 |-  ( D e. ( *Met ` X ) -> ( ( A C_ U. ran ( ball ` D ) /\ A. x e. A E. y e. ran ( ball ` D ) ( x e. y /\ y C_ A ) ) <-> ( A C_ X /\ A. x e. A E. y e. ran ( ball ` D ) ( x e. y /\ y C_ A ) ) ) )
10 3 6 9 3bitrd
 |-  ( D e. ( *Met ` X ) -> ( A e. J <-> ( A C_ X /\ A. x e. A E. y e. ran ( ball ` D ) ( x e. y /\ y C_ A ) ) ) )