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
    Instances For
      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
        Instances For
          @[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
            Instances For
              theorem Option.iget_some {α : Type u_1} [Inhabited α] {a : α} :
              (some a).iget = a
              @[deprecated Option.commutative_merge (since := "2025-06-03")]
              theorem Option.merge_isCommutative {α : Type u_1} (f : ααα) [Std.Commutative f] :
              @[deprecated Option.associative_merge (since := "2025-06-03")]
              theorem Option.merge_isAssociative {α : Type u_1} (f : ααα) [Std.Associative f] :
              @[deprecated Option.idempotentOp_merge (since := "2025-06-03")]
              theorem Option.merge_isIdempotent {α : Type u_1} (f : ααα) [Std.IdempotentOp f] :
              @[deprecated Option.lawfulIdentity_merge (since := "2025-06-03")]
              theorem 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.