File: Mathlib/Topology/Order/LawsonTopology.lean

full_name: Topology.lawson
code: /--
The Lawson topology is defined as the meet of `Topology.lower` and the `Topology.scott`.
-/
def lawson (α : Type*) [Preorder α] : TopologicalSpace α 
goal: TopologicalSpace α

full_name: Topology.IsLawson.topology_eq_lawson
code: /-- Predicate for an ordered topological space to be equipped with its Lawson topology.

The Lawson topology is defined as the meet of `Topology.lower` and the `Topology.scott`.
-/
class IsLawson : Prop where
  topology_eq_lawson : ‹TopologicalSpace α› = lawson α
goal: inst✝ = Topology.lawson α

full_name: Topology.IsLawson
code: /-- Predicate for an ordered topological space to be equipped with its Lawson topology.

The Lawson topology is defined as the meet of `Topology.lower` and the `Topology.scott`.
-/
class IsLawson : Prop where
  topology_eq_lawson : ‹TopologicalSpace α› = lawson α
goal: Prop

full_name: Topology.IsLawson.lawsonBasis
code: /-- The complements of the upper closures of finite sets intersected with Scott open sets form
a basis for the lawson topology. -/
def lawsonBasis 
goal: Set (Set α)

full_name: Topology.IsLawson.isTopologicalBasis
code: protected theorem isTopologicalBasis : TopologicalSpace.IsTopologicalBasis (lawsonBasis α) 
goal: TopologicalSpace.IsTopologicalBasis (Topology.IsLawson.lawsonBasis α)

full_name: Topology.WithLawson
code: /--
Type synonym for a preorder equipped with the Lawson topology.
-/
def WithLawson (α : Type*) 
goal: Type u_3

full_name: Topology.WithLawson.toLawson
code: /-- `toLawson` is the identity function to the `WithLawson` of a type. -/
@[match_pattern] def toLawson : α ≃ WithLawson α 
goal: α ≃ Topology.WithLawson α

full_name: Topology.WithLawson.ofLawson
code: /-- `ofLawson` is the identity function from the `WithLawson` of a type. -/
@[match_pattern] def ofLawson : WithLawson α ≃ α 
goal: Topology.WithLawson α ≃ α

full_name: Topology.WithLawson.to_Lawson_symm_eq
code: @[simp] lemma to_Lawson_symm_eq : (@toLawson α).symm = ofLawson 
goal: Topology.WithLawson.toLawson.symm = Topology.WithLawson.ofLawson

full_name: Topology.WithLawson.of_Lawson_symm_eq
code: @[simp] lemma of_Lawson_symm_eq : (@ofLawson α).symm = toLawson 
goal: Topology.WithLawson.ofLawson.symm = Topology.WithLawson.toLawson

full_name: Topology.WithLawson.toLawson_ofLawson
code: @[simp] lemma toLawson_ofLawson (a : WithLawson α) : toLawson (ofLawson a) = a 
goal: Topology.WithLawson.toLawson (Topology.WithLawson.ofLawson a) = a

full_name: Topology.WithLawson.ofLawson_toLawson
code: @[simp] lemma ofLawson_toLawson (a : α) : ofLawson (toLawson a) = a 
goal: Topology.WithLawson.ofLawson (Topology.WithLawson.toLawson a) = a

full_name: Topology.WithLawson.toLawson_inj
code: @[simp, nolint simpNF]
lemma toLawson_inj {a b : α} : toLawson a = toLawson b ↔ a = b 
goal: Topology.WithLawson.toLawson a = Topology.WithLawson.toLawson b ↔ a = b

full_name: Topology.WithLawson.ofLawson_inj
code: @[simp, nolint simpNF]
lemma ofLawson_inj {a b : WithLawson α} : ofLawson a = ofLawson b ↔ a = b 
goal: Topology.WithLawson.ofLawson a = Topology.WithLawson.ofLawson b ↔ a = b

full_name: Topology.WithLawson.rec
code: /-- A recursor for `WithLawson`. Use as `induction' x`. -/
@[elab_as_elim, cases_eliminator, induction_eliminator]
protected def rec {β : WithLawson α → Sort*}
    (h : ∀ a, β (toLawson a)) : ∀ a, β a 
goal: β a

full_name: Topology.WithLawson.instNonempty
code: instance [Nonempty α] : Nonempty (WithLawson α) 
goal: Nonempty (Topology.WithLawson α)

full_name: Topology.WithLawson.instInhabited
code: instance [Inhabited α] : Inhabited (WithLawson α) 
goal: Inhabited (Topology.WithLawson α)

full_name: Topology.WithLawson.instPreorder
code: instance instPreorder : Preorder (WithLawson α) 
goal: Preorder (Topology.WithLawson α)

full_name: Topology.WithLawson.instTopologicalSpace
code: instance instTopologicalSpace : TopologicalSpace (WithLawson α) 
goal: TopologicalSpace (Topology.WithLawson α)

full_name: Topology.WithLawson.instIsLawson
code: instance instIsLawson : IsLawson (WithLawson α) 
goal: Topology.IsLawson (Topology.WithLawson α)

full_name: Topology.WithLawson.homeomorph
code: /-- If `α` is equipped with the Lawson topology, then it is homeomorphic to `WithLawson α`.
-/
def homeomorph [TopologicalSpace α] [IsLawson α] : WithLawson α ≃ₜ α 
goal: Topology.WithLawson α ≃ₜ α

full_name: Topology.WithLawson.isOpen_preimage_ofLawson
code: theorem isOpen_preimage_ofLawson {S : Set α} :
    IsOpen (ofLawson ⁻¹' S) ↔ (lawson α).IsOpen S 
goal: IsOpen (⇑Topology.WithLawson.ofLawson ⁻¹' S) ↔ TopologicalSpace.IsOpen S

full_name: Topology.WithLawson.isClosed_preimage_ofLawson
code: theorem isClosed_preimage_ofLawson {S : Set α} :
    IsClosed (ofLawson ⁻¹' S) ↔ IsClosed[lawson α] S 
goal: IsClosed (⇑Topology.WithLawson.ofLawson ⁻¹' S) ↔ IsClosed S

full_name: Topology.WithLawson.isOpen_def
code: theorem isOpen_def {T : Set (WithLawson α)} :
    IsOpen T ↔ (lawson α).IsOpen (toLawson ⁻¹' T) 
goal: IsOpen T ↔ TopologicalSpace.IsOpen (⇑Topology.WithLawson.toLawson ⁻¹' T)

full_name: Topology.lawson_le_scott
code: lemma lawson_le_scott : lawson α ≤ scott α 
goal: Topology.lawson α ≤ Topology.scott α

full_name: Topology.lawson_le_lower
code: lemma lawson_le_lower : lawson α ≤ lower α 
goal: Topology.lawson α ≤ Topology.lower α

full_name: Topology.scottHausdorff_le_lawson
code: lemma scottHausdorff_le_lawson : scottHausdorff α  ≤ lawson α 
goal: Topology.scottHausdorff α ≤ Topology.lawson α

full_name: Topology.lawsonClosed_of_scottClosed
code: lemma lawsonClosed_of_scottClosed (s : Set α) (h : IsClosed (WithScott.ofScott ⁻¹' s)) :
    IsClosed (WithLawson.ofLawson ⁻¹' s) 
goal: IsClosed (⇑Topology.WithLawson.ofLawson ⁻¹' s)

full_name: Topology.lawsonClosed_of_lowerClosed
code: lemma lawsonClosed_of_lowerClosed (s : Set α) (h : IsClosed (WithLower.ofLower ⁻¹' s)) :
    IsClosed (WithLawson.ofLawson ⁻¹' s) 
goal: IsClosed (⇑Topology.WithLawson.ofLawson ⁻¹' s)

full_name: Topology.lawsonOpen_iff_scottOpen_of_isUpperSet
code: /-- An upper set is Lawson open if and only if it is Scott open -/
lemma lawsonOpen_iff_scottOpen_of_isUpperSet {s : Set α} (h : IsUpperSet s) :
    IsOpen (WithLawson.ofLawson ⁻¹' s) ↔ IsOpen (WithScott.ofScott ⁻¹' s) 
goal: IsOpen (⇑Topology.WithLawson.ofLawson ⁻¹' s) ↔ IsOpen (⇑Topology.WithScott.ofScott ⁻¹' s)

full_name: Topology.isLawson_le_isScott
code: lemma isLawson_le_isScott : L ≤ S 
goal: L ≤ S

full_name: Topology.scottHausdorff_le_isLawson
code: lemma scottHausdorff_le_isLawson : scottHausdorff α ≤ L 
goal: Topology.scottHausdorff α ≤ L

full_name: Topology.lawsonOpen_iff_scottOpen_of_isUpperSet'
code: /-- An upper set is Lawson open if and only if it is Scott open -/
lemma lawsonOpen_iff_scottOpen_of_isUpperSet' (s : Set α) (h : IsUpperSet s) :
    IsOpen[L] s ↔ IsOpen[S] s 
goal: IsOpen s ↔ IsOpen s

full_name: Topology.lawsonClosed_iff_scottClosed_of_isLowerSet
code: lemma lawsonClosed_iff_scottClosed_of_isLowerSet (s : Set α) (h : IsLowerSet s) :
    IsClosed[L] s ↔ IsClosed[S] s 
goal: IsClosed s ↔ IsClosed s

full_name: Topology.lawsonClosed_iff_dirSupClosed_of_isLowerSet
code: /-- A lower set is Lawson closed if and only if it is closed under sups of directed sets -/
lemma lawsonClosed_iff_dirSupClosed_of_isLowerSet (s : Set α) (h : IsLowerSet s) :
    IsClosed[L] s ↔ DirSupClosed s 
goal: IsClosed s ↔ DirSupClosed s

full_name: Topology.IsLawson.singleton_isClosed
code: lemma singleton_isClosed (a : α) : IsClosed ({a} : Set α) 
goal: IsClosed {a}

full_name: Topology.IsLawson.t0Space
code: /-- The Lawson topology on a partial order is T₀. -/
instance (priority := 90) t0Space : T0Space α 
goal: T0Space α