Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit cde1bd8

Browse files
committed
Merge branch 'master' of https://github.com/leanprover/mathlib
2 parents dff0ffd + 7c72de2 commit cde1bd8

File tree

3 files changed

+266
-125
lines changed

3 files changed

+266
-125
lines changed

topology/continuity.lean

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ compact_of_finite_subcover $ assume c hco hcs,
8585
have hdo : ∀t∈c, is_open (preimage f t), from assume t' ht, hf _ $ hco _ ht,
8686
have hds : s ⊆ ⋃i∈c, preimage f i,
8787
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
8989
⟨d', hcd', hfd', by simp [subset_def] at hd'; simp [image_subset_iff_subset_preimage]; assumption⟩
9090

9191
end
@@ -340,7 +340,7 @@ lemma continuous_prod_mk {f : γ → α} {g : γ → β}
340340
(hf : continuous f) (hg : continuous g) : continuous (λx, prod.mk (f x) (g x)) :=
341341
continuous_sup_rng (continuous_induced_rng hf) (continuous_induced_rng hg)
342342

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) :
344344
is_open (set.prod s t) :=
345345
is_open_inter (continuous_fst s hs) (continuous_snd t ht)
346346

@@ -355,7 +355,7 @@ le_antisymm
355355
(assume s ⟨t, ht, s_eq⟩,
356356
have set.prod univ t = s, by simp [s_eq, preimage, set.prod],
357357
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)
359359

360360
lemma nhds_prod_eq {a : α} {b : β} : nhds (a, b) = filter.prod (nhds a) (nhds b) :=
361361
by rw [prod_eq_generate_from, nhds_generate_from];
@@ -378,6 +378,19 @@ by rw [prod_eq_generate_from, nhds_generate_from];
378378
(mem_nhds_sets_iff.mpr ⟨t', subset.refl t', ht', hb⟩)
379379
end)
380380

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+
381394
lemma closure_prod_eq {s : set α} {t : set β} :
382395
closure (set.prod s t) = set.prod (closure s) (closure t) :=
383396
set.ext $ assume ⟨a, b⟩,

0 commit comments

Comments
 (0)