proposition: Proposition spans_double_cat_hor_comp_laws : hor_comp_laws spans_double_cat_hor_comp_data.
proof: Proof. split. - intros a₁ a₂ a₃ h₁ h₂. use span_sqr_eq. use (MorphismsIntoPullbackEqual (isPullback_Pullback (PC _ _ _ _ _))) ; cbn. + unfold mor_of_comp_span_mor. rewrite PullbackArrow_PullbackPr1 ; cbn. rewrite id_left, id_right. apply idpath. + unfold mor_of_comp_span_mor. rewrite PullbackArrow_PullbackPr2 ; cbn. rewrite id_left, id_right. apply idpath. - intros. use span_sqr_eq. use (MorphismsIntoPullbackEqual (isPullback_Pullback (PC _ _ _ _ _))) ; cbn. + rewrite !assoc'. unfold mor_of_comp_span_mor. rewrite !PullbackArrow_PullbackPr1 ; cbn. rewrite !assoc. rewrite !PullbackArrow_PullbackPr1. rewrite !assoc'. apply idpath. + rewrite !assoc'. unfold mor_of_comp_span_mor. rewrite !PullbackArrow_PullbackPr2 ; cbn. rewrite !assoc. rewrite !PullbackArrow_PullbackPr2. rewrite !assoc'. apply idpath. Qed.
imports: UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Prelude UniMath.CategoryTheory.Core.Setcategories UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence UniMath.CategoryTheory.TwoSidedDisplayedCats.Strictness UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.Spans UniMath.CategoryTheory.Limits.Pullbacks UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics UniMath.Bicategories.DoubleCategories.Core.DoubleCats UniMath.Bicategories.DoubleCategories.Core.UnivalentDoubleCats UniMath.Bicategories.DoubleCategories.Core.PseudoDoubleSetCats UniMath.Bicategories.DoubleCategories.Core.CompanionsAndConjoints