mathlib documentation

control.​bitraversable.​instances

control.​bitraversable.​instances

bitraversable instances

Instances

References

Tags

traversable bitraversable functor bifunctor applicative

def prod.​bitraverse {F : Type u → Type u} [applicative F] {α : Type u_1} {α' : Type u} {β : Type u_2} {β' : Type u} :
(α → F α') → (β → F β') → α × β → F (α' × β')

Equations
@[instance]

Equations
def sum.​bitraverse {F : Type u → Type u} [applicative F] {α : Type u_1} {α' : Type u} {β : Type u_2} {β' : Type u} :
(α → F α') → (β → F β') → α ⊕ β → F (α' ⊕ β')

Equations
@[instance]

Equations
def const.​bitraverse {F : Type u → Type u} [applicative F] {α : Type u_1} {α' : Type u} {β : Type u_2} {β' : Type u} :
(α → F α') → (β → F β') → functor.const α β → F (functor.const α' β')

Equations
@[instance]

Equations
def flip.​bitraverse {t : Type u → Type u → Type u} [bitraversable t] {F : Type u → Type u} [applicative F] {α α' β β' : Type u} :
(α → F α') → (β → F β') → flip t α β → F (flip t α' β')

Equations
@[instance]
def bitraversable.​traversable {t : Type u → Type u → Type u} [bitraversable t] {α : Type u} :

Equations
def bicompl.​bitraverse {t : Type u → Type u → Type u} [bitraversable t] (F G : Type u → Type u) [traversable F] [traversable G] {m : Type u → Type u} [applicative m] {α β α' β' : Type u} :
(α → m β) → (α' → m β') → function.bicompl t F G α α' → m (function.bicompl t F G β β')

Equations
@[instance]
def function.​bicompl.​bitraversable {t : Type u → Type u → Type u} [bitraversable t] (F G : Type u → Type u) [traversable F] [traversable G] :

Equations
def bicompr.​bitraverse {t : Type u → Type u → Type u} [bitraversable t] (F : Type u → Type u) [traversable F] {m : Type u → Type u} [applicative m] {α β α' β' : Type u} :
(α → m β) → (α' → m β') → function.bicompr F t α α' → m (function.bicompr F t β β')

Equations