{A} {D : A -> Type} `{DHasEquivs A D} {a b : A} {f : a $<~> b} {g : b $-> a} {p : g $o f $== Id a} {a' : D a} {b' : D b} (f' : DCatEquiv f a' b') (g' : DHom g b' a') (p' : DGpdHom p (g' $o' f') (DId a')) : DGpdHom (cate_inverse_retr f g p) (dcate_fun f'^-1$') g'. Proof. refine ((dcat_idl _)^$' $@' _). refine ((p'^$' $@R' _) $@' _). 1: exact isd0gpd_hom. refine (dcat_assoc _ _ _ $@' _). refine (_ $@L' dcate_isretr f' $@' _). apply dcat_idr. Defined.
Require Import Basics.Overture. Require Import Basics.Tactics. Require Import Basics.Equivalences. Require Import Types.Sigma. Require Import WildCat.Core. Require Import WildCat.Displayed. Require Import WildCat.Equiv.