@@ -78,8 +78,10 @@ def uniform_space.core.mk' {α : Type u} (U : filter (α × α))
78
78
(symm : ∀ r ∈ U.sets, {p | prod.swap p ∈ r} ∈ U.sets)
79
79
(comp : ∀ r ∈ U.sets, ∃ t ∈ U.sets, comp_rel t t ⊆ r) : uniform_space.core α :=
80
80
⟨U, λ r ru, id_rel_subset.2 (refl _ ru), symm,
81
- λ r ru, begin
82
- rw [mem_lift'_sets], exact comp _ ru,
81
+ begin
82
+ intros r ru,
83
+ rw [mem_lift'_sets],
84
+ exact comp _ ru,
83
85
apply monotone_comp_rel; exact monotone_id,
84
86
end ⟩
85
87
@@ -88,10 +90,10 @@ def uniform_space.core.to_topological_space {α : Type u} (u : uniform_space.cor
88
90
topological_space α :=
89
91
{ is_open := λs, ∀x∈s, { p : α × α | p.1 = x → p.2 ∈ s } ∈ u.uniformity.sets,
90
92
is_open_univ := by simp; intro; exact univ_mem_sets,
91
- is_open_inter := assume s t hs ht x ⟨xs, xt⟩,
92
- u.uniformity.upwards_sets (inter_mem_sets ( hs x xs) ( ht x xt)) $ assume p ⟨ps, pt⟩ h, ⟨ps h, pt h⟩ ,
93
- is_open_sUnion := assume s hs x ⟨t, ts, xt⟩,
94
- u.uniformity.upwards_sets ( hs t ts x xt) $ assume p ph h, ⟨t, ts, ph h⟩ }
93
+ is_open_inter :=
94
+ assume s t hs ht x ⟨xs, xt⟩, by filter_upwards [hs x xs, ht x xt]; simp {contextual := tt} ,
95
+ is_open_sUnion :=
96
+ assume s hs x ⟨t, ts, xt⟩, by filter_upwards [hs t ts x xt] assume p ph h, ⟨t, ts, ph h⟩ }
95
97
96
98
lemma uniform_space.core_eq : ∀{u₁ u₂ : uniform_space.core α}, u₁.uniformity = u₂.uniformity → u₁ = u₂
97
99
| ⟨u₁, _, _, _⟩ ⟨u₂, _, _, _⟩ h := have u₁ = u₂, from h, by simp [*]
@@ -188,22 +190,19 @@ let ⟨t, ht₁, ht₂⟩ := comp_mem_uniformity_sets hs in
188
190
let ⟨t', ht', ht'₁, ht'₂⟩ := symm_of_uniformity ht₁ in
189
191
⟨t', ht', ht'₁, subset.trans (monotone_comp_rel monotone_id monotone_id ht'₂) ht₂⟩
190
192
191
- lemma uniformity_le_symm : uniformity ≤ map (@prod.swap α α) uniformity :=
192
- calc uniformity = id <$> uniformity : (functor.id_map _).symm
193
- ... = (@prod.swap α α ∘ prod.swap) <$> uniformity :
194
- congr_arg (λf : (α×α)→(α×α), f <$> uniformity) (by funext x; cases x; refl)
195
- ... = (map prod.swap ∘ map prod.swap) uniformity :
196
- congr map_compose rfl
197
- ... ≤ (@prod.swap α α) <$> uniformity : map_mono symm_le_uniformity
193
+ lemma uniformity_le_symm : uniformity ≤ (@prod.swap α α) <$> uniformity :=
194
+ by rw [map_swap_eq_vmap_swap];
195
+ from map_le_iff_le_vmap.1 tendsto_swap_uniformity
198
196
199
197
lemma uniformity_eq_symm : uniformity = (@prod.swap α α) <$> uniformity :=
200
198
le_antisymm uniformity_le_symm symm_le_uniformity
201
199
202
200
theorem uniformity_lift_le_swap {g : set (α×α) → filter β} {f : filter β} (hg : monotone g)
203
201
(h : uniformity.lift (λs, g (preimage prod.swap s)) ≤ f) : uniformity.lift g ≤ f :=
204
- le_trans
205
- (lift_mono uniformity_le_symm (le_refl _))
206
- (by rw [map_lift_eq2 hg, image_swap_eq_preimage_swap]; exact h)
202
+ calc uniformity.lift g ≤ (filter.map prod.swap (@uniformity α _)).lift g :
203
+ lift_mono uniformity_le_symm (le_refl _)
204
+ ... ≤ _ :
205
+ by rw [map_lift_eq2 hg, image_swap_eq_preimage_swap]; exact h
207
206
208
207
lemma uniformity_lift_le_comp {f : set (α×α) → filter β} (h : monotone f):
209
208
uniformity.lift (λs, f (comp_rel s s)) ≤ uniformity.lift f :=
@@ -238,25 +237,21 @@ lemma mem_nhds_uniformity_iff {x : α} {s : set α} :
238
237
(s ∈ (nhds x).sets) ↔ ({p : α × α | p.1 = x → p.2 ∈ s} ∈ (@uniformity α _).sets) :=
239
238
⟨ begin
240
239
simp [mem_nhds_sets_iff, is_open_uniformity],
241
- exact assume t ts ht xt, uniformity.upwards_sets ( ht x xt) $ assume ⟨x', y⟩ h eq, ts $ h eq
240
+ exact assume t ts ht xt, by filter_upwards [ ht x xt] assume ⟨x', y⟩ h eq, ts $ h eq
242
241
end ,
243
242
244
243
assume hs,
245
244
mem_nhds_sets_iff.mpr ⟨{x | {p : α × α | p.1 = x → p.2 ∈ s} ∈ (@uniformity α _).sets},
246
- assume x', assume hx' : {p : α × α | p.fst = x' → p.snd ∈ s} ∈ (@uniformity α _).sets,
247
- refl_mem_uniformity hx' rfl,
245
+ assume x' hx', refl_mem_uniformity hx' rfl,
248
246
is_open_uniformity.mpr $ assume x' hx',
249
247
let ⟨t, ht, tr⟩ := comp_mem_uniformity_sets hx' in
250
- uniformity.upwards_sets ht $
251
- assume ⟨a, b⟩ hp' (eq : a = x'),
252
- have hp : (x', b) ∈ t, from eq ▸ hp',
253
- show {p : α × α | p.fst = b → p.snd ∈ s} ∈ (@uniformity α _).sets,
254
- from uniformity.upwards_sets ht $
255
- assume ⟨a, b'⟩ hp' (heq : a = b),
256
- have (b, b') ∈ t, from heq ▸ hp',
257
- have (x', b') ∈ comp_rel t t, from ⟨b, hp, this ⟩,
258
- show b' ∈ s,
259
- from tr this rfl,
248
+ by filter_upwards [ht] assume ⟨a, b⟩ hp' (hax' : a = x'),
249
+ by filter_upwards [ht] assume ⟨a, b'⟩ hp'' (hab : a = b),
250
+ have hp : (x', b) ∈ t, from hax' ▸ hp',
251
+ have (b, b') ∈ t, from hab ▸ hp'',
252
+ have (x', b') ∈ comp_rel t t, from ⟨b, hp, this ⟩,
253
+ show b' ∈ s,
254
+ from tr this rfl,
260
255
hs⟩⟩
261
256
262
257
lemma nhds_eq_vmap_uniformity {x : α} : nhds x = uniformity.vmap (prod.mk x) :=
@@ -314,8 +309,9 @@ lemma nhds_nhds_eq_uniformity_uniformity_prod {a b : α} :
314
309
filter.prod (nhds a) (nhds b) =
315
310
uniformity.lift (λs:set (α×α), uniformity.lift' (λt:set (α×α),
316
311
set.prod {y : α | (y, a) ∈ s} {y : α | (b, y) ∈ t})) :=
317
- show (nhds a).lift (λs:set α, (nhds b).lift (λt:set α, principal (set.prod s t))) = _,
318
312
begin
313
+ rw [prod_def],
314
+ show (nhds a).lift (λs:set α, (nhds b).lift (λt:set α, principal (set.prod s t))) = _,
319
315
rw [lift_nhds_right],
320
316
apply congr_arg, funext s,
321
317
rw [lift_nhds_left],
@@ -387,7 +383,7 @@ calc (a, b) ∈ closure t ↔ (nhds (a, b) ⊓ principal t ≠ ⊥) : by simp [c
387
383
388
384
lemma uniformity_eq_uniformity_closure : (@uniformity α _) = uniformity.lift' closure :=
389
385
le_antisymm
390
- (le_infi $ assume s, le_infi $ assume hs, by simp; exact uniformity.upwards_sets hs subset_closure)
386
+ (le_infi $ assume s, le_infi $ assume hs, by simp; filter_upwards [hs] subset_closure)
391
387
(calc uniformity.lift' closure ≤ uniformity.lift' (λd, comp_rel d (comp_rel d d)) :
392
388
lift'_mono' (by intros s hs; rw [closure_eq_inter_uniformity]; exact bInter_subset_of_mem hs)
393
389
... ≤ uniformity : comp_le_uniformity3)
@@ -402,8 +398,7 @@ le_antisymm
402
398
calc s ⊆ t : hst
403
399
... ⊆ interior d : (subset_interior_iff_subset_of_open ht).mpr $
404
400
assume x, assume : x ∈ t, let ⟨x, y, h₁, h₂, h₃⟩ := ht_comp this in hs_comp ⟨x, h₁, y, h₂, h₃⟩,
405
- have interior d ∈ (@uniformity α _).sets,
406
- from (@uniformity α _).upwards_sets hs $ this ,
401
+ have interior d ∈ (@uniformity α _).sets, by filter_upwards [hs] this ,
407
402
by simp [this ])
408
403
(assume s hs, (uniformity.lift' interior).upwards_sets (mem_lift' hs) interior_subset)
409
404
@@ -1084,7 +1079,7 @@ show preimage (λp:(α×α), (ψ p.1, ψ p.2)) d ∈ uniformity.sets,
1084
1079
from is_open_iff_nhds.mp is_open_interior (x₁, x₂) hx_t,
1085
1080
have interior t ∈ (filter.prod (nhds x₁) (nhds x₂)).sets,
1086
1081
by rwa [nhds_prod_eq, le_principal_iff] at this ,
1087
- let ⟨m₁, hm₁, m₂, hm₂, (hm : set.prod m₁ m₂ ⊆ interior t)⟩ := mem_prod_sets .mp this in
1082
+ let ⟨m₁, hm₁, m₂, hm₂, (hm : set.prod m₁ m₂ ⊆ interior t)⟩ := mem_prod_iff .mp this in
1088
1083
let ⟨a, ha₁, _, ha₂⟩ := h_pnt hm₁ in
1089
1084
let ⟨b, hb₁, hb₂, _⟩ := h_pnt hm₂ in
1090
1085
have set.prod (preimage e m₁) (preimage e m₂) ⊆ preimage (λp:(β×β), (f p.1 , f p.2 )) s,
@@ -1145,9 +1140,9 @@ private lemma comp_rel_gen_gen_subset_gen_comp_rel {s t : set (α×α)} : comp_r
1145
1140
(gen (comp_rel s t) : set (Cauchy α × Cauchy α)) :=
1146
1141
assume ⟨f, g⟩ ⟨h, h₁, h₂⟩,
1147
1142
let ⟨t₁, (ht₁ : t₁ ∈ f.val.sets), t₂, (ht₂ : t₂ ∈ h.val.sets), (h₁ : set.prod t₁ t₂ ⊆ s)⟩ :=
1148
- mem_prod_sets .mp h₁ in
1143
+ mem_prod_iff .mp h₁ in
1149
1144
let ⟨t₃, (ht₃ : t₃ ∈ h.val.sets), t₄, (ht₄ : t₄ ∈ g.val.sets), (h₂ : set.prod t₃ t₄ ⊆ t)⟩ :=
1150
- mem_prod_sets .mp h₂ in
1145
+ mem_prod_iff .mp h₂ in
1151
1146
have t₂ ∩ t₃ ∈ h.val.sets,
1152
1147
from inter_mem_sets ht₂ ht₃,
1153
1148
let ⟨x, xt₂, xt₃⟩ :=
@@ -1225,7 +1220,7 @@ have h_ex : ∀s∈(@uniformity (Cauchy α) _).sets, ∃y:α, (f, pure_cauchy y)
1225
1220
let ⟨t, ht, (h : set.prod t t ⊆ t')⟩ := mem_prod_same_iff.mp this in
1226
1221
let ⟨x, (hx : x ∈ t)⟩ := inhabited_of_mem_sets f.property.left ht in
1227
1222
have t'' ∈ (filter.prod f.val (pure x)).sets,
1228
- from mem_prod_sets .mpr ⟨t, ht, {y:α | (x, y) ∈ t'},
1223
+ from mem_prod_iff .mpr ⟨t, ht, {y:α | (x, y) ∈ t'},
1229
1224
assume y, begin simp, intro h, simp [h], exact refl_mem_uniformity ht'₁ end ,
1230
1225
assume ⟨a, b⟩ ⟨(h₁ : a ∈ t), (h₂ : (x, b) ∈ t')⟩,
1231
1226
ht'₂ $ prod_mk_mem_comp_rel (@h (a, x) ⟨h₁, hx⟩) h₂⟩,
@@ -1551,7 +1546,7 @@ have map (λp:(α×α)×(β×β), ((p.1.1, p.2.1), (p.1.2, p.2.2))) =
1551
1546
vmap (λp:(α×β)×(α×β), ((p.1 .1 , p.2 .1 ), (p.1 .2 , p.2 .2 ))),
1552
1547
from funext $ assume f, map_eq_vmap_of_inverse
1553
1548
(funext $ assume ⟨⟨_, _⟩, ⟨_, _⟩⟩, rfl) (funext $ assume ⟨⟨_, _⟩, ⟨_, _⟩⟩, rfl),
1554
- by rw [this , uniformity_prod, prod_def , vmap_inf, vmap_vmap_comp, vmap_vmap_comp]
1549
+ by rw [this , uniformity_prod, filter.prod , vmap_inf, vmap_vmap_comp, vmap_vmap_comp]
1555
1550
1556
1551
lemma mem_uniform_prod [t₁ : uniform_space α] [t₂ : uniform_space β] {a : set (α × α)} {b : set (β × β)}
1557
1552
(ha : a ∈ (@uniformity α _).sets) (hb : b ∈ (@uniformity β _).sets) :
0 commit comments