Theorem: CategoryTheory.Limits.parallelPair.ext_inv_app
File: Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y : C
F G : WalkingParallelPair ⥤ C
zero : F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero
one : F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
left :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.left ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.left
right :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.right ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.right
⊢ (X : WalkingParallelPair) → F.obj X ≅ G.obj X
state_after: case zero
C : Type u
inst✝ : Category.{v, u} C
X Y : C
F G : WalkingParallelPair ⥤ C
zero : F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero
one : F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
left :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.left ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.left
right :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.right ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.right
⊢ F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero

case one
C : Type u
inst✝ : Category.{v, u} C
X Y : C
F G : WalkingParallelPair ⥤ C
zero : F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero
one : F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
left :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.left ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.left
right :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.right ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.right
⊢ F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
tactic: rintro ⟨j⟩
state_before: case zero
C : Type u
inst✝ : Category.{v, u} C
X Y : C
F G : WalkingParallelPair ⥤ C
zero : F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero
one : F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
left :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.left ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.left
right :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.right ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.right
⊢ F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero

case one
C : Type u
inst✝ : Category.{v, u} C
X Y : C
F G : WalkingParallelPair ⥤ C
zero : F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero
one : F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
left :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.left ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.left
right :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.right ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.right
⊢ F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
state_after: no goals
tactic: exacts [zero, one]
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y : C
F G : WalkingParallelPair ⥤ C
zero : F.obj CategoryTheory.Limits.WalkingParallelPair.zero ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.zero
one : F.obj CategoryTheory.Limits.WalkingParallelPair.one ≅ G.obj CategoryTheory.Limits.WalkingParallelPair.one
left :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.left ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.left
right :
  F.map CategoryTheory.Limits.WalkingParallelPairHom.right ≫ one.hom =
    zero.hom ≫ G.map CategoryTheory.Limits.WalkingParallelPairHom.right
⊢ ∀ {X Y : WalkingParallelPair} (f : X ⟶ Y),
    F.map f ≫ (WalkingParallelPair.casesOn Y zero one).hom = (WalkingParallelPair.casesOn X zero one).hom ≫ G.map f
state_after: no goals
tactic: rintro _ _ ⟨_⟩ <;> simp [left, right]