-- Module: Mathlib.AlgebraicTopology.SimplicialSet.NerveAdjunction
Goal:
X : Truncated 2
C D : Type u
inst : SmallCategory C
inst_1 : SmallCategory D
φ : X ⟶ Functor.obj (truncation 2) (nerve C)
s :
  X.obj (op (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌ ⋯))
obtain :
  ∀
    (x₀ x₁ :
      X.obj (op (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ 2) ⦋0⦌ Edge._proof_1)))
    (f : Edge x₀ x₁),
    Eq (α :=
      (fun (X : Type u) ↦ X)
        (Functor.obj (C := (SimplexCategory.Truncated (HAdd.hAdd (α := ℕ) 1 1))ᵒᵖ)
          (Functor.obj (truncation 2) (nerve C))
          (op
            (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
              ⋯))))
      ((ConcreteCategory.hom (FC := TypeCat.Fun)
              ((homToNerveMk (descOfTruncation φ)).app
                (op
                  (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1)
                    ⦋1⦌ ⋯))) :
            (a : (fun (X : Type u) ↦ X) (X.obj (op { obj := ⦋1⦌, property := ⋯ }))) →
              (fun (X : Type u) ↦ X) (((truncation 2).obj (nerve C)).obj (op { obj := ⦋1⦌, property := ⋯ })))
          f.edge :
        (fun (X : Type u) ↦ X)
          (Functor.obj (C := (SimplexCategory.Truncated (HAdd.hAdd (α := ℕ) 1 1))ᵒᵖ)
            (Functor.obj (truncation 2) (nerve C))
            (op
              (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
                ⋯))))
      ((ConcreteCategory.hom (FC := TypeCat.Fun)
              (φ.app
                (op
                  (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1)
                    ⦋1⦌ ⋯))) :
            (a : (fun (X : Type u) ↦ X) (X.obj (op { obj := ⦋1⦌, property := ⋯ }))) →
              (fun (X : Type u) ↦ X) (((truncation 2).obj (nerve C)).obj (op { obj := ⦋1⦌, property := ⋯ })))
          f.edge :
        (fun (X : Type u) ↦ X)
          (Functor.obj (C := (SimplexCategory.Truncated (HAdd.hAdd (α := ℕ) 1 1))ᵒᵖ)
            (Functor.obj (truncation 2) (nerve C))
            (op
              (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
                ⋯))))
⊢ Eq (α :=
    (fun (X : Type u) ↦ X)
      (Functor.obj (C := (SimplexCategory.Truncated (HAdd.hAdd (α := ℕ) 1 1))ᵒᵖ) (Functor.obj (truncation 2) (nerve C))
        (op
          (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌ ⋯))))
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
            ((homToNerveMk (descOfTruncation φ)).app
              (op
                (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
                  ⋯))) :
          (a : (fun (X : Type u) ↦ X) (X.obj (op { obj := ⦋1⦌, property := ⋯ }))) →
            (fun (X : Type u) ↦ X) (((truncation 2).obj (nerve C)).obj (op { obj := ⦋1⦌, property := ⋯ })))
        s :
      (fun (X : Type u) ↦ X)
        (Functor.obj (C := (SimplexCategory.Truncated (HAdd.hAdd (α := ℕ) 1 1))ᵒᵖ)
          (Functor.obj (truncation 2) (nerve C))
          (op
            (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
              ⋯))))
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
            (φ.app
              (op
                (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
                  ⋯))) :
          (a : (fun (X : Type u) ↦ X) (X.obj (op { obj := ⦋1⦌, property := ⋯ }))) →
            (fun (X : Type u) ↦ X) (((truncation 2).obj (nerve C)).obj (op { obj := ⦋1⦌, property := ⋯ })))
        s :
      (fun (X : Type u) ↦ X)
        (Functor.obj (C := (SimplexCategory.Truncated (HAdd.hAdd (α := ℕ) 1 1))ᵒᵖ)
          (Functor.obj (truncation 2) (nerve C))
          (op
            (ObjectProperty.FullSubcategory.mk (P := fun (a : SimplexCategory) ↦ a.len ≤ HAdd.hAdd (α := ℕ) 1 1) ⦋1⦌
              ⋯))))

Tactic:
obtain ⟨x₀, x₁, f, rfl⟩ := Edge.exists_of_simplex s

Premises used: SSet.Truncated.Edge.exists_of_simplex, rfl