# mathlib3documentation

topology.algebra.order.upper_lower

# Topological facts about upper/lower/order-connected sets #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

The topological closure and interior of an upper/lower/order-connected set is an upper/lower/order-connected set (with the notable exception of the closure of an order-connected set).

## Implementation notes #

The same lemmas are true in the additive/multiplicative worlds. To avoid code duplication, we provide has_upper_lower_closure, an ad hoc axiomatisation of the properties we need.

@[class]
structure has_upper_lower_closure (α : Type u_1) [preorder α] :
Prop
• is_upper_set_closure : (s : set α),
• is_lower_set_closure : (s : set α),
• is_open_upper_closure : (s : set α),
• is_open_lower_closure : (s : set α),

Ad hoc class stating that the closure of an upper set is an upper set. This is used to state lemmas that do not mention algebraic operations for both the additive and multiplicative versions simultaneously. If you find a satisfying replacement for this typeclass, please remove it!

Instances of this typeclass
@[protected, instance]
@[protected, instance]
@[simp]
theorem upper_bounds_closure {α : Type u_1} [preorder α] (s : set α) :
@[simp]
theorem lower_bounds_closure {α : Type u_1} [preorder α] (s : set α) :
@[simp]
theorem bdd_above_closure {α : Type u_1} [preorder α] {s : set α} :
@[simp]
theorem bdd_below_closure {α : Type u_1} [preorder α] {s : set α} :
theorem bdd_above.of_closure {α : Type u_1} [preorder α] {s : set α} :

Alias of the forward direction of bdd_above_closure.

@[protected]
theorem bdd_above.closure {α : Type u_1} [preorder α] {s : set α} :

Alias of the reverse direction of bdd_above_closure.

@[protected]
theorem bdd_below.closure {α : Type u_1} [preorder α] {s : set α} :

Alias of the reverse direction of bdd_below_closure.

theorem bdd_below.of_closure {α : Type u_1} [preorder α] {s : set α} :

Alias of the forward direction of bdd_below_closure.

@[protected]
theorem is_upper_set.closure {α : Type u_1} [preorder α] {s : set α} :
@[protected]
theorem is_lower_set.closure {α : Type u_1} [preorder α] {s : set α} :
@[protected]
theorem is_open.upper_closure {α : Type u_1} [preorder α] {s : set α} :
@[protected]
theorem is_open.lower_closure {α : Type u_1} [preorder α] {s : set α} :
@[protected, instance]
@[protected]
theorem is_upper_set.interior {α : Type u_1} [preorder α] {s : set α} (h : is_upper_set s) :
@[protected]
theorem is_lower_set.interior {α : Type u_1} [preorder α] {s : set α} (h : is_lower_set s) :
@[protected]
theorem set.ord_connected.interior {α : Type u_1} [preorder α] {s : set α} (h : s.ord_connected) :