Documentation

Mathlib.Data.Option.Defs

Extra definitions on Option #

This file defines more operations involving Option α. Lemmas about them are located in other files under Mathlib/Data/Option.lean. Other basic operations on Option are defined in the core library.

def Option.traverse {F : Type u → Type v} [Applicative F] {α : Type u_1} {β : Type u} (f : αF β) :
Option αF (Option β)

Traverse an object of Option α with a function f : α → F β for an applicative F.

Equations
def Option.elim' {α : Type u_1} {β : Type u_2} (b : β) (f : αβ) :
Option αβ

An elimination principle for Option. It is a nondependent version of Option.rec.

Equations
@[simp]
theorem Option.elim'_none {α : Type u_1} {β : Type u_2} (b : β) (f : αβ) :
@[simp]
theorem Option.elim'_some {α : Type u_1} {β : Type u_2} {a : α} (b : β) (f : αβ) :
Option.elim' b f (some a) = f a
@[simp]
theorem Option.elim'_none_some {α : Type u_1} {β : Type u_2} (f : Option αβ) :
theorem Option.elim'_eq_elim {α : Type u_3} {β : Type u_4} (b : β) (f : αβ) (a : Option α) :
Option.elim' b f a = a.elim b f
@[reducible, inline]
abbrev Option.iget {α : Type u_1} [Inhabited α] :
Option αα

Inhabited get function. Returns a if the input is some a, otherwise returns default.

Equations
theorem Option.iget_some {α : Type u_1} [Inhabited α] {a : α} :
(some a).iget = a
instance Option.merge_isCommutative {α : Type u_1} (f : ααα) [Std.Commutative f] :
instance Option.merge_isAssociative {α : Type u_1} (f : ααα) [Std.Associative f] :
instance Option.merge_isIdempotent {α : Type u_1} (f : ααα) [Std.IdempotentOp f] :
instance Option.merge_isId {α : Type u_1} (f : ααα) :
@[deprecated Option.merge_isCommutative (since := "2025-04-04")]
theorem Option.liftOrGet_isCommutative {α : Type u_1} (f : ααα) [Std.Commutative f] :

Alias of Option.merge_isCommutative.

@[deprecated Option.merge_isAssociative (since := "2025-04-04")]
theorem Option.liftOrGet_isAssociative {α : Type u_1} (f : ααα) [Std.Associative f] :

Alias of Option.merge_isAssociative.

@[deprecated Option.merge_isIdempotent (since := "2025-04-04")]
theorem Option.liftOrGet_isIdempotent {α : Type u_1} (f : ααα) [Std.IdempotentOp f] :

Alias of Option.merge_isIdempotent.

@[deprecated Option.merge_isId (since := "2025-04-04")]
theorem Option.liftOrGet_isId {α : Type u_1} (f : ααα) :

Alias of Option.merge_isId.