Metamath Proof Explorer


Theorem rrxmet

Description: Euclidean space is a metric space. (Contributed by Jeff Madsen, 2-Sep-2009) (Proof shortened by Mario Carneiro, 5-Jun-2014) (Revised by Thierry Arnoux, 30-Jun-2019)

Ref Expression
Hypotheses rrxmval.1 X=hI|finSupp0h
rrxmval.d D=distmsup
Assertion rrxmet IVDMetX

Proof

Step Hyp Ref Expression
1 rrxmval.1 X=hI|finSupp0h
2 rrxmval.d D=distmsup
3 simprl IVxXyXxX
4 1 3 rrxfsupp IVxXyXxsupp0Fin
5 simprr IVxXyXyX
6 1 5 rrxfsupp IVxXyXysupp0Fin
7 unfi xsupp0Finysupp0Finsupp0xsupp0yFin
8 4 6 7 syl2anc IVxXyXsupp0xsupp0yFin
9 1 3 rrxsuppss IVxXyXxsupp0I
10 1 5 rrxsuppss IVxXyXysupp0I
11 9 10 unssd IVxXyXsupp0xsupp0yI
12 11 sselda IVxXyXksupp0xsupp0ykI
13 1 3 rrxf IVxXyXx:I
14 13 ffvelcdmda IVxXyXkIxk
15 1 5 rrxf IVxXyXy:I
16 15 ffvelcdmda IVxXyXkIyk
17 14 16 resubcld IVxXyXkIxkyk
18 17 resqcld IVxXyXkIxkyk2
19 12 18 syldan IVxXyXksupp0xsupp0yxkyk2
20 8 19 fsumrecl IVxXyXksupp0xsupp0yxkyk2
21 17 sqge0d IVxXyXkI0xkyk2
22 12 21 syldan IVxXyXksupp0xsupp0y0xkyk2
23 8 19 22 fsumge0 IVxXyX0ksupp0xsupp0yxkyk2
24 20 23 resqrtcld IVxXyXksupp0xsupp0yxkyk2
25 24 ralrimivva IVxXyXksupp0xsupp0yxkyk2
26 eqid xX,yXksupp0xsupp0yxkyk2=xX,yXksupp0xsupp0yxkyk2
27 26 fmpo xXyXksupp0xsupp0yxkyk2xX,yXksupp0xsupp0yxkyk2:X×X
28 25 27 sylib IVxX,yXksupp0xsupp0yxkyk2:X×X
29 1 2 rrxmfval IVD=xX,yXksupp0xsupp0yxkyk2
30 29 feq1d IVD:X×XxX,yXksupp0xsupp0yxkyk2:X×X
31 28 30 mpbird IVD:X×X
32 sqrt00 ksupp0xsupp0yxkyk20ksupp0xsupp0yxkyk2ksupp0xsupp0yxkyk2=0ksupp0xsupp0yxkyk2=0
33 20 23 32 syl2anc IVxXyXksupp0xsupp0yxkyk2=0ksupp0xsupp0yxkyk2=0
34 8 19 22 fsum00 IVxXyXksupp0xsupp0yxkyk2=0ksupp0xsupp0yxkyk2=0
35 17 recnd IVxXyXkIxkyk
36 sqeq0 xkykxkyk2=0xkyk=0
37 35 36 syl IVxXyXkIxkyk2=0xkyk=0
38 14 recnd IVxXyXkIxk
39 16 recnd IVxXyXkIyk
40 38 39 subeq0ad IVxXyXkIxkyk=0xk=yk
41 37 40 bitrd IVxXyXkIxkyk2=0xk=yk
42 12 41 syldan IVxXyXksupp0xsupp0yxkyk2=0xk=yk
43 42 ralbidva IVxXyXksupp0xsupp0yxkyk2=0ksupp0xsupp0yxk=yk
44 33 34 43 3bitrd IVxXyXksupp0xsupp0yxkyk2=0ksupp0xsupp0yxk=yk
45 1 2 rrxmval IVxXyXxDy=ksupp0xsupp0yxkyk2
46 45 3expb IVxXyXxDy=ksupp0xsupp0yxkyk2
47 46 eqeq1d IVxXyXxDy=0ksupp0xsupp0yxkyk2=0
48 13 ffnd IVxXyXxFnI
49 15 ffnd IVxXyXyFnI
50 eqfnfv xFnIyFnIx=ykIxk=yk
51 48 49 50 syl2anc IVxXyXx=ykIxk=yk
52 ssun1 xsupp0supp0xsupp0y
53 52 a1i IVxXyXxsupp0supp0xsupp0y
54 simpl IVxXyXIV
55 0red IVxXyX0
56 13 53 54 55 suppssr IVxXyXkIsupp0xsupp0yxk=0
57 ssun2 ysupp0supp0xsupp0y
58 57 a1i IVxXyXysupp0supp0xsupp0y
59 15 58 54 55 suppssr IVxXyXkIsupp0xsupp0yyk=0
60 56 59 eqtr4d IVxXyXkIsupp0xsupp0yxk=yk
61 60 ralrimiva IVxXyXkIsupp0xsupp0yxk=yk
62 11 61 raldifeq IVxXyXksupp0xsupp0yxk=ykkIxk=yk
63 51 62 bitr4d IVxXyXx=yksupp0xsupp0yxk=yk
64 44 47 63 3bitr4d IVxXyXxDy=0x=y
65 8 3adant2 IVzXxXyXsupp0xsupp0yFin
66 simp2 IVzXxXyXzX
67 1 66 rrxfsupp IVzXxXyXzsupp0Fin
68 unfi supp0xsupp0yFinzsupp0Finsupp0xsupp0ysupp0zFin
69 65 67 68 syl2anc IVzXxXyXsupp0xsupp0ysupp0zFin
70 69 3expa IVzXxXyXsupp0xsupp0ysupp0zFin
71 70 an32s IVxXyXzXsupp0xsupp0ysupp0zFin
72 11 adantr IVxXyXzXsupp0xsupp0yI
73 simpr IVxXyXzXzX
74 1 73 rrxsuppss IVxXyXzXzsupp0I
75 72 74 unssd IVxXyXzXsupp0xsupp0ysupp0zI
76 75 sselda IVxXyXzXksupp0xsupp0ysupp0zkI
77 14 adantlr IVxXyXzXkIxk
78 1 73 rrxf IVxXyXzXz:I
79 78 ffvelcdmda IVxXyXzXkIzk
80 77 79 resubcld IVxXyXzXkIxkzk
81 76 80 syldan IVxXyXzXksupp0xsupp0ysupp0zxkzk
82 16 adantlr IVxXyXzXkIyk
83 79 82 resubcld IVxXyXzXkIzkyk
84 76 83 syldan IVxXyXzXksupp0xsupp0ysupp0zzkyk
85 71 81 84 trirn IVxXyXzXksupp0xsupp0ysupp0zxkzk+zk-yk2ksupp0xsupp0ysupp0zxkzk2+ksupp0xsupp0ysupp0zzkyk2
86 38 adantlr IVxXyXzXkIxk
87 79 recnd IVxXyXzXkIzk
88 39 adantlr IVxXyXzXkIyk
89 86 87 88 npncand IVxXyXzXkIxkzk+zk-yk=xkyk
90 89 oveq1d IVxXyXzXkIxkzk+zk-yk2=xkyk2
91 76 90 syldan IVxXyXzXksupp0xsupp0ysupp0zxkzk+zk-yk2=xkyk2
92 91 sumeq2dv IVxXyXzXksupp0xsupp0ysupp0zxkzk+zk-yk2=ksupp0xsupp0ysupp0zxkyk2
93 92 fveq2d IVxXyXzXksupp0xsupp0ysupp0zxkzk+zk-yk2=ksupp0xsupp0ysupp0zxkyk2
94 sqsubswap xkzkxkzk2=zkxk2
95 86 87 94 syl2anc IVxXyXzXkIxkzk2=zkxk2
96 76 95 syldan IVxXyXzXksupp0xsupp0ysupp0zxkzk2=zkxk2
97 96 sumeq2dv IVxXyXzXksupp0xsupp0ysupp0zxkzk2=ksupp0xsupp0ysupp0zzkxk2
98 97 fveq2d IVxXyXzXksupp0xsupp0ysupp0zxkzk2=ksupp0xsupp0ysupp0zzkxk2
99 98 oveq1d IVxXyXzXksupp0xsupp0ysupp0zxkzk2+ksupp0xsupp0ysupp0zzkyk2=ksupp0xsupp0ysupp0zzkxk2+ksupp0xsupp0ysupp0zzkyk2
100 85 93 99 3brtr3d IVxXyXzXksupp0xsupp0ysupp0zxkyk2ksupp0xsupp0ysupp0zzkxk2+ksupp0xsupp0ysupp0zzkyk2
101 46 adantr IVxXyXzXxDy=ksupp0xsupp0yxkyk2
102 simp1 IVzXxXyXIV
103 3 3adant2 IVzXxXyXxX
104 5 3adant2 IVzXxXyXyX
105 1 103 rrxsuppss IVzXxXyXxsupp0I
106 1 104 rrxsuppss IVzXxXyXysupp0I
107 105 106 unssd IVzXxXyXsupp0xsupp0yI
108 1 66 rrxsuppss IVzXxXyXzsupp0I
109 107 108 unssd IVzXxXyXsupp0xsupp0ysupp0zI
110 ssun1 supp0xsupp0ysupp0xsupp0ysupp0z
111 110 a1i IVzXxXyXsupp0xsupp0ysupp0xsupp0ysupp0z
112 1 2 102 103 104 109 69 111 rrxmetlem IVzXxXyXksupp0xsupp0yxkyk2=ksupp0xsupp0ysupp0zxkyk2
113 112 fveq2d IVzXxXyXksupp0xsupp0yxkyk2=ksupp0xsupp0ysupp0zxkyk2
114 113 3expa IVzXxXyXksupp0xsupp0yxkyk2=ksupp0xsupp0ysupp0zxkyk2
115 114 an32s IVxXyXzXksupp0xsupp0yxkyk2=ksupp0xsupp0ysupp0zxkyk2
116 101 115 eqtrd IVxXyXzXxDy=ksupp0xsupp0ysupp0zxkyk2
117 1 2 rrxmval IVzXxXzDx=ksupp0zsupp0xzkxk2
118 117 3adant3r IVzXxXyXzDx=ksupp0zsupp0xzkxk2
119 1 2 rrxmval IVzXyXzDy=ksupp0zsupp0yzkyk2
120 119 3adant3l IVzXxXyXzDy=ksupp0zsupp0yzkyk2
121 118 120 oveq12d IVzXxXyXzDx+zDy=ksupp0zsupp0xzkxk2+ksupp0zsupp0yzkyk2
122 ssun2 zsupp0supp0xsupp0ysupp0z
123 122 a1i IVzXxXyXzsupp0supp0xsupp0ysupp0z
124 52 110 sstri xsupp0supp0xsupp0ysupp0z
125 124 a1i IVzXxXyXxsupp0supp0xsupp0ysupp0z
126 123 125 unssd IVzXxXyXsupp0zsupp0xsupp0xsupp0ysupp0z
127 1 2 102 66 103 109 69 126 rrxmetlem IVzXxXyXksupp0zsupp0xzkxk2=ksupp0xsupp0ysupp0zzkxk2
128 127 fveq2d IVzXxXyXksupp0zsupp0xzkxk2=ksupp0xsupp0ysupp0zzkxk2
129 57 110 sstri ysupp0supp0xsupp0ysupp0z
130 129 a1i IVzXxXyXysupp0supp0xsupp0ysupp0z
131 123 130 unssd IVzXxXyXsupp0zsupp0ysupp0xsupp0ysupp0z
132 1 2 102 66 104 109 69 131 rrxmetlem IVzXxXyXksupp0zsupp0yzkyk2=ksupp0xsupp0ysupp0zzkyk2
133 132 fveq2d IVzXxXyXksupp0zsupp0yzkyk2=ksupp0xsupp0ysupp0zzkyk2
134 128 133 oveq12d IVzXxXyXksupp0zsupp0xzkxk2+ksupp0zsupp0yzkyk2=ksupp0xsupp0ysupp0zzkxk2+ksupp0xsupp0ysupp0zzkyk2
135 121 134 eqtrd IVzXxXyXzDx+zDy=ksupp0xsupp0ysupp0zzkxk2+ksupp0xsupp0ysupp0zzkyk2
136 135 3expa IVzXxXyXzDx+zDy=ksupp0xsupp0ysupp0zzkxk2+ksupp0xsupp0ysupp0zzkyk2
137 136 an32s IVxXyXzXzDx+zDy=ksupp0xsupp0ysupp0zzkxk2+ksupp0xsupp0ysupp0zzkyk2
138 100 116 137 3brtr4d IVxXyXzXxDyzDx+zDy
139 138 ralrimiva IVxXyXzXxDyzDx+zDy
140 64 139 jca IVxXyXxDy=0x=yzXxDyzDx+zDy
141 140 ralrimivva IVxXyXxDy=0x=yzXxDyzDx+zDy
142 ovex IV
143 1 142 rabex2 XV
144 ismet XVDMetXD:X×XxXyXxDy=0x=yzXxDyzDx+zDy
145 143 144 ax-mp DMetXD:X×XxXyXxDy=0x=yzXxDyzDx+zDy
146 31 141 145 sylanbrc IVDMetX