Documentation

Mathlib.AlgebraicTopology.SimplicialSet.KanComplex.MulStruct

Pointed simplices #

Given a simplicial set X, n : ℕ and x : X _⦋0⦌, we introduce the type X.PtSimplex n x of morphisms Δ[n] ⟶ X which send ∂Δ[n] to x. We introduce structures PtSimplex.RelStruct and PtSimplex.MulStruct which will be used in the definition of homotopy groups of Kan complexes.

@[reducible, inline]
abbrev SSet.PtSimplex (X : SSet) (n : ℕ) (x : X.obj (Opposite.op { len := 0 })) :

Given a simplicial set X, n : ℕ and x : X _⦋0⦌, this is the type of morphisms Δ[n] ⟶ X which are constant with value x on the boundary.

Equations
Instances For
    @[implicit_reducible]
    def SSet.PtSimplex.equiv₀ {X : SSet} (x : X.obj (Opposite.op { len := 0 })) :
    X.PtSimplex 0 x ≃ X.obj (Opposite.op { len := 0 })

    The bijection X.PtSimplex 0 x ≃ X _⦋0⦌.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem SSet.PtSimplex.equiv₀_apply {X : SSet} (x : X.obj (Opposite.op { len := 0 })) (f : X.PtSimplex 0 x) :
      @[simp]
      theorem SSet.PtSimplex.map_eq_const_equiv₀ {X : SSet} {x : X.obj (Opposite.op { len := 0 })} (s : X.PtSimplex 0 x) :
      s.map = const ((equiv₀ x) s)
      theorem SSet.PtSimplex.comp_map_eq_const {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (s : X.PtSimplex n x) {Y : SSet} (φ : Y ⟶ stdSimplex.obj { len := n }) [Y.HasDimensionLT n] :
      @[simp]
      theorem SSet.PtSimplex.δ_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.PtSimplex (n + 1) x) (i : Fin (n + 2)) :
      def SSet.PtSimplex.opEquiv {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} :

      The bijection between n-simplices of X.op and of X that are constant on the boundary.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[reducible, inline]
        abbrev SSet.PtSimplex.op {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.PtSimplex n x) :

        Given a n-simplex of X that is constant on the boundary, this is the corresponding n-simplex of X.op.

        Equations
        Instances For
          @[reducible, inline]
          abbrev SSet.PtSimplex.unop {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.op.PtSimplex n (opObjEquiv.symm x)) :
          X.PtSimplex n x

          Given a n-simplex of X.op that is constant on the boundary, this is the corresponding n-simplex of X.

          Equations
          Instances For
            structure SSet.PtSimplex.RelStruct {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f g : X.PtSimplex n x) (i : Fin (n + 1)) :

            For each i : Fin (n + 1), this is a variant of the homotopy relation on n-simplices that are constant on the boundary. Simplices f and g are related if they appear respectively as the i.castSucc and i.succ faces of a n + 1-simplex such that all the other faces are constant.

            Instances For
              @[simp]
              theorem SSet.PtSimplex.RelStruct.δ_map_of_lt_assoc {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} {i : Fin (n + 1)} (self : f.RelStruct g i) (j : Fin (n + 2)) (hj : j < i.castSucc) {Z : SSet} (h : X ⟶ Z) :
              @[simp]
              theorem SSet.PtSimplex.RelStruct.δ_map_of_gt_assoc {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} {i : Fin (n + 1)} (self : f.RelStruct g i) (j : Fin (n + 2)) (hj : i.succ < j) {Z : SSet} (h : X ⟶ Z) :
              def SSet.PtSimplex.RelStruct.refl {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.PtSimplex n x) (i : Fin (n + 1)) :
              f.RelStruct f i

              RelStruct is reflexive.

              Equations
              Instances For
                @[simp]
                theorem SSet.PtSimplex.RelStruct.refl_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.PtSimplex n x) (i : Fin (n + 1)) :
                def SSet.PtSimplex.RelStruct.copy {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} {i : Fin (n + 1)} (r : f.RelStruct g i) {f' g' : X.PtSimplex n x} (hf : f = f') (hg : g = g') :
                f'.RelStruct g' i

                The RelStruct f' g' i deduced from r : RelStruct f g i when f = f' and g = g'.

                Equations
                • r.copy hf hg = { map := r.map, δ_castSucc_map := ⋯, δ_succ_map := ⋯, δ_map_of_lt := ⋯, δ_map_of_gt := ⋯ }
                Instances For
                  @[simp]
                  theorem SSet.PtSimplex.RelStruct.copy_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} {i : Fin (n + 1)} (r : f.RelStruct g i) {f' g' : X.PtSimplex n x} (hf : f = f') (hg : g = g') :
                  (r.copy hf hg).map = r.map
                  def SSet.PtSimplex.RelStruct.ofEq {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} (h : f = g) (i : Fin (n + 1)) :
                  f.RelStruct g i

                  The RelStruct f g i deduced from an equality f = g.

                  Equations
                  Instances For
                    @[simp]
                    theorem SSet.PtSimplex.RelStruct.ofEq_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} (h : f = g) (i : Fin (n + 1)) :
                    @[reducible, inline]
                    abbrev SSet.PtSimplex.RelStruct₀ {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f g : X.PtSimplex n x) :

                    One of the variants of the homotopy relation on n-simplices that are constant on the boundary. Simplices f and g are related if they appear respectively as the zeroth and first faces of a n + 1-simplex such that all the other faces are constant.

                    Equations
                    Instances For
                      @[implicit_reducible]

                      In dimension 0, the type RelStruct₀ identify to a type of edges between 0-simplices.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem SSet.PtSimplex.RelStruct₀.equiv₀_apply {X : SSet} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex 0 x} (h : f.RelStruct₀ g) :
                        structure SSet.PtSimplex.MulStruct {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f g fg : X.PtSimplex n x) (i : Fin n) :

                        For each i : Fin n, this structure is a candidate for the relation saying that fg is the product of f and g in the homotopy group (of a Kan complex). It is so if g, fg and f are respectively the i.castSucc.castSucc, i.castSucc.succ and i.succ.succ faces of a n + 1-simplex such that all the other faces are constant. (The multiplication on homotopy groups will be defined using i := Fin.last _, but in general, this structure is useful in order to obtain properties of RelStruct.)

                        Instances For
                          @[simp]
                          theorem SSet.PtSimplex.MulStruct.δ_map_of_gt_assoc {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g fg : X.PtSimplex n x} {i : Fin n} (self : f.MulStruct g fg i) (j : Fin (n + 2)) (hj : i.succ.succ < j) {Z : SSet} (h : X ⟶ Z) :
                          @[simp]
                          theorem SSet.PtSimplex.MulStruct.δ_map_of_lt_assoc {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g fg : X.PtSimplex n x} {i : Fin n} (self : f.MulStruct g fg i) (j : Fin (n + 2)) (hj : j < i.castSucc.castSucc) {Z : SSet} (h : X ⟶ Z) :
                          def SSet.PtSimplex.MulStruct.op {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g fg : X.PtSimplex n x} {i : Fin n} (h : f.MulStruct g fg i) {j : Fin n} (hij : i.rev = j := by grind) :
                          g.op.MulStruct f.op fg.op j

                          The MulStruct for X.op that is deduced from a MulStruct for the simplicial set X.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem SSet.PtSimplex.MulStruct.op_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g fg : X.PtSimplex n x} {i : Fin n} (h : f.MulStruct g fg i) {j : Fin n} (hij : i.rev = j := by grind) :
                            def SSet.PtSimplex.MulStruct.unop {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g fg : X.PtSimplex n x} {i : Fin n} (h : g.op.MulStruct f.op fg.op i) {j : Fin n} (hij : i.rev = j := by grind) :
                            f.MulStruct g fg j

                            The Mulstruct for a simplicial set X that is deduced from a Mulstruct for X.op.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem SSet.PtSimplex.MulStruct.unop_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g fg : X.PtSimplex n x} {i : Fin n} (h : g.op.MulStruct f.op fg.op i) {j : Fin n} (hij : i.rev = j := by grind) :

                              If f and g are in X.PtSimplex n x, then RelStruct f g i.castSucc identifies to MulStruct .const f g i.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                def SSet.PtSimplex.relStructSuccEquivMulStruct {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} {i : Fin n} :

                                If f and g are in X.PtSimplex n x, then RelStruct f g i.succ identifies to MulStruct g .const f i.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[simp]
                                  theorem SSet.PtSimplex.relStructSuccEquivMulStruct_apply_map {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} {f g : X.PtSimplex n x} {i : Fin n} (h : f.RelStruct g i.succ) :
                                  def SSet.PtSimplex.MulStruct.oneMul {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.PtSimplex n x) (i : Fin n) :

                                  Given f : X.PtSimplex n x and i : Fin n (note that this implies n ≠ 0), this is the term in MulStruct .const f f i corresponding to stdSimplex.σ i.castSucc ≫ f.map.

                                  Equations
                                  Instances For
                                    @[simp]
                                    def SSet.PtSimplex.MulStruct.mulOne {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} (f : X.PtSimplex n x) (i : Fin n) :

                                    Given f : X.PtSimplex n x and i : Fin n (note that this implies n ≠ 0), this is the term in MulStruct f .const f i corresponding to stdSimplex.σ i.succ ≫ f.map.

                                    Equations
                                    Instances For
                                      @[simp]
                                      noncomputable def SSet.PtSimplex.MulStruct.assoc {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {f₀₁ f₁₂ f₂₃ f₀₂ f₁₃ f₀₃ : X.PtSimplex n x} {i : Fin n} (h₀₂ : f₀₁.MulStruct f₁₂ f₀₂ i) (h₁₃ : f₁₂.MulStruct f₂₃ f₁₃ i) (h : f₀₁.MulStruct f₁₃ f₀₃ i) :
                                      f₀₂.MulStruct f₂₃ f₀₃ i

                                      Given f₀₁, f₁₂, f₂₃, f₀₂, f₁₃ and f₀₃ in X.PtSimplex n x, if "the" multiplication of f₀₁ and f₁₂ is f₀₂, the multiplication of f₁₂ and f₂₃ is f₁₃, and the multiplication of f₀₁ and f₁₃ is f₀₃, then the multiplication of f₀₂ and f₂₃ is f₀₃.

                                      Equations
                                      Instances For
                                        noncomputable def SSet.PtSimplex.MulStruct.assoc' {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {f₀₁ f₁₂ f₂₃ f₀₂ f₁₃ f₀₃ : X.PtSimplex n x} {i : Fin n} (h₀₂ : f₀₁.MulStruct f₁₂ f₀₂ i) (h₁₃ : f₁₂.MulStruct f₂₃ f₁₃ i) (h : f₀₂.MulStruct f₂₃ f₀₃ i) :
                                        f₀₁.MulStruct f₁₃ f₀₃ i

                                        Given f₀₁, f₁₂, f₂₃, f₀₂, f₁₃ and f₀₃ in X.PtSimplex n x, if "the" multiplication of f₀₁ and f₁₂ is f₀₂, the multiplication of f₁₂ and f₂₃ is f₁₃, and the multiplication of f₀₂ and f₂₃ is f₀₃, then the multiplication of f₀₁ and f₁₃ is f₀₃.

                                        Equations
                                        Instances For
                                          noncomputable def SSet.PtSimplex.MulStruct.mulOneEqSymm {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {p q : X.PtSimplex (n + 1) x} {i : Fin (n + 1)} (h : p.MulStruct RelativeMorphism.const q i) :

                                          A MulStruct q .const p i structure deduced from a MulStruct p .const q i structure.

                                          Equations
                                          Instances For
                                            noncomputable def SSet.PtSimplex.MulStruct.oneMulEqSymm {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {p q : X.PtSimplex (n + 1) x} {i : Fin (n + 1)} (h : MulStruct RelativeMorphism.const p q i) :

                                            A MulStruct .const q p i structure deduced from a MulStruct .const p q i structure.

                                            Equations
                                            Instances For
                                              noncomputable def SSet.PtSimplex.MulStruct.oneMulEqOfMulOneEq {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {p q : X.PtSimplex (n + 1) x} {i : Fin (n + 1)} (h : p.MulStruct RelativeMorphism.const q i) :

                                              A MulStruct .const p q i structure deduced from a MulStruct p .const q i structure.

                                              Equations
                                              Instances For
                                                noncomputable def SSet.PtSimplex.MulStruct.mulOneEqOfOneMulEq {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {p q : X.PtSimplex (n + 1) x} {i : Fin (n + 1)} (h : MulStruct RelativeMorphism.const p q i) :

                                                A MulStruct p .const q i structure deduced from a MulStruct .const p q i structure.

                                                Equations
                                                Instances For
                                                  noncomputable def SSet.PtSimplex.MulStruct.mulOneEqTrans {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {p q r : X.PtSimplex (n + 1) x} {i : Fin (n + 1)} (h : p.MulStruct RelativeMorphism.const q i) (h' : q.MulStruct RelativeMorphism.const r i) :

                                                  A MulStruct p .const r i structure deduced from MulStruct p .const q i and MulStruct q .const r i structures.

                                                  Equations
                                                  Instances For
                                                    noncomputable def SSet.PtSimplex.MulStruct.oneMulEqTrans {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] {p q r : X.PtSimplex (n + 1) x} {i : Fin (n + 1)} (h : MulStruct RelativeMorphism.const p q i) (h' : MulStruct RelativeMorphism.const q r i) :

                                                    A MulStruct .const p r i structure deduced from MulStruct .const p q i and MulStruct .const q r i structures.

                                                    Equations
                                                    Instances For
                                                      theorem SSet.PtSimplex.MulStruct.nonempty {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] (p q : X.PtSimplex (n + 1) x) (i : Fin (n + 1)) :
                                                      ∃ (r : X.PtSimplex (n + 1) x), Nonempty (p.MulStruct q r i)
                                                      theorem SSet.PtSimplex.MulStruct.exists_left_inverse {X : SSet} {n : ℕ} {x : X.obj (Opposite.op { len := 0 })} [X.KanComplex] (p : X.PtSimplex (n + 1) x) (i : Fin (n + 1)) :
                                                      ∃ (q : X.PtSimplex (n + 1) x), Nonempty (q.MulStruct p RelativeMorphism.const i)