Documentation

Init.Control.Lawful.MonadLift.Instances

instance instLawfulMonadLiftTOfLawfulMonadLift (m : Type u → Type v) (n : Type u → Type w) (o : Type u → Type x) [Monad m] [Monad n] [Monad o] [MonadLift n o] [MonadLiftT m n] [LawfulMonadLift n o] [LawfulMonadLiftT m n] :
instance StateT.instLawfulMonadLift {m : Type u → Type v} [Monad m] [LawfulMonad m] {σ : Type u} :
instance ReaderT.instLawfulMonadLift {m : Type u → Type v} [Monad m] {ρ : Type u} :
@[simp]
theorem OptionT.lift_pure {m : Type u → Type v} [Monad m] [LawfulMonad m] {α : Type u} (a : α) :
@[simp]
theorem OptionT.lift_bind {m : Type u → Type v} [Monad m] [LawfulMonad m] {α β : Type u} (ma : m α) (f : αm β) :
OptionT.lift (ma >>= f) = do let aOptionT.lift ma OptionT.lift (f a)
@[simp]
theorem ExceptT.lift_bind {m : Type u → Type v} [Monad m] [LawfulMonad m] {α β ε : Type u} (ma : m α) (f : αm β) :
ExceptT.lift (ma >>= f) = do let aExceptT.lift ma ExceptT.lift (f a)
instance ExceptT.instLawfulMonadLift {m : Type u → Type v} [Monad m] [LawfulMonad m] {ε : Type u} :
instance StateRefT'.instLawfulMonadLift {ω σ : Type} {m : TypeType} [Monad m] :