Lemma subst_slice_as_bind_slice_agrees {Γ: HSET_over_sort} (N : wellsorted_in Γ) (M : wellsorted_in (sorted_option_functor (sort_in N) Γ)) : subst_slice_as_bind_slice N M =subst_slice N M. Proof. unfold subst_slice_as_bind_slice, subst_slice. unfold bind_slice, monadSubstGen_instantiated. apply (maponpaths (λ f, f M)). apply maponpaths. unfold monadSubstGen, bind_instantiated. apply maponpaths. now apply eq_mor_slicecat. Qed.
Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.Categories.HSET.Core. Require Import UniMath.CategoryTheory.Categories.HSET.Colimits. Require Import UniMath.CategoryTheory.Categories.HSET.Limits. Require Import UniMath.CategoryTheory.Categories.HSET.Slice. Require Import UniMath.CategoryTheory.slicecat.