File: Mathlib/Topology/Clopen.lean

full_name: IsClopen.isOpen
code: protected theorem IsClopen.isOpen (hs : IsClopen s) : IsOpen s 
goal: IsOpen s

full_name: IsClopen.isClosed
code: protected theorem IsClopen.isClosed (hs : IsClopen s) : IsClosed s 
goal: IsClosed s

full_name: isClopen_iff_frontier_eq_empty
code: theorem isClopen_iff_frontier_eq_empty : IsClopen s ↔ frontier s = ∅ 
goal: IsClopen s ↔ frontier s = ∅

full_name: IsClopen.union
code: theorem IsClopen.union (hs : IsClopen s) (ht : IsClopen t) : IsClopen (s ∪ t) 
goal: IsClopen (s ∪ t)

full_name: IsClopen.inter
code: theorem IsClopen.inter (hs : IsClopen s) (ht : IsClopen t) : IsClopen (s ∩ t) 
goal: IsClopen (s ∩ t)

full_name: isClopen_empty
code: theorem isClopen_empty : IsClopen (∅ : Set X) 
goal: IsClopen ∅

full_name: isClopen_univ
code: theorem isClopen_univ : IsClopen (univ : Set X) 
goal: IsClopen Set.univ

full_name: IsClopen.compl
code: theorem IsClopen.compl (hs : IsClopen s) : IsClopen sᶜ 
goal: IsClopen sᶜ

full_name: isClopen_compl_iff
code: @[simp]
theorem isClopen_compl_iff : IsClopen sᶜ ↔ IsClopen s 
goal: IsClopen sᶜ ↔ IsClopen s

full_name: IsClopen.diff
code: theorem IsClopen.diff (hs : IsClopen s) (ht : IsClopen t) : IsClopen (s \ t) 
goal: IsClopen (s \ t)

full_name: IsClopen.himp
code: lemma IsClopen.himp (hs : IsClopen s) (ht : IsClopen t) : IsClopen (s ⇨ t) 
goal: IsClopen (s ⇨ t)

full_name: IsClopen.prod
code: theorem IsClopen.prod {t : Set Y} (hs : IsClopen s) (ht : IsClopen t) : IsClopen (s ×ˢ t) 
goal: IsClopen (s ×ˢ t)

full_name: isClopen_iUnion_of_finite
code: theorem isClopen_iUnion_of_finite [Finite Y] {s : Y → Set X} (h : ∀ i, IsClopen (s i)) :
    IsClopen (⋃ i, s i) 
goal: IsClopen (⋃ i, s i)

full_name: Set.Finite.isClopen_biUnion
code: theorem Set.Finite.isClopen_biUnion {s : Set Y} {f : Y → Set X} (hs : s.Finite)
    (h : ∀ i ∈ s, IsClopen <| f i) : IsClopen (⋃ i ∈ s, f i) 
goal: IsClopen (⋃ i ∈ s, f i)

full_name: isClopen_biUnion_finset
code: theorem isClopen_biUnion_finset {s : Finset Y} {f : Y → Set X}
    (h : ∀ i ∈ s, IsClopen <| f i) : IsClopen (⋃ i ∈ s, f i) 
goal: IsClopen (⋃ i ∈ s, f i)

full_name: isClopen_iInter_of_finite
code: theorem isClopen_iInter_of_finite [Finite Y] {s : Y → Set X} (h : ∀ i, IsClopen (s i)) :
    IsClopen (⋂ i, s i) 
goal: IsClopen (⋂ i, s i)

full_name: Set.Finite.isClopen_biInter
code: theorem Set.Finite.isClopen_biInter {s : Set Y} (hs : s.Finite) {f : Y → Set X}
    (h : ∀ i ∈ s, IsClopen (f i)) : IsClopen (⋂ i ∈ s, f i) 
goal: IsClopen (⋂ i ∈ s, f i)

full_name: isClopen_biInter_finset
code: theorem isClopen_biInter_finset {s : Finset Y} {f : Y → Set X}
    (h : ∀ i ∈ s, IsClopen (f i)) : IsClopen (⋂ i ∈ s, f i) 
goal: IsClopen (⋂ i ∈ s, f i)

full_name: IsClopen.preimage
code: theorem IsClopen.preimage {s : Set Y} (h : IsClopen s) {f : X → Y} (hf : Continuous f) :
    IsClopen (f ⁻¹' s) 
goal: IsClopen (f ⁻¹' s)

full_name: ContinuousOn.preimage_isClopen_of_isClopen
code: theorem ContinuousOn.preimage_isClopen_of_isClopen {f : X → Y} {s : Set X} {t : Set Y}
    (hf : ContinuousOn f s) (hs : IsClopen s) (ht : IsClopen t) : IsClopen (s ∩ f ⁻¹' t) 
goal: IsClopen (s ∩ f ⁻¹' t)

full_name: isClopen_inter_of_disjoint_cover_clopen
code: /-- The intersection of a disjoint covering by two open sets of a clopen set will be clopen. -/
theorem isClopen_inter_of_disjoint_cover_clopen {s a b : Set X} (h : IsClopen s) (cover : s ⊆ a ∪ b)
    (ha : IsOpen a) (hb : IsOpen b) (hab : Disjoint a b) : IsClopen (s ∩ a) 
goal: IsClopen (s ∩ a)

full_name: isClopen_discrete
code: @[simp]
theorem isClopen_discrete [DiscreteTopology X] (s : Set X) : IsClopen s 
goal: IsClopen s

full_name: isClopen_range_inl
code: theorem isClopen_range_inl : IsClopen (range (Sum.inl : X → X ⊕ Y)) 
goal: IsClopen (Set.range Sum.inl)

full_name: isClopen_range_inr
code: theorem isClopen_range_inr : IsClopen (range (Sum.inr : Y → X ⊕ Y)) 
goal: IsClopen (Set.range Sum.inr)

full_name: isClopen_range_sigmaMk
code: theorem isClopen_range_sigmaMk {X : ι → Type*} [∀ i, TopologicalSpace (X i)] {i : ι} :
    IsClopen (Set.range (@Sigma.mk ι X i)) 
goal: IsClopen (Set.range (Sigma.mk i))

full_name: QuotientMap.isClopen_preimage
code: protected theorem QuotientMap.isClopen_preimage {f : X → Y} (hf : QuotientMap f) {s : Set Y} :
    IsClopen (f ⁻¹' s) ↔ IsClopen s 
goal: IsClopen (f ⁻¹' s) ↔ IsClopen s

full_name: continuous_boolIndicator_iff_isClopen
code: theorem continuous_boolIndicator_iff_isClopen (U : Set X) :
    Continuous U.boolIndicator ↔ IsClopen U 
goal: Continuous U.boolIndicator ↔ IsClopen U

full_name: continuousOn_boolIndicator_iff_isClopen
code: theorem continuousOn_boolIndicator_iff_isClopen (s U : Set X) :
    ContinuousOn U.boolIndicator s ↔ IsClopen (((↑) : s → X) ⁻¹' U) 
goal: ContinuousOn U.boolIndicator s ↔ IsClopen (Subtype.val ⁻¹' U)