Module: Mathlib.Condensed.Light.Sequence

Goal state before:
pp: case right
R : Type
inst✝¹ : CommRing R
X : LightCondMod R
S T : LightProfinite
π : T ⟶ S ⊗ ℕ∪{∞}
inst✝ : Epi ((lightProfiniteToLightCondSet ⋙ free R).map (cover π))
g : (lightProfiniteToLightCondSet ⋙ free R).obj T ⟶ X
r_inf : T ⟶ LightProfinite.fibre ∞ (π ≫ snd S ℕ∪{∞})
σ : S ⟶ LightProfinite.fibre ∞ (π ≫ snd S ℕ∪{∞})
hr : LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫ r_inf = 𝟙 (LightProfinite.fibre ∞ (π ≫ snd S ℕ∪{∞}))
⊢ ((lightProfiniteToLightCondSet ⋙ free R).mapCocone
              (coproductCocone T
                (CompHausLike.pullback (LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫ π)
                  (LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫ π)))).ι.app
        { as := WalkingPair.right } ≫
      (lightProfiniteToLightCondSet ⋙ free R).map (cover π) ≫
        (parallelPair (lightProfiniteToLightCondSet.map (CompHausLike.pullback.fst π π))
                  (lightProfiniteToLightCondSet.map (CompHausLike.pullback.snd π π)) ⋙
                free R).map
            WalkingParallelPairHom.left ≫
          (g - (lightProfiniteToLightCondSet ⋙ free R).map (r_inf ≫ LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞})) ≫ g +
            (lightProfiniteToLightCondSet ⋙ free R).map
                (r_inf ≫
                  LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫
                    π ≫ fst S ℕ∪{∞} ≫ σ ≫ LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞})) ≫
              g) =
    ((lightProfiniteToLightCondSet ⋙ free R).mapCocone
              (coproductCocone T
                (CompHausLike.pullback (LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫ π)
                  (LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫ π)))).ι.app
        { as := WalkingPair.right } ≫
      (lightProfiniteToLightCondSet ⋙ free R).map (cover π) ≫
        (parallelPair (lightProfiniteToLightCondSet.map (CompHausLike.pullback.fst π π))
                  (lightProfiniteToLightCondSet.map (CompHausLike.pullback.snd π π)) ⋙
                free R).map
            WalkingParallelPairHom.right ≫
          (g - (lightProfiniteToLightCondSet ⋙ free R).map (r_inf ≫ LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞})) ≫ g +
            (lightProfiniteToLightCondSet ⋙ free R).map
                (r_inf ≫
                  LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞}) ≫
                    π ≫ fst S ℕ∪{∞} ≫ σ ≫ LightProfinite.fibreIncl ∞ (π ≫ snd S ℕ∪{∞})) ≫
              g)

Tactic:
· -- simp? [← map_comp_assoc, -Functor.map_comp] says:
    simp only [pair_obj_right, mapCocone_ι_app,
      Functor.comp_map, parallelPair_obj_zero, parallelPair_obj_one, parallelPair_map_left,
      Preadditive.comp_add, Preadditive.comp_sub, ← map_comp_assoc, parallelPair_map_right]
    have : cover π = (BinaryCofan.IsColimit.desc' (coproductIsColimit _ _)
        (CompHausLike.pullback.lift _ _ (𝟙 T) (𝟙 T) (by simp))
        (CompHausLike.pullback.lift _ _
          ((CompHausLike.pullback.fst _ _) ≫ LightProfinite.fibreIncl _ _)
          ((pullback.snd _ _) ≫ LightProfinite.fibreIncl _ _)
          (by simp [pullback.condition]))).val := rfl
    -- simp? [this, ← Functor.map_comp] says:
    simp only [this, pair_obj_left, pair_obj_right, BinaryCofan.IsColimit.desc'_coe,
      IsColimit.fac, BinaryCofan.mk_inr, ← Functor.map_comp,
      pullback.lift_fst, IsColimit.fac_assoc, assoc,
      pullback.lift_snd]
    -- simp? [-Functor.map_comp, ← assoc, hr] says:
    simp only [← assoc, hr, id_comp, sub_self, zero_add]
    simp [pullback.condition]

Goal state after: