Metamath Proof Explorer


Theorem isbnd2

Description: The predicate "is a bounded metric space". Uses a single point instead of an arbitrary point in the space. (Contributed by Jeff Madsen, 2-Sep-2009)

Ref Expression
Assertion isbnd2
|- ( ( M e. ( Bnd ` X ) /\ X =/= (/) ) <-> ( M e. ( *Met ` X ) /\ E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )

Proof

Step Hyp Ref Expression
1 isbndx
 |-  ( M e. ( Bnd ` X ) <-> ( M e. ( *Met ` X ) /\ A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
2 1 anbi1i
 |-  ( ( M e. ( Bnd ` X ) /\ X =/= (/) ) <-> ( ( M e. ( *Met ` X ) /\ A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) /\ X =/= (/) ) )
3 anass
 |-  ( ( ( M e. ( *Met ` X ) /\ A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) /\ X =/= (/) ) <-> ( M e. ( *Met ` X ) /\ ( A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) /\ X =/= (/) ) ) )
4 r19.2z
 |-  ( ( X =/= (/) /\ A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) -> E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) )
5 4 ancoms
 |-  ( ( A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) /\ X =/= (/) ) -> E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) )
6 oveq1
 |-  ( x = y -> ( x ( ball ` M ) r ) = ( y ( ball ` M ) r ) )
7 6 eqeq2d
 |-  ( x = y -> ( X = ( x ( ball ` M ) r ) <-> X = ( y ( ball ` M ) r ) ) )
8 oveq2
 |-  ( r = s -> ( y ( ball ` M ) r ) = ( y ( ball ` M ) s ) )
9 8 eqeq2d
 |-  ( r = s -> ( X = ( y ( ball ` M ) r ) <-> X = ( y ( ball ` M ) s ) ) )
10 7 9 cbvrex2vw
 |-  ( E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) <-> E. y e. X E. s e. RR+ X = ( y ( ball ` M ) s ) )
11 2rp
 |-  2 e. RR+
12 rpmulcl
 |-  ( ( 2 e. RR+ /\ s e. RR+ ) -> ( 2 x. s ) e. RR+ )
13 11 12 mpan
 |-  ( s e. RR+ -> ( 2 x. s ) e. RR+ )
14 13 ad2antll
 |-  ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) -> ( 2 x. s ) e. RR+ )
15 14 ad2antrr
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) s ) ) -> ( 2 x. s ) e. RR+ )
16 rpcn
 |-  ( s e. RR+ -> s e. CC )
17 2cnd
 |-  ( s e. RR+ -> 2 e. CC )
18 2ne0
 |-  2 =/= 0
19 18 a1i
 |-  ( s e. RR+ -> 2 =/= 0 )
20 divcan3
 |-  ( ( s e. CC /\ 2 e. CC /\ 2 =/= 0 ) -> ( ( 2 x. s ) / 2 ) = s )
21 20 eqcomd
 |-  ( ( s e. CC /\ 2 e. CC /\ 2 =/= 0 ) -> s = ( ( 2 x. s ) / 2 ) )
22 16 17 19 21 syl3anc
 |-  ( s e. RR+ -> s = ( ( 2 x. s ) / 2 ) )
23 22 oveq2d
 |-  ( s e. RR+ -> ( y ( ball ` M ) s ) = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) )
24 23 eqeq2d
 |-  ( s e. RR+ -> ( X = ( y ( ball ` M ) s ) <-> X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) )
25 24 biimpd
 |-  ( s e. RR+ -> ( X = ( y ( ball ` M ) s ) -> X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) )
26 25 ad2antll
 |-  ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) -> ( X = ( y ( ball ` M ) s ) -> X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) )
27 26 adantr
 |-  ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) -> ( X = ( y ( ball ` M ) s ) -> X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) )
28 27 imp
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) s ) ) -> X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) )
29 simpr
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) -> X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) )
30 eleq2
 |-  ( X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) -> ( x e. X <-> x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) )
31 30 biimpac
 |-  ( ( x e. X /\ X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) -> x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) )
32 2re
 |-  2 e. RR
33 rpre
 |-  ( s e. RR+ -> s e. RR )
34 remulcl
 |-  ( ( 2 e. RR /\ s e. RR ) -> ( 2 x. s ) e. RR )
35 32 33 34 sylancr
 |-  ( s e. RR+ -> ( 2 x. s ) e. RR )
36 blhalf
 |-  ( ( ( M e. ( *Met ` X ) /\ y e. X ) /\ ( ( 2 x. s ) e. RR /\ x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) )
37 36 expr
 |-  ( ( ( M e. ( *Met ` X ) /\ y e. X ) /\ ( 2 x. s ) e. RR ) -> ( x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) ) )
38 35 37 sylan2
 |-  ( ( ( M e. ( *Met ` X ) /\ y e. X ) /\ s e. RR+ ) -> ( x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) ) )
39 38 anasss
 |-  ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) -> ( x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) ) )
40 39 imp
 |-  ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) )
41 31 40 sylan2
 |-  ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ ( x e. X /\ X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) )
42 41 anassrs
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) -> ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) C_ ( x ( ball ` M ) ( 2 x. s ) ) )
43 29 42 eqsstrd
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) ( ( 2 x. s ) / 2 ) ) ) -> X C_ ( x ( ball ` M ) ( 2 x. s ) ) )
44 28 43 syldan
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) s ) ) -> X C_ ( x ( ball ` M ) ( 2 x. s ) ) )
45 13 adantl
 |-  ( ( y e. X /\ s e. RR+ ) -> ( 2 x. s ) e. RR+ )
46 rpxr
 |-  ( ( 2 x. s ) e. RR+ -> ( 2 x. s ) e. RR* )
47 blssm
 |-  ( ( M e. ( *Met ` X ) /\ x e. X /\ ( 2 x. s ) e. RR* ) -> ( x ( ball ` M ) ( 2 x. s ) ) C_ X )
48 46 47 syl3an3
 |-  ( ( M e. ( *Met ` X ) /\ x e. X /\ ( 2 x. s ) e. RR+ ) -> ( x ( ball ` M ) ( 2 x. s ) ) C_ X )
49 48 3expa
 |-  ( ( ( M e. ( *Met ` X ) /\ x e. X ) /\ ( 2 x. s ) e. RR+ ) -> ( x ( ball ` M ) ( 2 x. s ) ) C_ X )
50 45 49 sylan2
 |-  ( ( ( M e. ( *Met ` X ) /\ x e. X ) /\ ( y e. X /\ s e. RR+ ) ) -> ( x ( ball ` M ) ( 2 x. s ) ) C_ X )
51 50 an32s
 |-  ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) -> ( x ( ball ` M ) ( 2 x. s ) ) C_ X )
52 51 adantr
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) s ) ) -> ( x ( ball ` M ) ( 2 x. s ) ) C_ X )
53 44 52 eqssd
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) s ) ) -> X = ( x ( ball ` M ) ( 2 x. s ) ) )
54 oveq2
 |-  ( r = ( 2 x. s ) -> ( x ( ball ` M ) r ) = ( x ( ball ` M ) ( 2 x. s ) ) )
55 54 rspceeqv
 |-  ( ( ( 2 x. s ) e. RR+ /\ X = ( x ( ball ` M ) ( 2 x. s ) ) ) -> E. r e. RR+ X = ( x ( ball ` M ) r ) )
56 15 53 55 syl2anc
 |-  ( ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) /\ X = ( y ( ball ` M ) s ) ) -> E. r e. RR+ X = ( x ( ball ` M ) r ) )
57 56 ex
 |-  ( ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) /\ x e. X ) -> ( X = ( y ( ball ` M ) s ) -> E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
58 57 ralrimdva
 |-  ( ( M e. ( *Met ` X ) /\ ( y e. X /\ s e. RR+ ) ) -> ( X = ( y ( ball ` M ) s ) -> A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
59 58 rexlimdvva
 |-  ( M e. ( *Met ` X ) -> ( E. y e. X E. s e. RR+ X = ( y ( ball ` M ) s ) -> A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
60 10 59 syl5bi
 |-  ( M e. ( *Met ` X ) -> ( E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) -> A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
61 rexn0
 |-  ( E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) -> X =/= (/) )
62 61 a1i
 |-  ( M e. ( *Met ` X ) -> ( E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) -> X =/= (/) ) )
63 60 62 jcad
 |-  ( M e. ( *Met ` X ) -> ( E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) -> ( A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) /\ X =/= (/) ) ) )
64 5 63 impbid2
 |-  ( M e. ( *Met ` X ) -> ( ( A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) /\ X =/= (/) ) <-> E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
65 64 pm5.32i
 |-  ( ( M e. ( *Met ` X ) /\ ( A. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) /\ X =/= (/) ) ) <-> ( M e. ( *Met ` X ) /\ E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )
66 2 3 65 3bitri
 |-  ( ( M e. ( Bnd ` X ) /\ X =/= (/) ) <-> ( M e. ( *Met ` X ) /\ E. x e. X E. r e. RR+ X = ( x ( ball ` M ) r ) ) )