diff --git a/src/order/upper_lower.lean b/src/order/upper_lower.lean index 0ceca9db42920..f8128d480dcfe 100644 --- a/src/order/upper_lower.lean +++ b/src/order/upper_lower.lean @@ -136,7 +136,7 @@ alias is_upper_set_preimage_to_dual_iff ↔ _ is_lower_set.to_dual end has_le section preorder -variables [preorder α] [preorder β] {s : set α} (a : α) +variables [preorder α] [preorder β] {s : set α} {p : α → Prop} (a : α) lemma is_upper_set_Ici : is_upper_set (Ici a) := λ _ _, ge_trans lemma is_lower_set_Iic : is_lower_set (Iic a) := λ _ _, le_trans @@ -174,6 +174,12 @@ lemma is_lower_set.image (hs : is_lower_set s) (f : α ≃o β) : is_lower_set ( by { change is_lower_set ((f : α ≃ β) '' s), rw set.image_equiv_eq_preimage_symm, exact hs.preimage f.symm.monotone } +@[simp] lemma set.monotone_mem : monotone (∈ s) ↔ is_upper_set s := iff.rfl +@[simp] lemma set.antitone_mem : antitone (∈ s) ↔ is_lower_set s := forall_swap + +@[simp] lemma is_upper_set_set_of : is_upper_set {a | p a} ↔ monotone p := iff.rfl +@[simp] lemma is_lower_set_set_of : is_lower_set {a | p a} ↔ antitone p := forall_swap + section order_top variables [order_top α] diff --git a/src/topology/uniform_space/completion.lean b/src/topology/uniform_space/completion.lean index fdc70b7d2714b..ae7133be2cc56 100644 --- a/src/topology/uniform_space/completion.lean +++ b/src/topology/uniform_space/completion.lean @@ -66,20 +66,20 @@ def gen (s : set (α × α)) : set (Cauchy α × Cauchy α) := {p | s ∈ p.1.val ×ᶠ p.2.val } lemma monotone_gen : monotone gen := -monotone_set_of $ assume p, @monotone_mem (α×α) (p.1.val ×ᶠ p.2.val) +monotone_set_of $ assume p, @filter.monotone_mem _ (p.1.val ×ᶠ p.2.val) private lemma symm_gen : map prod.swap ((𝓤 α).lift' gen) ≤ (𝓤 α).lift' gen := calc map prod.swap ((𝓤 α).lift' gen) = (𝓤 α).lift' (λs:set (α×α), {p | s ∈ p.2.val ×ᶠ p.1.val }) : begin delta gen, - simp [map_lift'_eq, monotone_set_of, monotone_mem, + simp [map_lift'_eq, monotone_set_of, filter.monotone_mem, function.comp, image_swap_eq_preimage_swap, -subtype.val_eq_coe] end ... ≤ (𝓤 α).lift' gen : uniformity_lift_le_swap (monotone_principal.comp (monotone_set_of $ assume p, - @monotone_mem (α×α) (p.2.val ×ᶠ p.1.val))) + @filter.monotone_mem _ (p.2.val ×ᶠ p.1.val))) begin have h := λ(p:Cauchy α×Cauchy α), @filter.prod_comm _ _ (p.2.val) (p.1.val), simp [function.comp, h, -subtype.val_eq_coe, mem_map'],