case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
⊢ ∀ {X Y Z : C} (e : X ≅ Y) (f : Y ⟶ Z), P f → P (e.hom ≫ f)

case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
⊢ ∀ {X Y Z : C} (e : Y ≅ Z) (f : X ⟶ Y), P f → P (f ≫ e.hom)
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
⊢ RespectsIso P
constructor
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : X ≅ Y
f : Y ⟶ Z
hf : P f
⊢ P (e.hom ≫ f)
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
⊢ ∀ {X Y Z : C} (e : X ≅ Y) (f : Y ⟶ Z), P f → P (e.hom ≫ f)
intro X Y Z e f hf
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : X ≅ Y
f : Y ⟶ Z
hf : P f
⊢ e.symm.hom ≫ (Arrow.mk (e.hom ≫ f)).hom = (Arrow.mk f).hom ≫ (Iso.refl (Arrow.mk f).right).hom
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : X ≅ Y
f : Y ⟶ Z
hf : P f
⊢ P (e.hom ≫ f)
refine' hP (Arrow.mk f) (Arrow.mk (e.hom ≫ f)) (Arrow.isoMk e.symm (Iso.refl _) _) hf
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : X ≅ Y
f : Y ⟶ Z
hf : P f
⊢ e.inv ≫ e.hom ≫ f = f ≫ 𝟙 Z
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : X ≅ Y
f : Y ⟶ Z
hf : P f
⊢ e.symm.hom ≫ (Arrow.mk (e.hom ≫ f)).hom = (Arrow.mk f).hom ≫ (Iso.refl (Arrow.mk f).right).hom
dsimp
no goals
case left
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : X ≅ Y
f : Y ⟶ Z
hf : P f
⊢ e.inv ≫ e.hom ≫ f = f ≫ 𝟙 Z
simp only [Iso.inv_hom_id_assoc, Category.comp_id]
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : Y ≅ Z
f : X ⟶ Y
hf : P f
⊢ P (f ≫ e.hom)
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
⊢ ∀ {X Y Z : C} (e : Y ≅ Z) (f : X ⟶ Y), P f → P (f ≫ e.hom)
intro X Y Z e f hf
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : Y ≅ Z
f : X ⟶ Y
hf : P f
⊢ (Iso.refl (Arrow.mk f).left).hom ≫ (Arrow.mk (f ≫ e.hom)).hom = (Arrow.mk f).hom ≫ e.hom
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : Y ≅ Z
f : X ⟶ Y
hf : P f
⊢ P (f ≫ e.hom)
refine' hP (Arrow.mk f) (Arrow.mk (f ≫ e.hom)) (Arrow.isoMk (Iso.refl _) e _) hf
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : Y ≅ Z
f : X ⟶ Y
hf : P f
⊢ 𝟙 X ≫ f ≫ e.hom = f ≫ e.hom
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : Y ≅ Z
f : X ⟶ Y
hf : P f
⊢ (Iso.refl (Arrow.mk f).left).hom ≫ (Arrow.mk (f ≫ e.hom)).hom = (Arrow.mk f).hom ≫ e.hom
dsimp
no goals
case right
C : Type u
inst✝¹ : Category C
D : Type ?u.17335
inst✝ : Category D
P : MorphismProperty C
hP : ∀ (f g : Arrow C), (f ≅ g) → P f.hom → P g.hom
X Y Z : C
e : Y ≅ Z
f : X ⟶ Y
hf : P f
⊢ 𝟙 X ≫ f ≫ e.hom = f ≫ e.hom
simp only [Category.id_comp]