@@ -85,7 +85,7 @@ compact_of_finite_subcover $ assume c hco hcs,
85
85
have hdo : ∀t∈c, is_open (preimage f t), from assume t' ht, hf _ $ hco _ ht,
86
86
have hds : s ⊆ ⋃i∈c, preimage f i,
87
87
by simp [subset_def]; simp [subset_def] at hcs; exact assume x hx, hcs _ (mem_image_of_mem f hx),
88
- let ⟨d', hcd', hfd', hd'⟩ := compact_elim_finite_subcover_image hs hdo hds in
88
+ let ⟨d', hcd', hfd', hd'⟩ := compact_elim_finite_subcover_image hs hdo hds in
89
89
⟨d', hcd', hfd', by simp [subset_def] at hd'; simp [image_subset_iff_subset_preimage]; assumption⟩
90
90
91
91
end
@@ -340,7 +340,7 @@ lemma continuous_prod_mk {f : γ → α} {g : γ → β}
340
340
(hf : continuous f) (hg : continuous g) : continuous (λx, prod.mk (f x) (g x)) :=
341
341
continuous_sup_rng (continuous_induced_rng hf) (continuous_induced_rng hg)
342
342
343
- lemma is_open_set_prod {s : set α} {t : set β} (hs : is_open s) (ht: is_open t) :
343
+ lemma is_open_prod {s : set α} {t : set β} (hs : is_open s) (ht: is_open t) :
344
344
is_open (set.prod s t) :=
345
345
is_open_inter (continuous_fst s hs) (continuous_snd t ht)
346
346
@@ -355,7 +355,7 @@ le_antisymm
355
355
(assume s ⟨t, ht, s_eq⟩,
356
356
have set.prod univ t = s, by simp [s_eq, preimage, set.prod],
357
357
this ▸ (generate_open.basic _ ⟨univ, t, is_open_univ, ht, rfl⟩)))
358
- (generate_from_le $ assume g ⟨s, t, hs, ht, g_eq⟩, g_eq.symm ▸ is_open_set_prod hs ht)
358
+ (generate_from_le $ assume g ⟨s, t, hs, ht, g_eq⟩, g_eq.symm ▸ is_open_prod hs ht)
359
359
360
360
lemma nhds_prod_eq {a : α} {b : β} : nhds (a, b) = filter.prod (nhds a) (nhds b) :=
361
361
by rw [prod_eq_generate_from, nhds_generate_from];
@@ -378,6 +378,19 @@ by rw [prod_eq_generate_from, nhds_generate_from];
378
378
(mem_nhds_sets_iff.mpr ⟨t', subset.refl t', ht', hb⟩)
379
379
end )
380
380
381
+ lemma is_open_prod_iff {s : set (α×β)} : is_open s ↔
382
+ (∀a b, (a, b) ∈ s → ∃u v, is_open u ∧ is_open v ∧ a ∈ u ∧ b ∈ v ∧ set.prod u v ⊆ s) :=
383
+ begin
384
+ rw [is_open_iff_nhds],
385
+ simp [nhds_prod_eq, mem_prod_iff],
386
+ simp [mem_nhds_sets_iff],
387
+ exact (forall_congr $ assume a, forall_congr $ assume b, forall_congr $ assume h,
388
+ ⟨assume ⟨u', ⟨u, hu₁, hu₂, hu₃⟩, v', h, ⟨v, hv₁, hv₂, hv₃⟩⟩,
389
+ ⟨u, hu₁, v, hv₁, hu₃, hv₃, subset.trans (set.prod_mono hu₂ hv₂) h⟩,
390
+ assume ⟨u, hu₁, v, hv₁, hu₃, hv₃, h⟩,
391
+ ⟨u, ⟨u, hu₁, subset.refl u, hu₃⟩, v, h, ⟨v, hv₁, subset.refl v, hv₃⟩⟩⟩)
392
+ end
393
+
381
394
lemma closure_prod_eq {s : set α} {t : set β} :
382
395
closure (set.prod s t) = set.prod (closure s) (closure t) :=
383
396
set.ext $ assume ⟨a, b⟩,
0 commit comments