Documentation

Mathlib.Topology.CWComplex.Classical.Finite

Finiteness notions on CW complexes #

In this file we define what it means for a CW complex to be finite dimensional, of finite type or finite. We define constructors with relaxed conditions for CW complexes of finite type and finite CW complexes.

Main definitions #

Main statements #

A CW complex is finite dimensional if cell C n is empty for all but finitely many n.

Instances

    A CW complex is of finite type if cell C n is finite for every n.

    Instances

      A CW complex is finite if it is finite dimensional and of finite type.

      Instances
        def Topology.RelCWComplex.mkFiniteType {X : Type u} [TopologicalSpace X] (C : Set X) (D : outParam (Set X)) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (disjointBase' : ∀ (n : ) (i : cell n), Disjoint ((map n i) '' Metric.ball 0 1) D) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (D ⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (closed' : AC, (∀ (n : ) (j : cell n), IsClosed (A (map n j) '' Metric.closedBall 0 1)) IsClosed (A D)IsClosed A) (isClosedBase : IsClosed D) (union' : D ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

        If we want to construct a relative CW complex of finite type, we can add the condition finite_cell and relax the condition mapsTo.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Topology.RelCWComplex.finiteType_mkFiniteType {X : Type u} [TopologicalSpace X] (C : Set X) (D : outParam (Set X)) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (disjointBase' : ∀ (n : ) (i : cell n), Disjoint ((map n i) '' Metric.ball 0 1) D) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (D ⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (closed' : AC, (∀ (n : ) (j : cell n), IsClosed (A (map n j) '' Metric.closedBall 0 1)) IsClosed (A D)IsClosed A) (isClosedBase : IsClosed D) (union' : D ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

          A CW complex that was constructed using RelCWComplex.mkFiniteType is of finite type.

          def Topology.CWComplex.mkFiniteType {X : Type u} [TopologicalSpace X] (C : Set X) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (closed' : AC, (∀ (n : ) (j : cell n), IsClosed (A (map n j) '' Metric.closedBall 0 1))IsClosed A) (union' : ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

          If we want to construct a CW complex of finite type, we can add the condition finite_cell and relax the condition mapsTo.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem Topology.CWComplex.finiteType_mkFiniteType {X : Type u} [TopologicalSpace X] (C : Set X) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (closed' : AC, (∀ (n : ) (j : cell n), IsClosed (A (map n j) '' Metric.closedBall 0 1))IsClosed A) (union' : ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

            A CW complex that was constructed using CWComplex.mkFiniteType is of finite type.

            def Topology.RelCWComplex.mkFinite {X : Type u} [TopologicalSpace X] (C : Set X) (D : outParam (Set X)) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (eventually_isEmpty_cell : ∀ᶠ (n : ) in Filter.atTop, IsEmpty (cell n)) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (disjointBase' : ∀ (n : ) (i : cell n), Disjoint ((map n i) '' Metric.ball 0 1) D) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (D ⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (isClosedBase : IsClosed D) (union' : D ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

            If we want to construct a finite relative CW complex we can add the conditions eventually_isEmpty_cell and finite_cell, relax the condition mapsTo and remove the condition closed'.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem Topology.RelCWComplex.finite_mkFinite {X : Type u} [TopologicalSpace X] (C : Set X) (D : outParam (Set X)) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (eventually_isEmpty_cell : ∀ᶠ (n : ) in Filter.atTop, IsEmpty (cell n)) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (disjointBase' : ∀ (n : ) (i : cell n), Disjoint ((map n i) '' Metric.ball 0 1) D) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (D ⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (isClosedBase : IsClosed D) (union' : D ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

              A CW complex that was constructed using RelCWComplex.mkFinite is finite.

              def Topology.CWComplex.mkFinite {X : Type u} [TopologicalSpace X] (C : Set X) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (eventually_isEmpty_cell : ∀ᶠ (n : ) in Filter.atTop, IsEmpty (cell n)) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (union' : ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

              If we want to construct a finite CW complex we can add the conditions eventually_isEmpty_cell and finite_cell, relax the condition mapsTo and remove the condition closed'.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem Topology.CWComplex.finite_mkFinite {X : Type u} [TopologicalSpace X] (C : Set X) (cell : Type u) (map : (n : ) → cell nPartialEquiv (Fin n) X) (eventually_isEmpty_cell : ∀ᶠ (n : ) in Filter.atTop, IsEmpty (cell n)) (finite_cell : ∀ (n : ), _root_.Finite (cell n)) (source_eq : ∀ (n : ) (i : cell n), (map n i).source = Metric.ball 0 1) (continuousOn : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i)) (Metric.closedBall 0 1)) (continuousOn_symm : ∀ (n : ) (i : cell n), ContinuousOn (↑(map n i).symm) (map n i).target) (pairwiseDisjoint' : Set.univ.PairwiseDisjoint fun (ni : (n : ) × cell n) => (map ni.fst ni.snd) '' Metric.ball 0 1) (mapsTo : ∀ (n : ) (i : cell n), Set.MapsTo (↑(map n i)) (Metric.sphere 0 1) (⋃ (m : ), ⋃ (_ : m < n), ⋃ (j : cell m), (map m j) '' Metric.closedBall 0 1)) (union' : ⋃ (n : ), ⋃ (j : cell n), (map n j) '' Metric.closedBall 0 1 = C) :

                A CW complex that was constructed using CWComplex.mkFinite is finite.

                theorem Topology.RelCWComplex.finite_of_finite_cells {X : Type u_2} [TopologicalSpace X] {C D : Set X} [RelCWComplex C D] (finite : _root_.Finite ((n : ) × cell C n)) :

                If the collection of all cells (of any dimension) of a relative CW complex C is finite, then C is finite as a CW complex.

                theorem Topology.RelCWComplex.finite_cells_of_finite {X : Type u_2} [TopologicalSpace X] {C D : Set X} [RelCWComplex C D] [finite : Finite C] :
                _root_.Finite ((n : ) × cell C n)

                If C is finite as a CW complex then the collection of all cells (of any dimension) is finite.

                A CW complex is finite iff the total number of its cells is finite.