Documentation

Projects.Util.Sum

@[simp]
theorem Sum.pure_eq {α β : Type} {x : β} :
pure x = inr x
@[simp]
theorem Sum.bind_eq_inl_iff {α β γ : Type} {m : α β} {f : βα γ} {x : α} :
m >>= f = inl x m = inl x ∃ (y : β), m = inr y f y = inl x
@[simp]
theorem Sum.bind_eq_inr_iff {α β γ : Type} {m : α β} {f : βα γ} {x : γ} :
m >>= f = inr x ∃ (y : β), m = inr y f y = inr x
@[simp]
theorem Sum.fmap_eq_inl_iff {α β γ : Type} {m : α β} {f : βγ} {x : α} :
f <$> m = inl x m = inl x
@[simp]
theorem Sum.fmap_eq_inr_iff {α β γ : Type} {m : α β} {f : βγ} {x : γ} :
f <$> m = inr x ∃ (y : β), m = inr y f y = x