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
    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_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) :
            @[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) :
            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)) :
                  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_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) :
                    @[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) :
                    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]