File: Mathlib/Topology/MetricSpace/CantorScheme.lean

full_name: CantorScheme.inducedMap
code: /-- From a `β`-scheme on `α` `A`, we define a partial function from `(ℕ → β)` to `α`
which sends each infinite sequence `x` to an element of the intersection along the
branch corresponding to `x`, if it exists.
We call this the map induced by the scheme. -/
noncomputable def inducedMap : Σs : Set (ℕ → β), s → α 
goal: (s : Set (ℕ → β)) × (↑s → α)

full_name: CantorScheme.Antitone
code: /-- A scheme is antitone if each set contains its children. -/
protected def Antitone : Prop 
goal: Prop

full_name: CantorScheme.ClosureAntitone
code: /-- A useful strengthening of being antitone is to require that each set contains
the closure of each of its children. -/
def ClosureAntitone [TopologicalSpace α] : Prop 
goal: Prop

full_name: CantorScheme.Disjoint
code: /-- A scheme is disjoint if the children of each set of pairwise disjoint. -/
protected def Disjoint : Prop 
goal: Prop

full_name: CantorScheme.map_mem
code: /-- If `x` is in the domain of the induced map of a scheme `A`,
its image under this map is in each set along the corresponding branch. -/
theorem map_mem (x : (inducedMap A).1) (n : ℕ) : (inducedMap A).2 x ∈ A (res x n) 
goal: (CantorScheme.inducedMap A).snd x ∈ A (PiNat.res (↑x) n)

full_name: CantorScheme.ClosureAntitone.antitone
code: protected theorem ClosureAntitone.antitone [TopologicalSpace α] (hA : ClosureAntitone A) :
    CantorScheme.Antitone A 
goal: CantorScheme.Antitone A

full_name: CantorScheme.Antitone.closureAntitone
code: protected theorem Antitone.closureAntitone [TopologicalSpace α] (hanti : CantorScheme.Antitone A)
    (hclosed : ∀ l, IsClosed (A l)) : ClosureAntitone A 
goal: CantorScheme.ClosureAntitone A

full_name: CantorScheme.Disjoint.map_injective
code: /-- A scheme where the children of each set are pairwise disjoint induces an injective map. -/
theorem Disjoint.map_injective (hA : CantorScheme.Disjoint A) : Injective (inducedMap A).2 
goal: Function.Injective (CantorScheme.inducedMap A).snd

full_name: CantorScheme.VanishingDiam
code: /-- A scheme on a metric space has vanishing diameter if diameter approaches 0 along each branch. -/
def VanishingDiam : Prop 
goal: Prop

full_name: CantorScheme.VanishingDiam.dist_lt
code: theorem VanishingDiam.dist_lt (hA : VanishingDiam A) (ε : ℝ) (ε_pos : 0 < ε) (x : ℕ → β) :
    ∃ n : ℕ, ∀ (y) (_ : y ∈ A (res x n)) (z) (_ : z ∈ A (res x n)), dist y z < ε 
goal: ∃ n, ∀ y ∈ A (PiNat.res x n), ∀ z ∈ A (PiNat.res x n), dist y z < ε

full_name: CantorScheme.VanishingDiam.map_continuous
code: /-- A scheme with vanishing diameter along each branch induces a continuous map. -/
theorem VanishingDiam.map_continuous [TopologicalSpace β] [DiscreteTopology β]
    (hA : VanishingDiam A) : Continuous (inducedMap A).2 
goal: Continuous (CantorScheme.inducedMap A).snd

full_name: CantorScheme.ClosureAntitone.map_of_vanishingDiam
code: /-- A scheme on a complete space with vanishing diameter
such that each set contains the closure of its children
induces a total map. -/
theorem ClosureAntitone.map_of_vanishingDiam [CompleteSpace α] (hdiam : VanishingDiam A)
    (hanti : ClosureAntitone A) (hnonempty : ∀ l, (A l).Nonempty) : (inducedMap A).1 = univ 
goal: (CantorScheme.inducedMap A).fst = Set.univ