topology.omega_complete_partial_order
⟷
Mathlib.Topology.OmegaCompletePartialOrder
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2020 Simon Hudon. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Simon Hudon
-/
-import Topology.Basic
+import Topology.Defs.Basic
import Order.OmegaCompletePartialOrder
#align_import topology.omega_complete_partial_order from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -150,18 +150,18 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
OmegaCompletePartialOrder.Continuous' f :=
by
- simp only [continuous_def, (· ⁻¹' ·)] at hf
+ simp only [continuous_def, (· ⁻¹' ·)] at hf
have h : Monotone f := by
intro x y h
cases' hf {x | ¬x ≤ f y} (notBelow_isOpen _) with hf hf'; clear hf'
- specialize hf h; simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
+ specialize hf h; simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
by_contra H; apply hf H le_rfl
exists h; intro c
apply eq_of_forall_ge_iff; intro z
specialize
«./././Mathport/Syntax/Translate/Tactic/Lean3.lean:571:11: unsupported: specialize non-hyp»
cases hf; specialize hf_h c
- simp only [notBelow, OrderHom.coe_mk, eq_iff_iff, mem_set_of_eq] at hf_h
+ simp only [notBelow, OrderHom.coe_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
simp only [ωSup_le_iff, hf_h, ωSup, iSup, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
exists_prop, mem_range, OrderHom.coe_mk, chain.map_coe, Function.comp_apply, eq_iff_iff,
mathlib commit https://github.com/leanprover-community/mathlib/commit/b1abe23ae96fef89ad30d9f4362c307f72a55010
@@ -125,7 +125,7 @@ theorem notBelow_isOpen : IsOpen (notBelow y) :=
apply eq_of_forall_ge_iff; intro z
rw [ωSup_le_iff]
simp only [ωSup_le_iff, notBelow, mem_set_of_eq, le_Prop_eq, OrderHom.coe_mk, chain.map_coe,
- Function.comp_apply, exists_imp, not_forall]
+ Function.comp_apply, exists_imp, Classical.not_forall]
#align not_below_is_open notBelow_isOpen
-/
@@ -165,7 +165,7 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
rw [← not_iff_not]
simp only [ωSup_le_iff, hf_h, ωSup, iSup, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
exists_prop, mem_range, OrderHom.coe_mk, chain.map_coe, Function.comp_apply, eq_iff_iff,
- not_forall]
+ Classical.not_forall]
tauto
#align Scott_continuous_of_continuous scottContinuous_of_continuous
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2020 Simon Hudon. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Simon Hudon
-/
-import Mathbin.Topology.Basic
-import Mathbin.Order.OmegaCompletePartialOrder
+import Topology.Basic
+import Order.OmegaCompletePartialOrder
#align_import topology.omega_complete_partial_order from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
@@ -144,7 +144,7 @@ theorem isωSup_ωSup {α} [OmegaCompletePartialOrder α] (c : Chain α) : IsωS
#align is_ωSup_ωSup isωSup_ωSup
-/
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:568:11: unsupported: specialize non-hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:571:11: unsupported: specialize non-hyp -/
#print scottContinuous_of_continuous /-
theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
@@ -159,7 +159,7 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
exists h; intro c
apply eq_of_forall_ge_iff; intro z
specialize
- «./././Mathport/Syntax/Translate/Tactic/Lean3.lean:568:11: unsupported: specialize non-hyp»
+ «./././Mathport/Syntax/Translate/Tactic/Lean3.lean:571:11: unsupported: specialize non-hyp»
cases hf; specialize hf_h c
simp only [notBelow, OrderHom.coe_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
mathlib commit https://github.com/leanprover-community/mathlib/commit/63721b2c3eba6c325ecf8ae8cca27155a4f6306f
@@ -124,7 +124,7 @@ theorem notBelow_isOpen : IsOpen (notBelow y) :=
exists h; rintro c
apply eq_of_forall_ge_iff; intro z
rw [ωSup_le_iff]
- simp only [ωSup_le_iff, notBelow, mem_set_of_eq, le_Prop_eq, OrderHom.coe_fun_mk, chain.map_coe,
+ simp only [ωSup_le_iff, notBelow, mem_set_of_eq, le_Prop_eq, OrderHom.coe_mk, chain.map_coe,
Function.comp_apply, exists_imp, not_forall]
#align not_below_is_open notBelow_isOpen
-/
@@ -161,10 +161,10 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
specialize
«./././Mathport/Syntax/Translate/Tactic/Lean3.lean:568:11: unsupported: specialize non-hyp»
cases hf; specialize hf_h c
- simp only [notBelow, OrderHom.coe_fun_mk, eq_iff_iff, mem_set_of_eq] at hf_h
+ simp only [notBelow, OrderHom.coe_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
simp only [ωSup_le_iff, hf_h, ωSup, iSup, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
- exists_prop, mem_range, OrderHom.coe_fun_mk, chain.map_coe, Function.comp_apply, eq_iff_iff,
+ exists_prop, mem_range, OrderHom.coe_mk, chain.map_coe, Function.comp_apply, eq_iff_iff,
not_forall]
tauto
#align Scott_continuous_of_continuous scottContinuous_of_continuous
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2020 Simon Hudon. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Simon Hudon
-
-! This file was ported from Lean 3 source module topology.omega_complete_partial_order
-! leanprover-community/mathlib commit 4c19a16e4b705bf135cf9a80ac18fcc99c438514
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Topology.Basic
import Mathbin.Order.OmegaCompletePartialOrder
+#align_import topology.omega_complete_partial_order from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
+
/-!
# Scott Topological Spaces
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -64,9 +64,11 @@ theorem isOpen_univ : IsOpen α univ :=
#align Scott.is_open_univ Scott.isOpen_univ
-/
+#print Scott.IsOpen.inter /-
theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α (s ∩ t) :=
CompleteLattice.inf_continuous'
#align Scott.is_open.inter Scott.IsOpen.inter
+-/
#print Scott.isOpen_sUnion /-
theorem isOpen_sUnion (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) :=
@@ -146,6 +148,7 @@ theorem isωSup_ωSup {α} [OmegaCompletePartialOrder α] (c : Chain α) : IsωS
-/
/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:568:11: unsupported: specialize non-hyp -/
+#print scottContinuous_of_continuous /-
theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
OmegaCompletePartialOrder.Continuous' f :=
@@ -168,7 +171,9 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
not_forall]
tauto
#align Scott_continuous_of_continuous scottContinuous_of_continuous
+-/
+#print continuous_of_scottContinuous /-
theorem continuous_of_scottContinuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β)
(hf : OmegaCompletePartialOrder.Continuous' f) : Continuous f :=
@@ -181,4 +186,5 @@ theorem continuous_of_scottContinuous {α β} [OmegaCompletePartialOrder α]
apply continuous.of_bundled
apply continuous_comp _ _ hf' hs'
#align continuous_of_Scott_continuous continuous_of_scottContinuous
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -145,7 +145,7 @@ theorem isωSup_ωSup {α} [OmegaCompletePartialOrder α] (c : Chain α) : IsωS
#align is_ωSup_ωSup isωSup_ωSup
-/
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:565:11: unsupported: specialize non-hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:568:11: unsupported: specialize non-hyp -/
theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
OmegaCompletePartialOrder.Continuous' f :=
@@ -159,7 +159,7 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
exists h; intro c
apply eq_of_forall_ge_iff; intro z
specialize
- «./././Mathport/Syntax/Translate/Tactic/Lean3.lean:565:11: unsupported: specialize non-hyp»
+ «./././Mathport/Syntax/Translate/Tactic/Lean3.lean:568:11: unsupported: specialize non-hyp»
cases hf; specialize hf_h c
simp only [notBelow, OrderHom.coe_fun_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -111,7 +111,7 @@ variable {α : Type _} [OmegaCompletePartialOrder α] (y : Scott α)
/-- `not_below` is an open set in `Scott α` used
to prove the monotonicity of continuous functions -/
def notBelow :=
- { x | ¬x ≤ y }
+ {x | ¬x ≤ y}
#align not_below notBelow
-/
@@ -153,7 +153,7 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
simp only [continuous_def, (· ⁻¹' ·)] at hf
have h : Monotone f := by
intro x y h
- cases' hf { x | ¬x ≤ f y } (notBelow_isOpen _) with hf hf'; clear hf'
+ cases' hf {x | ¬x ≤ f y} (notBelow_isOpen _) with hf hf'; clear hf'
specialize hf h; simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
by_contra H; apply hf H le_rfl
exists h; intro c
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -71,7 +71,7 @@ theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α
#print Scott.isOpen_sUnion /-
theorem isOpen_sUnion (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) :=
by
- simp only [IsOpen] at hs⊢
+ simp only [IsOpen] at hs ⊢
convert CompleteLattice.sSup_continuous' (setOf ⁻¹' s) _
· ext1 x
simp only [sSup_apply, set_of_bijective.surjective.exists, exists_prop, mem_preimage,
@@ -150,18 +150,18 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
OmegaCompletePartialOrder.Continuous' f :=
by
- simp only [continuous_def, (· ⁻¹' ·)] at hf
+ simp only [continuous_def, (· ⁻¹' ·)] at hf
have h : Monotone f := by
intro x y h
cases' hf { x | ¬x ≤ f y } (notBelow_isOpen _) with hf hf'; clear hf'
- specialize hf h; simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
+ specialize hf h; simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
by_contra H; apply hf H le_rfl
exists h; intro c
apply eq_of_forall_ge_iff; intro z
specialize
«./././Mathport/Syntax/Translate/Tactic/Lean3.lean:565:11: unsupported: specialize non-hyp»
cases hf; specialize hf_h c
- simp only [notBelow, OrderHom.coe_fun_mk, eq_iff_iff, mem_set_of_eq] at hf_h
+ simp only [notBelow, OrderHom.coe_fun_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
simp only [ωSup_le_iff, hf_h, ωSup, iSup, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
exists_prop, mem_range, OrderHom.coe_fun_mk, chain.map_coe, Function.comp_apply, eq_iff_iff,
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -29,7 +29,7 @@ of continuity is equivalent to continuity in ωCPOs.
open Set OmegaCompletePartialOrder
-open Classical
+open scoped Classical
universe u
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -64,12 +64,6 @@ theorem isOpen_univ : IsOpen α univ :=
#align Scott.is_open_univ Scott.isOpen_univ
-/
-/- warning: Scott.is_open.inter -> Scott.IsOpen.inter is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : OmegaCompletePartialOrder.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), (Scott.IsOpen.{u1} α _inst_1 s) -> (Scott.IsOpen.{u1} α _inst_1 t) -> (Scott.IsOpen.{u1} α _inst_1 (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s t))
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : OmegaCompletePartialOrder.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), (Scott.IsOpen.{u1} α _inst_1 s) -> (Scott.IsOpen.{u1} α _inst_1 t) -> (Scott.IsOpen.{u1} α _inst_1 (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) s t))
-Case conversion may be inaccurate. Consider using '#align Scott.is_open.inter Scott.IsOpen.interₓ'. -/
theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α (s ∩ t) :=
CompleteLattice.inf_continuous'
#align Scott.is_open.inter Scott.IsOpen.inter
@@ -151,12 +145,6 @@ theorem isωSup_ωSup {α} [OmegaCompletePartialOrder α] (c : Chain α) : IsωS
#align is_ωSup_ωSup isωSup_ωSup
-/
-/- warning: Scott_continuous_of_continuous -> scottContinuous_of_continuous is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : OmegaCompletePartialOrder.{u1} α] [_inst_2 : OmegaCompletePartialOrder.{u2} β] (f : (Scott.{u1} α) -> (Scott.{u2} β)), (Continuous.{u1, u2} (Scott.{u1} α) (Scott.{u2} β) (Scott.topologicalSpace.{u1} α _inst_1) (Scott.topologicalSpace.{u2} β _inst_2) f) -> (OmegaCompletePartialOrder.Continuous'.{u1, u2} (Scott.{u1} α) (Scott.{u2} β) _inst_1 _inst_2 f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OmegaCompletePartialOrder.{u2} α] [_inst_2 : OmegaCompletePartialOrder.{u1} β] (f : (Scott.{u2} α) -> (Scott.{u1} β)), (Continuous.{u2, u1} (Scott.{u2} α) (Scott.{u1} β) (Scott.topologicalSpace.{u2} α _inst_1) (Scott.topologicalSpace.{u1} β _inst_2) f) -> (OmegaCompletePartialOrder.Continuous'.{u2, u1} (Scott.{u2} α) (Scott.{u1} β) _inst_1 _inst_2 f)
-Case conversion may be inaccurate. Consider using '#align Scott_continuous_of_continuous scottContinuous_of_continuousₓ'. -/
/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:565:11: unsupported: specialize non-hyp -/
theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
@@ -181,12 +169,6 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
tauto
#align Scott_continuous_of_continuous scottContinuous_of_continuous
-/- warning: continuous_of_Scott_continuous -> continuous_of_scottContinuous is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : OmegaCompletePartialOrder.{u1} α] [_inst_2 : OmegaCompletePartialOrder.{u2} β] (f : (Scott.{u1} α) -> (Scott.{u2} β)), (OmegaCompletePartialOrder.Continuous'.{u1, u2} (Scott.{u1} α) (Scott.{u2} β) _inst_1 _inst_2 f) -> (Continuous.{u1, u2} (Scott.{u1} α) (Scott.{u2} β) (Scott.topologicalSpace.{u1} α _inst_1) (Scott.topologicalSpace.{u2} β _inst_2) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OmegaCompletePartialOrder.{u2} α] [_inst_2 : OmegaCompletePartialOrder.{u1} β] (f : (Scott.{u2} α) -> (Scott.{u1} β)), (OmegaCompletePartialOrder.Continuous'.{u2, u1} (Scott.{u2} α) (Scott.{u1} β) _inst_1 _inst_2 f) -> (Continuous.{u2, u1} (Scott.{u2} α) (Scott.{u1} β) (Scott.topologicalSpace.{u2} α _inst_1) (Scott.topologicalSpace.{u1} β _inst_2) f)
-Case conversion may be inaccurate. Consider using '#align continuous_of_Scott_continuous continuous_of_scottContinuousₓ'. -/
theorem continuous_of_scottContinuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β)
(hf : OmegaCompletePartialOrder.Continuous' f) : Continuous f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -127,12 +127,9 @@ theorem notBelow_isOpen : IsOpen (notBelow y) :=
have h : Monotone (notBelow y) := by
intro x y' h
simp only [notBelow, setOf, le_Prop_eq]
- intro h₀ h₁
- apply h₀ (le_trans h h₁)
- exists h
- rintro c
- apply eq_of_forall_ge_iff
- intro z
+ intro h₀ h₁; apply h₀ (le_trans h h₁)
+ exists h; rintro c
+ apply eq_of_forall_ge_iff; intro z
rw [ωSup_le_iff]
simp only [ωSup_le_iff, notBelow, mem_set_of_eq, le_Prop_eq, OrderHom.coe_fun_mk, chain.map_coe,
Function.comp_apply, exists_imp, not_forall]
@@ -168,20 +165,14 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
simp only [continuous_def, (· ⁻¹' ·)] at hf
have h : Monotone f := by
intro x y h
- cases' hf { x | ¬x ≤ f y } (notBelow_isOpen _) with hf hf'
- clear hf'
- specialize hf h
- simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
- by_contra H
- apply hf H le_rfl
- exists h
- intro c
- apply eq_of_forall_ge_iff
- intro z
+ cases' hf { x | ¬x ≤ f y } (notBelow_isOpen _) with hf hf'; clear hf'
+ specialize hf h; simp only [preimage, mem_set_of_eq, le_Prop_eq] at hf
+ by_contra H; apply hf H le_rfl
+ exists h; intro c
+ apply eq_of_forall_ge_iff; intro z
specialize
«./././Mathport/Syntax/Translate/Tactic/Lean3.lean:565:11: unsupported: specialize non-hyp»
- cases hf
- specialize hf_h c
+ cases hf; specialize hf_h c
simp only [notBelow, OrderHom.coe_fun_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
simp only [ωSup_le_iff, hf_h, ωSup, iSup, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -74,17 +74,17 @@ theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α
CompleteLattice.inf_continuous'
#align Scott.is_open.inter Scott.IsOpen.inter
-#print Scott.isOpen_unionₛ /-
-theorem isOpen_unionₛ (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) :=
+#print Scott.isOpen_sUnion /-
+theorem isOpen_sUnion (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) :=
by
simp only [IsOpen] at hs⊢
- convert CompleteLattice.supₛ_continuous' (setOf ⁻¹' s) _
+ convert CompleteLattice.sSup_continuous' (setOf ⁻¹' s) _
· ext1 x
- simp only [supₛ_apply, set_of_bijective.surjective.exists, exists_prop, mem_preimage,
- SetCoe.exists, supᵢ_Prop_eq, mem_set_of_eq, Subtype.coe_mk, mem_sUnion]
+ simp only [sSup_apply, set_of_bijective.surjective.exists, exists_prop, mem_preimage,
+ SetCoe.exists, iSup_Prop_eq, mem_set_of_eq, Subtype.coe_mk, mem_sUnion]
· intro p hp
exact hs (setOf p) (mem_preimage.1 hp)
-#align Scott.is_open_sUnion Scott.isOpen_unionₛ
+#align Scott.is_open_sUnion Scott.isOpen_sUnion
-/
end Scott
@@ -105,7 +105,7 @@ instance Scott.topologicalSpace (α : Type u) [OmegaCompletePartialOrder α] :
IsOpen := Scott.IsOpen α
isOpen_univ := Scott.isOpen_univ α
isOpen_inter := Scott.IsOpen.inter α
- isOpen_unionₛ := Scott.isOpen_unionₛ α
+ isOpen_sUnion := Scott.isOpen_sUnion α
#align Scott.topological_space Scott.topologicalSpace
-/
@@ -184,7 +184,7 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
specialize hf_h c
simp only [notBelow, OrderHom.coe_fun_mk, eq_iff_iff, mem_set_of_eq] at hf_h
rw [← not_iff_not]
- simp only [ωSup_le_iff, hf_h, ωSup, supᵢ, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
+ simp only [ωSup_le_iff, hf_h, ωSup, iSup, Sup, CompleteLattice.sup, CompleteSemilatticeSup.sup,
exists_prop, mem_range, OrderHom.coe_fun_mk, chain.map_coe, Function.comp_apply, eq_iff_iff,
not_forall]
tauto
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
open Classical
(#11199)
We remove all but one open Classical
s, instead preferring to use open scoped Classical
. The only real side-effect this led to is moving a couple declarations to use Exists.choose
instead of Classical.choose
.
The first few commits are explicitly labelled regex replaces for ease of review.
@@ -24,7 +24,7 @@ of continuity is equivalent to continuity in ωCPOs.
open Set OmegaCompletePartialOrder
-open Classical
+open scoped Classical
universe u
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -87,7 +87,7 @@ instance Scott.topologicalSpace (α : Type u) [OmegaCompletePartialOrder α] :
section notBelow
-variable {α : Type _} [OmegaCompletePartialOrder α] (y : Scott α)
+variable {α : Type*} [OmegaCompletePartialOrder α] (y : Scott α)
/-- `notBelow` is an open set in `Scott α` used
to prove the monotonicity of continuous functions -/
FunLike
for OrderHom
(#5805)
Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Oliver Nash <github@olivernash.org>
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Simon Hudon
-/
import Mathlib.Topology.Basic
+import Mathlib.Order.UpperLower.Basic
import Mathlib.Order.OmegaCompletePartialOrder
#align_import topology.omega_complete_partial_order from "leanprover-community/mathlib"@"2705404e701abc6b3127da906f40bae062a169c9"
@@ -65,6 +66,8 @@ theorem isOpen_sUnion (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpe
SetCoe.exists, iSup_Prop_eq, mem_setOf_eq, mem_sUnion]
#align Scott.is_open_sUnion Scott.isOpen_sUnion
+theorem IsOpen.isUpperSet {s : Set α} (hs : IsOpen α s) : IsUpperSet s := hs.fst
+
end Scott
/-- A Scott topological space is defined on preorders
@@ -93,17 +96,9 @@ def notBelow :=
#align not_below notBelow
theorem notBelow_isOpen : IsOpen (notBelow y) := by
- have h : Monotone (notBelow y) := by
- intro x y' h
- simp only [notBelow, setOf, le_Prop_eq]
- intro h₀ h₁
- apply h₀ (le_trans h h₁)
- exists h
- rintro c
- apply eq_of_forall_ge_iff
- intro z
- rw [ωSup_le_iff]
- simp only [ωSup_le_iff, notBelow, mem_setOf_eq, le_Prop_eq, OrderHom.coe_fun_mk, Chain.map_coe,
+ have h : Monotone (notBelow y) := fun x z hle ↦ mt hle.trans
+ refine ⟨h, fun c ↦ eq_of_forall_ge_iff fun z ↦ ?_⟩
+ simp only [ωSup_le_iff, notBelow, mem_setOf_eq, le_Prop_eq, OrderHom.coe_mk, Chain.map_coe,
Function.comp_apply, exists_imp, not_forall]
#align not_below_is_open notBelow_isOpen
@@ -122,26 +117,16 @@ theorem isωSup_ωSup {α} [OmegaCompletePartialOrder α] (c : Chain α) : IsωS
theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β] (f : Scott α → Scott β) (hf : Continuous f) :
OmegaCompletePartialOrder.Continuous' f := by
- simp only [continuous_def, (· ⁻¹' ·)] at hf
- have h : Monotone f := by
- intro x y h
- cases' hf { x | ¬x ≤ f y } (notBelow_isOpen _) with hf hf'
- clear hf'
- specialize hf h
- simp only [preimage, mem_setOf_eq, le_Prop_eq] at hf
- by_contra H
- apply hf H le_rfl
- exists h
- intro c
- apply eq_of_forall_ge_iff
- intro z
- specialize hf _ (notBelow_isOpen z)
- cases' hf with _ hf_h
- specialize hf_h c
- simp only [notBelow, eq_iff_iff, mem_setOf_eq] at hf_h
+ have h : Monotone f := fun x y h ↦ by
+ have hf : IsUpperSet {x | ¬f x ≤ f y} := ((notBelow_isOpen (f y)).preimage hf).isUpperSet
+ simpa only [mem_setOf_eq, le_refl, not_true, imp_false, not_not] using hf h
+ refine ⟨h, fun c ↦ eq_of_forall_ge_iff fun z ↦ ?_⟩
+ rcases (notBelow_isOpen z).preimage hf with ⟨hf, hf'⟩
+ specialize hf' c
+ simp only [OrderHom.coe_mk, mem_preimage, notBelow, mem_setOf_eq] at hf'
rw [← not_iff_not]
- simp only [ωSup_le_iff, hf_h, ωSup, iSup, sSup, mem_range, Chain.map_coe, Function.comp_apply,
- eq_iff_iff, not_forall]
+ simp only [ωSup_le_iff, hf', ωSup, iSup, sSup, mem_range, Chain.map_coe, Function.comp_apply,
+ eq_iff_iff, not_forall, OrderHom.coe_mk]
tauto
#align Scott_continuous_of_continuous scottContinuous_of_continuous
@@ -2,15 +2,12 @@
Copyright (c) 2020 Simon Hudon. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Simon Hudon
-
-! This file was ported from Lean 3 source module topology.omega_complete_partial_order
-! leanprover-community/mathlib commit 2705404e701abc6b3127da906f40bae062a169c9
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Topology.Basic
import Mathlib.Order.OmegaCompletePartialOrder
+#align_import topology.omega_complete_partial_order from "leanprover-community/mathlib"@"2705404e701abc6b3127da906f40bae062a169c9"
+
/-!
# Scott Topological Spaces
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -62,7 +62,7 @@ theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α
#align Scott.is_open.inter Scott.IsOpen.inter
theorem isOpen_sUnion (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) := by
- simp only [IsOpen] at hs⊢
+ simp only [IsOpen] at hs ⊢
convert CompleteLattice.sSup_continuous' (setOf ⁻¹' s) hs
simp only [sSup_apply, setOf_bijective.surjective.exists, exists_prop, mem_preimage,
SetCoe.exists, iSup_Prop_eq, mem_setOf_eq, mem_sUnion]
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -61,12 +61,12 @@ theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α
CompleteLattice.inf_continuous'
#align Scott.is_open.inter Scott.IsOpen.inter
-theorem isOpen_unionₛ (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) := by
+theorem isOpen_sUnion (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) := by
simp only [IsOpen] at hs⊢
- convert CompleteLattice.supₛ_continuous' (setOf ⁻¹' s) hs
- simp only [supₛ_apply, setOf_bijective.surjective.exists, exists_prop, mem_preimage,
- SetCoe.exists, supᵢ_Prop_eq, mem_setOf_eq, mem_unionₛ]
-#align Scott.is_open_sUnion Scott.isOpen_unionₛ
+ convert CompleteLattice.sSup_continuous' (setOf ⁻¹' s) hs
+ simp only [sSup_apply, setOf_bijective.surjective.exists, exists_prop, mem_preimage,
+ SetCoe.exists, iSup_Prop_eq, mem_setOf_eq, mem_sUnion]
+#align Scott.is_open_sUnion Scott.isOpen_sUnion
end Scott
@@ -82,7 +82,7 @@ instance Scott.topologicalSpace (α : Type u) [OmegaCompletePartialOrder α] :
IsOpen := Scott.IsOpen α
isOpen_univ := Scott.isOpen_univ α
isOpen_inter := Scott.IsOpen.inter α
- isOpen_unionₛ := Scott.isOpen_unionₛ α
+ isOpen_sUnion := Scott.isOpen_sUnion α
#align Scott.topological_space Scott.topologicalSpace
section notBelow
@@ -143,7 +143,7 @@ theorem scottContinuous_of_continuous {α β} [OmegaCompletePartialOrder α]
specialize hf_h c
simp only [notBelow, eq_iff_iff, mem_setOf_eq] at hf_h
rw [← not_iff_not]
- simp only [ωSup_le_iff, hf_h, ωSup, supᵢ, supₛ, mem_range, Chain.map_coe, Function.comp_apply,
+ simp only [ωSup_le_iff, hf_h, ωSup, iSup, sSup, mem_range, Chain.map_coe, Function.comp_apply,
eq_iff_iff, not_forall]
tauto
#align Scott_continuous_of_continuous scottContinuous_of_continuous
congr!
and improvement to convert
(#2566)
This introduces a tactic congr!
that is an analogue to mathlib 3's congr'
. It is a more insistent version of congr
that makes use of more congruence lemmas (including user congruence lemmas), propext
, funext
, and Subsingleton
instances. It also has a feature to lift reflexive relations to equalities. Along with funext
, the tactic does intros
, allowing congr!
to get access to function bodies; the introduced variables can be named using rename_i
if needed.
This also modifies convert
to use congr!
rather than congr
, which makes it work more like the mathlib3 version of the tactic.
@@ -64,7 +64,6 @@ theorem IsOpen.inter (s t : Set α) : IsOpen α s → IsOpen α t → IsOpen α
theorem isOpen_unionₛ (s : Set (Set α)) (hs : ∀ t ∈ s, IsOpen α t) : IsOpen α (⋃₀ s) := by
simp only [IsOpen] at hs⊢
convert CompleteLattice.supₛ_continuous' (setOf ⁻¹' s) hs
- ext1
simp only [supₛ_apply, setOf_bijective.surjective.exists, exists_prop, mem_preimage,
SetCoe.exists, supᵢ_Prop_eq, mem_setOf_eq, mem_unionₛ]
#align Scott.is_open_sUnion Scott.isOpen_unionₛ
The unported dependencies are