Documentation

Mathlib.Data.List.ReduceOption

Properties of List.reduceOption #

In this file we prove basic lemmas about List.reduceOption.

@[simp]
theorem List.reduceOption_cons_of_some {α : Type u_1} (x : α) (l : List (Option α)) :
@[simp]
@[simp]
theorem List.reduceOption_map {α : Type u_1} {β : Type u_2} {l : List (Option α)} {f : α → β} :
theorem List.reduceOption_eq_append_iff {α : Type u_1} (l : List (Option α)) (l'₁ l'₂ : List α) :
l.reduceOption = l'₁ ++ l'₂ ↔ ∃ (l₁ : List (Option α)), ∃ (l₂ : List (Option α)), l = l₁ ++ l₂ ∧ l₁.reduceOption = l'₁ ∧ l₂.reduceOption = l'₂
theorem List.reduceOption_eq_concat_iff {α : Type u_1} (l : List (Option α)) (l' : List α) (a : α) :
l.reduceOption = l'.concat a ↔ ∃ (l₁ : List (Option α)), ∃ (l₂ : List (Option α)), l = l₁ ++ some a :: l₂ ∧ l₁.reduceOption = l' ∧ l₂.reduceOption = []
theorem List.reduceOption_length_eq_iff {α : Type u_1} {l : List (Option α)} :
l.reduceOption.length = l.length ↔ ∀ (x : Option α), x ∈ l → x.isSome = true
theorem List.reduceOption_concat {α : Type u_1} (l : List (Option α)) (x : Option α) :
theorem List.reduceOption_mem_iff {α : Type u_1} {l : List (Option α)} {x : α} :
theorem List.reduceOption_getElem?_iff {α : Type u_1} {l : List (Option α)} {x : α} :