Documentation

Std.Data.TreeMap.Raw.WF

Well-formedness proofs for raw tree maps #

This file contains well-formedness proofs about Std.Data.TreeMap.Raw.Basic. Most of the lemmas require TransCmp cmp for the comparison function cmp.

theorem Std.TreeMap.Raw.WF.empty {α : Type u} {β : Type v} {cmp : ααOrdering} :
theorem Std.TreeMap.Raw.WF.emptyc {α : Type u} {β : Type v} {cmp : ααOrdering} :
theorem Std.TreeMap.Raw.WF.erase {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {a : α} (h : t.WF) :
(t.erase a).WF
theorem Std.TreeMap.Raw.WF.insert {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {a : α} {b : β} (h : t.WF) :
(t.insert a b).WF
theorem Std.TreeMap.Raw.WF.insertIfNew {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {a : α} {b : β} (h : t.WF) :
(t.insertIfNew a b).WF
theorem Std.TreeMap.Raw.WF.containsThenInsert {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {a : α} {b : β} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.containsThenInsertIfNew {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {a : α} {b : β} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.getThenInsertIfNew? {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {a : α} {b : β} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.filter {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {f : αβBool} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.filterMap {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {f : αβOption β} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.partition_fst {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {f : αβBool} :
theorem Std.TreeMap.Raw.WF.partition_snd {α : Type u} {β : Type v} {cmp : ααOrdering} {t : Raw α β cmp} [TransCmp cmp] {f : αβBool} :
theorem Std.TreeMap.Raw.WF.eraseMany {α : Type u} {β : Type v} {cmp : ααOrdering} [TransCmp cmp] {ρ : Type u_1} [ForIn Id ρ α] {l : ρ} {t : Raw α β cmp} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.insertMany {α : Type u} {β : Type v} {cmp : ααOrdering} [TransCmp cmp] {ρ : Type u_1} [ForIn Id ρ (α × β)] {l : ρ} {t : Raw α β cmp} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.insertManyIfNewUnit {α : Type u} {cmp : ααOrdering} [TransCmp cmp] {ρ : Type u_1} [ForIn Id ρ α] {l : ρ} {t : Raw α Unit cmp} (h : t.WF) :
theorem Std.TreeMap.Raw.WF.ofList {α : Type u} {β : Type v} {cmp : ααOrdering} [TransCmp cmp] {l : List (α × β)} :
(Raw.ofList l cmp).WF
theorem Std.TreeMap.Raw.WF.ofArray {α : Type u} {β : Type v} {cmp : ααOrdering} [TransCmp cmp] {a : Array (α × β)} :
(Raw.ofArray a cmp).WF
theorem Std.TreeMap.Raw.WF.alter {α : Type u} {β : Type v} {cmp : ααOrdering} {a : α} {f : Option βOption β} {t : Raw α β cmp} (h : t.WF) :
(t.alter a f).WF
theorem Std.TreeMap.Raw.WF.modify {α : Type u} {β : Type v} {cmp : ααOrdering} {a : α} {f : ββ} {t : Raw α β cmp} (h : t.WF) :
(t.modify a f).WF
theorem Std.TreeMap.Raw.WF.unitOfList {α : Type u} {cmp : ααOrdering} [TransCmp cmp] {l : List α} :
theorem Std.TreeMap.Raw.WF.unitOfArray {α : Type u} {cmp : ααOrdering} [TransCmp cmp] {a : Array α} :
theorem Std.TreeMap.Raw.WF.mergeWith {α : Type u} {β : Type v} {cmp : ααOrdering} {mergeFn : αβββ} {t₁ t₂ : Raw α β cmp} (h : t₁.WF) :
(Raw.mergeWith mergeFn t₁ t₂).WF