Documentation

Mathlib.Topology.Covering.Quotient

Covering maps to quotients by free and properly discontinuous group actions #

structure IsAddQuotientCoveringMap {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_4) [AddGroup G] [AddAction G E] extends Topology.IsQuotientMap f, ContinuousConstVAdd G E :

A function from a topological space E with an action by a discrete group to another topological space X is a quotient covering map if it is a quotient map, the action is continuous and transitive on fibers, and every point of E has a neighborhood whose translates by the group elements are pairwise disjoint.

Instances For
    structure IsQuotientCoveringMap {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [Group G] [MulAction G E] extends Topology.IsQuotientMap f, ContinuousConstSMul G E :

    A function from a topological space E with an action by a discrete group to another topological space X is a quotient covering map if it is a quotient map, the action is continuous and transitive on fibers, and every point of E has a neighborhood whose translates by the group elements are pairwise disjoint.

    Instances For
      theorem isQuotientCoveringMap_iff {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [Group G] [MulAction G E] :
      IsQuotientCoveringMap f G Topology.IsQuotientMap f ContinuousConstSMul G E (∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) ∀ (e : E), Unhds e, ∀ (g : G), ((fun (x : E) => g x) '' U U).Nonemptyg = 1
      theorem isAddQuotientCoveringMap_iff {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [AddGroup G] [AddAction G E] :
      IsAddQuotientCoveringMap f G Topology.IsQuotientMap f ContinuousConstVAdd G E (∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) ∀ (e : E), Unhds e, ∀ (g : G), ((fun (x : E) => g +ᵥ x) '' U U).Nonemptyg = 0
      theorem IsQuotientCoveringMap.subgroup_congr {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [Group G] [MulAction G E] (S S' : Subgroup G) (eq : S = S') :
      theorem IsAddQuotientCoveringMap.addSubgroup_congr {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [AddGroup G] [AddAction G E] (S S' : AddSubgroup G) (eq : S = S') :
      theorem IsQuotientCoveringMap.map_smul {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (g : G) {e : E} :
      f (g e) = f e
      theorem IsAddQuotientCoveringMap.map_vadd {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsAddQuotientCoveringMap f G) (g : G) {e : E} :
      f (g +ᵥ e) = f e
      theorem IsQuotientCoveringMap.isCancelSMul {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) :

      The group action on the domain of a quotient covering map is free.

      theorem IsAddQuotientCoveringMap.isCancelVAdd {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsAddQuotientCoveringMap f G) :
      theorem IsQuotientCoveringMap.homeomorph_comp {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) {Y : Type u_4} [TopologicalSpace Y] (φ : X ≃ₜ Y) :
      theorem IsAddQuotientCoveringMap.homeomorph_comp {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsAddQuotientCoveringMap f G) {Y : Type u_4} [TopologicalSpace Y] (φ : X ≃ₜ Y) :
      @[simp]
      theorem IsQuotientCoveringMap.homeomorph_comp_iff {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] {Y : Type u_4} [TopologicalSpace Y] (φ : X ≃ₜ Y) :
      @[simp]
      theorem IsAddQuotientCoveringMap.homeomorph_comp_iff {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] {Y : Type u_4} [TopologicalSpace Y] (φ : X ≃ₜ Y) :
      noncomputable def IsQuotientCoveringMap.fiberEquivGroup {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) {x : X} (e : ↑(f ⁻¹' {x})) :
      ↑(f ⁻¹' {x}) G

      Fibers of a quotient covering map by a group G is a G-torsor.

      Equations
      Instances For
        noncomputable def IsAddQuotientCoveringMap.fiberEquivAddGroup {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsAddQuotientCoveringMap f G) {x : X} (e : ↑(f ⁻¹' {x})) :
        ↑(f ⁻¹' {x}) G

        Fibers of a quotient covering map by an additive group G is a G-torsor.

        Equations
        Instances For
          @[simp]
          theorem IsQuotientCoveringMap.fiberEquivGroup_self {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) {x : X} (e : ↑(f ⁻¹' {x})) :
          (hf.fiberEquivGroup e) e = 1
          @[simp]
          theorem IsQuotientCoveringMap.fiberEquivGroup_eq_iff {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) {x : X} (e e' : ↑(f ⁻¹' {x})) (g : G) :
          (hf.fiberEquivGroup e) e' = g e' = g e
          @[simp]
          theorem IsQuotientCoveringMap.fiberEquivGroup_smul_self {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) {x : X} (e : ↑(f ⁻¹' {x})) {e' : ↑(f ⁻¹' {x})} :
          (hf.fiberEquivGroup e) e' e = e'
          @[implicit_reducible]
          def IsQuotientCoveringMap.mulActionFiber {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) :
          MulAction G ↑(f ⁻¹' {x})

          The action of G restricted to the fiber.

          Equations
          Instances For
            @[simp]
            theorem IsQuotientCoveringMap.coe_mulActionFiber_smul {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) (g : G) (e : ↑(f ⁻¹' {x})) :
            ↑(g e) = g e
            def IsQuotientCoveringMap.toPermFiber {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) :

            A quotient covering map f induces a permutation action on each fiber.

            Equations
            Instances For
              @[simp]
              theorem IsQuotientCoveringMap.toPermFiber_apply_apply_coe {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) (a : G) (x✝ : ↑(f ⁻¹' {x})) :
              (((hf.toPermFiber x) a) x✝) = a x✝
              @[simp]
              theorem IsQuotientCoveringMap.toPermFiber_apply_symm_apply_coe {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) (a : G) (x✝ : ↑(f ⁻¹' {x})) :
              ((Equiv.symm ((hf.toPermFiber x) a)) x✝) = a⁻¹ x✝
              theorem IsQuotientCoveringMap.toPermFiber_ext {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) (e : ↑(f ⁻¹' {x})) {g g' : G} (eq : ((hf.toPermFiber x) g) e = ((hf.toPermFiber x) g') e) :
              g = g'
              theorem IsQuotientCoveringMap.toPermFiber_injective {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) (x : X) :
              theorem IsQuotientCoveringMap.exists_toPermFiber_eq {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientCoveringMap f G) {x : X} (e e' : ↑(f ⁻¹' {x})) :
              ∃ (g : G), ((hf.toPermFiber x) g) e = e'
              noncomputable def Topology.IsQuotientMap.trivializationOfSMulDisjoint {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientMap f) [ContinuousConstSMul G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g x) '' U U).Nonemptyg = 1) :

              If a group G acts on a space E and U is an open subset disjoint from all other G-translates of itself, and p is a quotient map by this action, then p admits a Bundle.Trivialization over the base set p(U).

              Equations
              Instances For
                noncomputable def Topology.IsQuotientMap.trivializationOfVAddDisjoint {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsQuotientMap f) [ContinuousConstVAdd G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g +ᵥ x) '' U U).Nonemptyg = 0) :

                If a group G acts on a space E and U is an open subset disjoint from all other G-translates of itself, and p is a quotient map by this action, then p admits a Bundle.Trivialization over the base set p(U).

                Equations
                Instances For
                  @[simp]
                  theorem Topology.IsQuotientMap.trivializationOfVAddDisjoint_baseSet {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsQuotientMap f) [ContinuousConstVAdd G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g +ᵥ x) '' U U).Nonemptyg = 0) :
                  (hf.trivializationOfVAddDisjoint hfG U open_U disjoint).baseSet = f '' U
                  @[simp]
                  theorem Topology.IsQuotientMap.trivializationOfVAddDisjoint_source {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsQuotientMap f) [ContinuousConstVAdd G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g +ᵥ x) '' U U).Nonemptyg = 0) :
                  (hf.trivializationOfVAddDisjoint hfG U open_U disjoint).source = f ⁻¹' f '' U
                  @[simp]
                  theorem Topology.IsQuotientMap.trivializationOfSMulDisjoint_baseSet {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientMap f) [ContinuousConstSMul G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g x) '' U U).Nonemptyg = 1) :
                  (hf.trivializationOfSMulDisjoint hfG U open_U disjoint).baseSet = f '' U
                  @[simp]
                  theorem Topology.IsQuotientMap.trivializationOfVAddDisjoint_target {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsQuotientMap f) [ContinuousConstVAdd G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g +ᵥ x) '' U U).Nonemptyg = 0) :
                  (hf.trivializationOfVAddDisjoint hfG U open_U disjoint).target = (f '' U) ×ˢ Set.univ
                  @[simp]
                  theorem Topology.IsQuotientMap.trivializationOfSMulDisjoint_target {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientMap f) [ContinuousConstSMul G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g x) '' U U).Nonemptyg = 1) :
                  (hf.trivializationOfSMulDisjoint hfG U open_U disjoint).target = (f '' U) ×ˢ Set.univ
                  @[simp]
                  theorem Topology.IsQuotientMap.trivializationOfSMulDisjoint_source {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientMap f) [ContinuousConstSMul G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) [TopologicalSpace G] [DiscreteTopology G] (U : Set E) (open_U : IsOpen U) (disjoint : ∀ (g : G), ((fun (x : E) => g x) '' U U).Nonemptyg = 1) :
                  (hf.trivializationOfSMulDisjoint hfG U open_U disjoint).source = f ⁻¹' f '' U
                  theorem Topology.IsQuotientMap.isCoveringMapOn_of_smul_disjoint {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientMap f) [ContinuousConstSMul G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) (disjoint : ∀ (e : E), Unhds e, ∀ (g : G), ((fun (x : E) => g x) '' U U).Nonemptyg e = e) :
                  theorem Topology.IsQuotientMap.isCoveringMapOn_of_vadd_disjoint {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsQuotientMap f) [ContinuousConstVAdd G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) (disjoint : ∀ (e : E), Unhds e, ∀ (g : G), ((fun (x : E) => g +ᵥ x) '' U U).Nonemptyg +ᵥ e = e) :
                  theorem Topology.IsQuotientMap.isCoveringMapOn_of_properlyDiscontinuousSMul {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [Group G] [MulAction G E] (hf : IsQuotientMap f) [ContinuousConstSMul G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ MulAction.orbit G e₂) [ProperlyDiscontinuousSMul G E] [LocallyCompactSpace E] [T2Space E] :
                  theorem Topology.IsQuotientMap.isCoveringMapOn_of_properlyDiscontinuousVAdd {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} {G : Type u_3} [AddGroup G] [AddAction G E] (hf : IsQuotientMap f) [ContinuousConstVAdd G E] (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁ AddAction.orbit G e₂) [ProperlyDiscontinuousVAdd G E] [LocallyCompactSpace E] [T2Space E] :
                  theorem Topology.IsQuotientMap.isQuotientCoveringMap_of_subgroup {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} (hf : IsQuotientMap f) [Group E] [IsTopologicalGroup E] (G : Subgroup E) (hG : IsDiscrete G) (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₂ * e₁⁻¹ G) :
                  theorem Topology.IsQuotientMap.isAddQuotientCoveringMap_of_addSubgroup {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} (hf : IsQuotientMap f) [AddGroup E] [IsTopologicalAddGroup E] (G : AddSubgroup E) (hG : IsDiscrete G) (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₂ + -e₁ G) :
                  theorem Topology.IsQuotientMap.isQuotientCoveringMap_of_subgroupOp {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} (hf : IsQuotientMap f) [Group E] [IsTopologicalGroup E] (G : Subgroup E) (hG : IsDiscrete G) (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ e₁⁻¹ * e₂ G) :
                  theorem Topology.IsQuotientMap.isAddQuotientCoveringMap_of_addSubgroupOp {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] {f : EX} (hf : IsQuotientMap f) [AddGroup E] [IsTopologicalAddGroup E] (G : AddSubgroup E) (hG : IsDiscrete G) (hfG : ∀ {e₁ e₂ : E}, f e₁ = f e₂ -e₁ + e₂ G) :
                  theorem IsQuotientCoveringMap.isCoveringMap {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [Group G] [MulAction G E] (h : IsQuotientCoveringMap f G) :
                  theorem isQuotientCoveringMap_iff_isCoveringMap_and {E : Type u_1} {X : Type u_2} [TopologicalSpace E] [TopologicalSpace X] (f : EX) (G : Type u_3) [Group G] [MulAction G E] :