| Step |
Hyp |
Ref |
Expression |
| 1 |
|
dscmet.1 |
⊢ 𝐷 = ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ if ( 𝑥 = 𝑦 , 0 , 1 ) ) |
| 2 |
|
0re |
⊢ 0 ∈ ℝ |
| 3 |
|
1re |
⊢ 1 ∈ ℝ |
| 4 |
2 3
|
ifcli |
⊢ if ( 𝑥 = 𝑦 , 0 , 1 ) ∈ ℝ |
| 5 |
4
|
rgen2w |
⊢ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 if ( 𝑥 = 𝑦 , 0 , 1 ) ∈ ℝ |
| 6 |
1
|
fmpo |
⊢ ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 if ( 𝑥 = 𝑦 , 0 , 1 ) ∈ ℝ ↔ 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ ) |
| 7 |
5 6
|
mpbi |
⊢ 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ |
| 8 |
|
equequ1 |
⊢ ( 𝑥 = 𝑤 → ( 𝑥 = 𝑦 ↔ 𝑤 = 𝑦 ) ) |
| 9 |
8
|
ifbid |
⊢ ( 𝑥 = 𝑤 → if ( 𝑥 = 𝑦 , 0 , 1 ) = if ( 𝑤 = 𝑦 , 0 , 1 ) ) |
| 10 |
|
equequ2 |
⊢ ( 𝑦 = 𝑣 → ( 𝑤 = 𝑦 ↔ 𝑤 = 𝑣 ) ) |
| 11 |
10
|
ifbid |
⊢ ( 𝑦 = 𝑣 → if ( 𝑤 = 𝑦 , 0 , 1 ) = if ( 𝑤 = 𝑣 , 0 , 1 ) ) |
| 12 |
|
0nn0 |
⊢ 0 ∈ ℕ0 |
| 13 |
|
1nn0 |
⊢ 1 ∈ ℕ0 |
| 14 |
12 13
|
ifcli |
⊢ if ( 𝑤 = 𝑣 , 0 , 1 ) ∈ ℕ0 |
| 15 |
14
|
elexi |
⊢ if ( 𝑤 = 𝑣 , 0 , 1 ) ∈ V |
| 16 |
9 11 1 15
|
ovmpo |
⊢ ( ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ( 𝑤 𝐷 𝑣 ) = if ( 𝑤 = 𝑣 , 0 , 1 ) ) |
| 17 |
16
|
eqeq1d |
⊢ ( ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ( ( 𝑤 𝐷 𝑣 ) = 0 ↔ if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ) ) |
| 18 |
|
iffalse |
⊢ ( ¬ 𝑤 = 𝑣 → if ( 𝑤 = 𝑣 , 0 , 1 ) = 1 ) |
| 19 |
|
ax-1ne0 |
⊢ 1 ≠ 0 |
| 20 |
19
|
a1i |
⊢ ( ¬ 𝑤 = 𝑣 → 1 ≠ 0 ) |
| 21 |
18 20
|
eqnetrd |
⊢ ( ¬ 𝑤 = 𝑣 → if ( 𝑤 = 𝑣 , 0 , 1 ) ≠ 0 ) |
| 22 |
21
|
neneqd |
⊢ ( ¬ 𝑤 = 𝑣 → ¬ if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ) |
| 23 |
22
|
con4i |
⊢ ( if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 → 𝑤 = 𝑣 ) |
| 24 |
|
iftrue |
⊢ ( 𝑤 = 𝑣 → if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ) |
| 25 |
23 24
|
impbii |
⊢ ( if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ↔ 𝑤 = 𝑣 ) |
| 26 |
17 25
|
bitrdi |
⊢ ( ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ( ( 𝑤 𝐷 𝑣 ) = 0 ↔ 𝑤 = 𝑣 ) ) |
| 27 |
12 13
|
ifcli |
⊢ if ( 𝑢 = 𝑤 , 0 , 1 ) ∈ ℕ0 |
| 28 |
12 13
|
ifcli |
⊢ if ( 𝑢 = 𝑣 , 0 , 1 ) ∈ ℕ0 |
| 29 |
27 28
|
nn0addcli |
⊢ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ0 |
| 30 |
|
elnn0 |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ0 ↔ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ ∨ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 ) ) |
| 31 |
29 30
|
mpbi |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ ∨ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 ) |
| 32 |
|
breq1 |
⊢ ( 0 = if ( 𝑤 = 𝑣 , 0 , 1 ) → ( 0 ≤ 1 ↔ if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ 1 ) ) |
| 33 |
|
breq1 |
⊢ ( 1 = if ( 𝑤 = 𝑣 , 0 , 1 ) → ( 1 ≤ 1 ↔ if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ 1 ) ) |
| 34 |
|
0le1 |
⊢ 0 ≤ 1 |
| 35 |
3
|
leidi |
⊢ 1 ≤ 1 |
| 36 |
32 33 34 35
|
keephyp |
⊢ if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ 1 |
| 37 |
|
nnge1 |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ → 1 ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 38 |
14
|
nn0rei |
⊢ if ( 𝑤 = 𝑣 , 0 , 1 ) ∈ ℝ |
| 39 |
29
|
nn0rei |
⊢ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℝ |
| 40 |
38 3 39
|
letri |
⊢ ( ( if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ 1 ∧ 1 ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 41 |
36 37 40
|
sylancr |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 42 |
27
|
nn0ge0i |
⊢ 0 ≤ if ( 𝑢 = 𝑤 , 0 , 1 ) |
| 43 |
28
|
nn0ge0i |
⊢ 0 ≤ if ( 𝑢 = 𝑣 , 0 , 1 ) |
| 44 |
27
|
nn0rei |
⊢ if ( 𝑢 = 𝑤 , 0 , 1 ) ∈ ℝ |
| 45 |
28
|
nn0rei |
⊢ if ( 𝑢 = 𝑣 , 0 , 1 ) ∈ ℝ |
| 46 |
44 45
|
add20i |
⊢ ( ( 0 ≤ if ( 𝑢 = 𝑤 , 0 , 1 ) ∧ 0 ≤ if ( 𝑢 = 𝑣 , 0 , 1 ) ) → ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 ↔ ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ∧ if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ) ) ) |
| 47 |
42 43 46
|
mp2an |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 ↔ ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ∧ if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ) ) |
| 48 |
|
equequ2 |
⊢ ( 𝑣 = 𝑤 → ( 𝑢 = 𝑣 ↔ 𝑢 = 𝑤 ) ) |
| 49 |
48
|
ifbid |
⊢ ( 𝑣 = 𝑤 → if ( 𝑢 = 𝑣 , 0 , 1 ) = if ( 𝑢 = 𝑤 , 0 , 1 ) ) |
| 50 |
49
|
eqeq1d |
⊢ ( 𝑣 = 𝑤 → ( if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ↔ if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ) ) |
| 51 |
50 48
|
bibi12d |
⊢ ( 𝑣 = 𝑤 → ( ( if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ↔ 𝑢 = 𝑣 ) ↔ ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ↔ 𝑢 = 𝑤 ) ) ) |
| 52 |
|
equequ1 |
⊢ ( 𝑤 = 𝑢 → ( 𝑤 = 𝑣 ↔ 𝑢 = 𝑣 ) ) |
| 53 |
52
|
ifbid |
⊢ ( 𝑤 = 𝑢 → if ( 𝑤 = 𝑣 , 0 , 1 ) = if ( 𝑢 = 𝑣 , 0 , 1 ) ) |
| 54 |
53
|
eqeq1d |
⊢ ( 𝑤 = 𝑢 → ( if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ↔ if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ) ) |
| 55 |
54 52
|
bibi12d |
⊢ ( 𝑤 = 𝑢 → ( ( if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ↔ 𝑤 = 𝑣 ) ↔ ( if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ↔ 𝑢 = 𝑣 ) ) ) |
| 56 |
55 25
|
chvarvv |
⊢ ( if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ↔ 𝑢 = 𝑣 ) |
| 57 |
51 56
|
chvarvv |
⊢ ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ↔ 𝑢 = 𝑤 ) |
| 58 |
|
eqtr2 |
⊢ ( ( 𝑢 = 𝑤 ∧ 𝑢 = 𝑣 ) → 𝑤 = 𝑣 ) |
| 59 |
57 56 58
|
syl2anb |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ∧ if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ) → 𝑤 = 𝑣 ) |
| 60 |
59
|
iftrued |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ∧ if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ) → if ( 𝑤 = 𝑣 , 0 , 1 ) = 0 ) |
| 61 |
2
|
leidi |
⊢ 0 ≤ 0 |
| 62 |
60 61
|
eqbrtrdi |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) = 0 ∧ if ( 𝑢 = 𝑣 , 0 , 1 ) = 0 ) → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ 0 ) |
| 63 |
47 62
|
sylbi |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ 0 ) |
| 64 |
|
id |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 → ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 ) |
| 65 |
63 64
|
breqtrrd |
⊢ ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 66 |
41 65
|
jaoi |
⊢ ( ( ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ∈ ℕ ∨ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) = 0 ) → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 67 |
31 66
|
mp1i |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) ) → if ( 𝑤 = 𝑣 , 0 , 1 ) ≤ ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 68 |
16
|
adantl |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) ) → ( 𝑤 𝐷 𝑣 ) = if ( 𝑤 = 𝑣 , 0 , 1 ) ) |
| 69 |
|
eqeq12 |
⊢ ( ( 𝑥 = 𝑢 ∧ 𝑦 = 𝑤 ) → ( 𝑥 = 𝑦 ↔ 𝑢 = 𝑤 ) ) |
| 70 |
69
|
ifbid |
⊢ ( ( 𝑥 = 𝑢 ∧ 𝑦 = 𝑤 ) → if ( 𝑥 = 𝑦 , 0 , 1 ) = if ( 𝑢 = 𝑤 , 0 , 1 ) ) |
| 71 |
27
|
elexi |
⊢ if ( 𝑢 = 𝑤 , 0 , 1 ) ∈ V |
| 72 |
70 1 71
|
ovmpoa |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ 𝑤 ∈ 𝑋 ) → ( 𝑢 𝐷 𝑤 ) = if ( 𝑢 = 𝑤 , 0 , 1 ) ) |
| 73 |
72
|
adantrr |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) ) → ( 𝑢 𝐷 𝑤 ) = if ( 𝑢 = 𝑤 , 0 , 1 ) ) |
| 74 |
|
eqeq12 |
⊢ ( ( 𝑥 = 𝑢 ∧ 𝑦 = 𝑣 ) → ( 𝑥 = 𝑦 ↔ 𝑢 = 𝑣 ) ) |
| 75 |
74
|
ifbid |
⊢ ( ( 𝑥 = 𝑢 ∧ 𝑦 = 𝑣 ) → if ( 𝑥 = 𝑦 , 0 , 1 ) = if ( 𝑢 = 𝑣 , 0 , 1 ) ) |
| 76 |
28
|
elexi |
⊢ if ( 𝑢 = 𝑣 , 0 , 1 ) ∈ V |
| 77 |
75 1 76
|
ovmpoa |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ( 𝑢 𝐷 𝑣 ) = if ( 𝑢 = 𝑣 , 0 , 1 ) ) |
| 78 |
77
|
adantrl |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) ) → ( 𝑢 𝐷 𝑣 ) = if ( 𝑢 = 𝑣 , 0 , 1 ) ) |
| 79 |
73 78
|
oveq12d |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) ) → ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) = ( if ( 𝑢 = 𝑤 , 0 , 1 ) + if ( 𝑢 = 𝑣 , 0 , 1 ) ) ) |
| 80 |
67 68 79
|
3brtr4d |
⊢ ( ( 𝑢 ∈ 𝑋 ∧ ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) ) → ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) |
| 81 |
80
|
expcom |
⊢ ( ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ( 𝑢 ∈ 𝑋 → ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) ) |
| 82 |
81
|
ralrimiv |
⊢ ( ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ∀ 𝑢 ∈ 𝑋 ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) |
| 83 |
26 82
|
jca |
⊢ ( ( 𝑤 ∈ 𝑋 ∧ 𝑣 ∈ 𝑋 ) → ( ( ( 𝑤 𝐷 𝑣 ) = 0 ↔ 𝑤 = 𝑣 ) ∧ ∀ 𝑢 ∈ 𝑋 ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) ) |
| 84 |
83
|
rgen2 |
⊢ ∀ 𝑤 ∈ 𝑋 ∀ 𝑣 ∈ 𝑋 ( ( ( 𝑤 𝐷 𝑣 ) = 0 ↔ 𝑤 = 𝑣 ) ∧ ∀ 𝑢 ∈ 𝑋 ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) |
| 85 |
7 84
|
pm3.2i |
⊢ ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ ∧ ∀ 𝑤 ∈ 𝑋 ∀ 𝑣 ∈ 𝑋 ( ( ( 𝑤 𝐷 𝑣 ) = 0 ↔ 𝑤 = 𝑣 ) ∧ ∀ 𝑢 ∈ 𝑋 ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) ) |
| 86 |
|
ismet |
⊢ ( 𝑋 ∈ 𝑉 → ( 𝐷 ∈ ( Met ‘ 𝑋 ) ↔ ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ ∧ ∀ 𝑤 ∈ 𝑋 ∀ 𝑣 ∈ 𝑋 ( ( ( 𝑤 𝐷 𝑣 ) = 0 ↔ 𝑤 = 𝑣 ) ∧ ∀ 𝑢 ∈ 𝑋 ( 𝑤 𝐷 𝑣 ) ≤ ( ( 𝑢 𝐷 𝑤 ) + ( 𝑢 𝐷 𝑣 ) ) ) ) ) ) |
| 87 |
85 86
|
mpbiri |
⊢ ( 𝑋 ∈ 𝑉 → 𝐷 ∈ ( Met ‘ 𝑋 ) ) |