Documentation

Std.Data.DTreeMap.Internal.Lemmas

Internal lemmas about the tree map #

This file contains internal lemmas about Std.DTreeMap.Internal.Impl. Users of the tree map should not rely on the contents of this file.

Internal implementation detail of the tree map

Equations
Instances For

    Internal implementation detail of the tree map

    Equations
    Instances For

      Internal implementation detail of the tree map

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.isEmpty = false
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_congr {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k k' : α} (hab : compare k k' = Ordering.eq) :
        theorem Std.DTreeMap.Internal.Impl.mem_congr {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k k' : α} (hab : compare k k' = Ordering.eq) :
        k ∈ t ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.contains_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {a : α} :
        theorem Std.DTreeMap.Internal.Impl.not_mem_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {a : α} :
        theorem Std.DTreeMap.Internal.Impl.contains_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.not_mem_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        t.isEmpty = true → ¬a ∈ t
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_false_iff_exists_contains_eq_true {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_false_iff_exists_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_false_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} (hc : contains a t = true) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_iff_forall_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        t.isEmpty = true ↔ ∀ (a : α), contains a t = false
        theorem Std.DTreeMap.Internal.Impl.isEmpty_iff_forall_not_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        t.isEmpty = true ↔ ∀ (a : α), ¬a ∈ t
        theorem Std.DTreeMap.Internal.Impl.contains_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.mem_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ (insert k v t ⋯).impl ↔ compare k a = Ordering.eq ∨ a ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        contains k (insert k v t ⋯).impl = true
        theorem Std.DTreeMap.Internal.Impl.contains_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.mem_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        k ∈ (insert k v t ⋯).impl
        theorem Std.DTreeMap.Internal.Impl.mem_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        k ∈ insert! k v t
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        contains a (insert k v t ⋯).impl = true → compare k a ≠ Ordering.eq → contains a t = true
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ (insert k v t ⋯).impl → compare k a ≠ Ordering.eq → a ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ insert! k v t → compare k a ≠ Ordering.eq → a ∈ t
        theorem Std.DTreeMap.Internal.Impl.size_empty {α : Type u} {β : α → Type v} :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_size_eq_zero {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} (h : t.WF) :
        t.isEmpty = (t.size == 0)
        theorem Std.DTreeMap.Internal.Impl.size_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.size = if contains k t = true then t.size else t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.size_le_size_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        t.size ≤ (insert k v t ⋯).impl.size
        theorem Std.DTreeMap.Internal.Impl.size_le_size_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        t.size ≤ (insert! k v t).size
        theorem Std.DTreeMap.Internal.Impl.size_insert_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_insert!_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.erase_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.erase!_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.isEmpty = (t.isEmpty || decide (t.size = 1) && contains k t)
        theorem Std.DTreeMap.Internal.Impl.isEmpty_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_isEmpty_erase_and_not_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (k : α) :
        t.isEmpty = ((erase k t ⋯).impl.isEmpty && !contains k t)
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_isEmpty_erase!_and_not_containsKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (k : α) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_false_of_isEmpty_erase_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_eq_false_of_isEmpty_erase!_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.contains_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.contains_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.mem_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        a ∈ (erase k t ⋯).impl ↔ compare k a ≠ Ordering.eq ∧ a ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        contains a (erase k t ⋯).impl = true → contains a t = true
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        contains a (erase! k t) = true → contains a t = true
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        a ∈ (erase k t ⋯).impl → a ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        a ∈ erase! k t → a ∈ t
        theorem Std.DTreeMap.Internal.Impl.size_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.size = if contains k t = true then t.size - 1 else t.size
        theorem Std.DTreeMap.Internal.Impl.size_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        theorem Std.DTreeMap.Internal.Impl.size_erase_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.size ≤ t.size
        theorem Std.DTreeMap.Internal.Impl.size_erase!_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        theorem Std.DTreeMap.Internal.Impl.size_le_size_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        t.size ≤ (erase k t ⋯).impl.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_le_size_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        t.size ≤ (erase! k t).size + 1
        theorem Std.DTreeMap.Internal.Impl.containsThenInsert_fst {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.containsThenInsert!_fst {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.containsThenInsert_snd {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (containsThenInsert k v t ⋯).snd.impl = (insert k v t ⋯).impl
        theorem Std.DTreeMap.Internal.Impl.containsThenInsert!_snd {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.containsThenInsertIfNew_fst {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.containsThenInsertIfNew!_fst {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.containsThenInsertIfNew_snd {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.containsThenInsertIfNew!_snd {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        contains a (insertIfNew k v t ⋯).impl = (k == a || contains a t)
        theorem Std.DTreeMap.Internal.Impl.contains_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        contains a (insertIfNew! k v t) = (k == a || contains a t)
        theorem Std.DTreeMap.Internal.Impl.mem_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.mem_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_insertIfNew_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_insertIfNew!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.mem_insertIfNew_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        k ∈ (insertIfNew k v t ⋯).impl
        theorem Std.DTreeMap.Internal.Impl.mem_insertIfNew!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ (insertIfNew k v t ⋯).impl → compare k a ≠ Ordering.eq → a ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ insertIfNew! k v t → compare k a ≠ Ordering.eq → a ∈ t
        theorem Std.DTreeMap.Internal.Impl.size_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] {k : α} (h : t.WF) {v : β k} :
        (insertIfNew k v t ⋯).impl.size = if k ∈ t then t.size else t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] {k : α} (h : t.WF) {v : β k} :
        (insertIfNew! k v t).size = if k ∈ t then t.size else t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_le_size_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        t.size ≤ (insertIfNew k v t ⋯).impl.size
        theorem Std.DTreeMap.Internal.Impl.size_le_size_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.size_insertIfNew_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_insertIfNew!_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew! k v t).size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.get?_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {a : α} :
        theorem Std.DTreeMap.Internal.Impl.get?_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} :
        t.isEmpty = true → t.get? a = none
        theorem Std.DTreeMap.Internal.Impl.get?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a k : α} {v : β k} :
        (insert k v t ⋯).impl.get? a = if h : compare k a = Ordering.eq then some (cast ⋯ v) else t.get? a
        theorem Std.DTreeMap.Internal.Impl.get?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a k : α} {v : β k} :
        (insert! k v t).get? a = if h : compare k a = Ordering.eq then some (cast ⋯ v) else t.get? a
        theorem Std.DTreeMap.Internal.Impl.get?_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.get? k = some v
        theorem Std.DTreeMap.Internal.Impl.get?_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).get? k = some v
        theorem Std.DTreeMap.Internal.Impl.contains_eq_isSome_get? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} :
        contains a t = (t.get? a).isSome
        theorem Std.DTreeMap.Internal.Impl.mem_iff_isSome_get? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} :
        a ∈ t ↔ (t.get? a).isSome = true
        theorem Std.DTreeMap.Internal.Impl.get?_eq_none_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} :
        contains a t = false → t.get? a = none
        theorem Std.DTreeMap.Internal.Impl.get?_eq_none {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} :
        ¬a ∈ t → t.get? a = none
        theorem Std.DTreeMap.Internal.Impl.get?_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.get?_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.get?_erase_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.get? k = none
        theorem Std.DTreeMap.Internal.Impl.get?_erase!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} :
        (erase! k t).get? k = none
        theorem Std.DTreeMap.Internal.Impl.Const.get?_empty {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_of_isEmpty {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} :
        t.isEmpty = true → get? t a = none
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insert {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a k : α} {v : β} :
        get? (insert k v t ⋯).impl a = if compare k a = Ordering.eq then some v else get? t a
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insert! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a k : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insert_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        get? (insert k v t ⋯).impl k = some v
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insert!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        get? (insert! k v t) k = some v
        theorem Std.DTreeMap.Internal.Impl.Const.contains_eq_isSome_get? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} :
        contains a t = (get? t a).isSome
        theorem Std.DTreeMap.Internal.Impl.Const.mem_iff_isSome_get? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} :
        a ∈ t ↔ (get? t a).isSome = true
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_none_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} :
        contains a t = false → get? t a = none
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_none {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} :
        ¬a ∈ t → get? t a = none
        theorem Std.DTreeMap.Internal.Impl.Const.get?_erase {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_erase! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_erase_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} :
        get? (erase k t ⋯).impl k = none
        theorem Std.DTreeMap.Internal.Impl.Const.get?_erase!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} :
        get? (erase! k t) k = none
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_get? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [LawfulEqOrd α] [TransOrd α] (h : t.WF) {a : α} :
        get? t a = t.get? a
        theorem Std.DTreeMap.Internal.Impl.Const.get?_congr {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a b : α} (hab : compare a b = Ordering.eq) :
        get? t a = get? t b
        theorem Std.DTreeMap.Internal.Impl.get_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : a ∈ (insert k v t ⋯).impl} :
        (insert k v t ⋯).impl.get a h₁ = if h₂ : compare k a = Ordering.eq then cast ⋯ v else t.get a ⋯
        theorem Std.DTreeMap.Internal.Impl.get_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : a ∈ insert! k v t} :
        (insert! k v t).get a h₁ = if h₂ : compare k a = Ordering.eq then cast ⋯ v else t.get a ⋯
        theorem Std.DTreeMap.Internal.Impl.get_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.get k ⋯ = v
        theorem Std.DTreeMap.Internal.Impl.get_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).get k ⋯ = v
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {h' : a ∈ (erase k t ⋯).impl} :
        (erase k t ⋯).impl.get a h' = t.get a ⋯
        theorem Std.DTreeMap.Internal.Impl.get_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {h' : a ∈ erase! k t} :
        (erase! k t).get a h' = t.get a ⋯
        theorem Std.DTreeMap.Internal.Impl.get?_eq_some_get {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {h' : a ∈ t} :
        t.get? a = some (t.get a h')
        theorem Std.DTreeMap.Internal.Impl.Const.get_insert {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {v : β} {h₁ : contains a (insert k v t ⋯).impl = true} :
        get (insert k v t ⋯).impl a h₁ = if h₂ : compare k a = Ordering.eq then v else get t a ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_insert! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {v : β} {h₁ : contains a (insert! k v t) = true} :
        get (insert! k v t) a h₁ = if h₂ : compare k a = Ordering.eq then v else get t a ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_insert_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        get (insert k v t ⋯).impl k ⋯ = v
        theorem Std.DTreeMap.Internal.Impl.Const.get_insert!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        get (insert! k v t) k ⋯ = v
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get_erase {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {h' : contains a (erase k t ⋯).impl = true} :
        get (erase k t ⋯).impl a h' = get t a ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_erase! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {h' : contains a (erase! k t) = true} :
        get (erase! k t) a h' = get t a ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_some_get {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {h✝ : contains a t = true} :
        get? t a = some (get t a h✝)
        theorem Std.DTreeMap.Internal.Impl.Const.get_eq_get {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {h✝ : contains a t = true} :
        get t a h✝ = t.get a h✝
        theorem Std.DTreeMap.Internal.Impl.Const.get_congr {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a b : α} (hab : compare a b = Ordering.eq) {h' : contains a t = true} :
        get t a h' = get t b ⋯
        theorem Std.DTreeMap.Internal.Impl.get!_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {a : α} [Inhabited (β a)] :
        theorem Std.DTreeMap.Internal.Impl.get!_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        theorem Std.DTreeMap.Internal.Impl.get!_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} [Inhabited (β a)] {v : β k} :
        (insert k v t ⋯).impl.get! a = if h : compare k a = Ordering.eq then cast ⋯ v else t.get! a
        theorem Std.DTreeMap.Internal.Impl.get!_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} [Inhabited (β a)] {v : β k} :
        (insert! k v t).get! a = if h : compare k a = Ordering.eq then cast ⋯ v else t.get! a
        theorem Std.DTreeMap.Internal.Impl.get!_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] {b : β a} :
        (insert a b t ⋯).impl.get! a = b
        theorem Std.DTreeMap.Internal.Impl.get!_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] {b : β a} :
        (insert! a b t).get! a = b
        theorem Std.DTreeMap.Internal.Impl.get!_eq_default_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        theorem Std.DTreeMap.Internal.Impl.get!_eq_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        ¬a ∈ t → t.get! a = default
        theorem Std.DTreeMap.Internal.Impl.get!_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} [Inhabited (β a)] :
        theorem Std.DTreeMap.Internal.Impl.get!_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} [Inhabited (β a)] :
        theorem Std.DTreeMap.Internal.Impl.get!_erase_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} [Inhabited (β k)] :
        (erase k t ⋯).impl.get! k = default
        theorem Std.DTreeMap.Internal.Impl.get!_erase!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} [Inhabited (β k)] :
        theorem Std.DTreeMap.Internal.Impl.get?_eq_some_get!_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        contains a t = true → t.get? a = some (t.get! a)
        theorem Std.DTreeMap.Internal.Impl.get?_eq_some_get! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        a ∈ t → t.get? a = some (t.get! a)
        theorem Std.DTreeMap.Internal.Impl.get!_eq_get!_get? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        t.get! a = (t.get? a).get!
        theorem Std.DTreeMap.Internal.Impl.get_eq_get! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] {h✝ : a ∈ t} :
        t.get a h✝ = t.get! a
        theorem Std.DTreeMap.Internal.Impl.Const.get!_empty {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] [Inhabited β] {a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_of_isEmpty {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insert {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k a : α} {v : β} :
        get! (insert k v t ⋯).impl a = if compare k a = Ordering.eq then v else get! t a
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insert! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k a : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insert_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k : α} {v : β} :
        get! (insert k v t ⋯).impl k = v
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insert!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k : α} {v : β} :
        get! (insert! k v t) k = v
        theorem Std.DTreeMap.Internal.Impl.Const.get!_eq_default_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_eq_default {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        ¬a ∈ t → get! t a = default
        theorem Std.DTreeMap.Internal.Impl.Const.get!_erase {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_erase! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_erase_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k : α} :
        get! (erase k t ⋯).impl k = default
        theorem Std.DTreeMap.Internal.Impl.Const.get!_erase!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_some_get!_of_contains {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        contains a t = true → get? t a = some (get! t a)
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_some_get! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        a ∈ t → get? t a = some (get! t a)
        theorem Std.DTreeMap.Internal.Impl.Const.get!_eq_get!_get? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        get! t a = (get? t a).get!
        theorem Std.DTreeMap.Internal.Impl.Const.get_eq_get! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} {h✝ : contains a t = true} :
        get t a h✝ = get! t a
        theorem Std.DTreeMap.Internal.Impl.Const.get!_eq_get! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] [Inhabited β] (h : t.WF) {a : α} :
        get! t a = t.get! a
        theorem Std.DTreeMap.Internal.Impl.Const.get!_congr {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a b : α} (hab : compare a b = Ordering.eq) :
        get! t a = get! t b
        theorem Std.DTreeMap.Internal.Impl.getD_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {a : α} {fallback : β a} :
        empty.getD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getD_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} :
        t.isEmpty = true → t.getD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {fallback : β a} {v : β k} :
        (insert k v t ⋯).impl.getD a fallback = if h : compare k a = Ordering.eq then cast ⋯ v else t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {fallback : β a} {v : β k} :
        (insert! k v t).getD a fallback = if h : compare k a = Ordering.eq then cast ⋯ v else t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback b : β a} :
        (insert a b t ⋯).impl.getD a fallback = b
        theorem Std.DTreeMap.Internal.Impl.getD_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback b : β a} :
        (insert! a b t).getD a fallback = b
        theorem Std.DTreeMap.Internal.Impl.getD_eq_fallback_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} :
        contains a t = false → t.getD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getD_eq_fallback {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} :
        ¬a ∈ t → t.getD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getD_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {fallback : β a} :
        (erase k t ⋯).impl.getD a fallback = if compare k a = Ordering.eq then fallback else t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.getD_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {fallback : β a} :
        (erase! k t).getD a fallback = if compare k a = Ordering.eq then fallback else t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.getD_erase_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {fallback : β k} :
        (erase k t ⋯).impl.getD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getD_erase!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {fallback : β k} :
        (erase! k t).getD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.get?_eq_some_getD_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} :
        contains a t = true → t.get? a = some (t.getD a fallback)
        theorem Std.DTreeMap.Internal.Impl.get?_eq_some_getD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} :
        a ∈ t → t.get? a = some (t.getD a fallback)
        theorem Std.DTreeMap.Internal.Impl.getD_eq_getD_get? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} :
        t.getD a fallback = (t.get? a).getD fallback
        theorem Std.DTreeMap.Internal.Impl.get_eq_getD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β a} {h✝ : a ∈ t} :
        t.get a h✝ = t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.get!_eq_getD_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} [Inhabited (β a)] :
        t.get! a = t.getD a default
        theorem Std.DTreeMap.Internal.Impl.Const.getD_empty {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {a : α} {fallback : β} :
        getD empty a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_of_isEmpty {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} :
        t.isEmpty = true → getD t a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insert {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {fallback v : β} :
        getD (insert k v t ⋯).impl a fallback = if compare k a = Ordering.eq then v else getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insert! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {fallback v : β} :
        getD (insert! k v t) a fallback = if compare k a = Ordering.eq then v else getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insert_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {fallback v : β} :
        getD (insert k v t ⋯).impl k fallback = v
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insert!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {fallback v : β} :
        getD (insert! k v t) k fallback = v
        theorem Std.DTreeMap.Internal.Impl.Const.getD_eq_fallback_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} :
        contains a t = false → getD t a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_eq_fallback {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} :
        ¬a ∈ t → getD t a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_erase {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {fallback : β} :
        getD (erase k t ⋯).impl a fallback = if compare k a = Ordering.eq then fallback else getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_erase! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {fallback : β} :
        getD (erase! k t) a fallback = if compare k a = Ordering.eq then fallback else getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_erase_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {fallback : β} :
        getD (erase k t ⋯).impl k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_erase!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {fallback : β} :
        getD (erase! k t) k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_some_getD_of_contains {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} :
        contains a t = true → get? t a = some (getD t a fallback)
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_some_getD {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} :
        a ∈ t → get? t a = some (getD t a fallback)
        theorem Std.DTreeMap.Internal.Impl.Const.getD_eq_getD_get? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} :
        getD t a fallback = (get? t a).getD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.get_eq_getD {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a : α} {fallback : β} {h✝ : contains a t = true} :
        get t a h✝ = getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.get!_eq_getD_default {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {a : α} :
        get! t a = getD t a default
        theorem Std.DTreeMap.Internal.Impl.Const.getD_eq_getD {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {a : α} {fallback : β} :
        getD t a fallback = t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_congr {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {a b : α} {fallback : β} (hab : compare a b = Ordering.eq) :
        getD t a fallback = getD t b fallback
        theorem Std.DTreeMap.Internal.Impl.getKey?_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.getKey? k = some k
        theorem Std.DTreeMap.Internal.Impl.getKey?_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).getKey? k = some k
        theorem Std.DTreeMap.Internal.Impl.contains_eq_isSome_getKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.mem_iff_isSome_getKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_none_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_none {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} :
        ¬a ∈ t → t.getKey? a = none
        theorem Std.DTreeMap.Internal.Impl.getKey?_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_erase_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.getKey? k = none
        theorem Std.DTreeMap.Internal.Impl.getKey?_erase!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        theorem Std.DTreeMap.Internal.Impl.compare_getKey?_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        Option.all (fun (x : α) => decide (compare x k = Ordering.eq)) (t.getKey? k) = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_congr {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k k' : α} (h' : compare k k' = Ordering.eq) :
        t.getKey? k = t.getKey? k'
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} (h' : contains k t = true) :
        t.getKey? k = some k
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} (h' : k ∈ t) :
        t.getKey? k = some k
        theorem Std.DTreeMap.Internal.Impl.getKey_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : contains a (insert k v t ⋯).impl = true} :
        (insert k v t ⋯).impl.getKey a h₁ = if h₂ : compare k a = Ordering.eq then k else t.getKey a ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : contains a (insert! k v t) = true} :
        (insert! k v t).getKey a h₁ = if h₂ : compare k a = Ordering.eq then k else t.getKey a ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.getKey k ⋯ = k
        theorem Std.DTreeMap.Internal.Impl.getKey_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).getKey k ⋯ = k
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKey_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {h' : contains a (erase k t ⋯).impl = true} :
        (erase k t ⋯).impl.getKey a h' = t.getKey a ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKey_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {h' : contains a (erase! k t) = true} :
        (erase! k t).getKey a h' = t.getKey a ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some_getKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a : α} {h' : contains a t = true} :
        t.getKey? a = some (t.getKey a h')
        theorem Std.DTreeMap.Internal.Impl.compare_getKey_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (h' : k ∈ t) :
        theorem Std.DTreeMap.Internal.Impl.getKey_congr {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k₁ k₂ : α} (h' : compare k₁ k₂ = Ordering.eq) (h₁ : k₁ ∈ t) :
        t.getKey k₁ h₁ = t.getKey k₂ ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} (h' : k ∈ t) :
        t.getKey k h' = k
        theorem Std.DTreeMap.Internal.Impl.getKey!_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {a : α} [Inhabited α] :
        theorem Std.DTreeMap.Internal.Impl.getKey!_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} {b : β a} :
        (insert a b t ⋯).impl.getKey! a = a
        theorem Std.DTreeMap.Internal.Impl.getKey!_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} {b : β a} :
        (insert! a b t).getKey! a = a
        theorem Std.DTreeMap.Internal.Impl.getKey!_eq_default_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_eq_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        ¬a ∈ t → t.getKey! a = default
        theorem Std.DTreeMap.Internal.Impl.getKey!_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_erase_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.getKey! k = default
        theorem Std.DTreeMap.Internal.Impl.getKey!_erase!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some_getKey!_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        contains a t = true → t.getKey? a = some (t.getKey! a)
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some_getKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        a ∈ t → t.getKey? a = some (t.getKey! a)
        theorem Std.DTreeMap.Internal.Impl.getKey!_eq_get!_getKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        t.getKey! a = (t.getKey? a).get!
        theorem Std.DTreeMap.Internal.Impl.getKey_eq_getKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} {h✝ : contains a t = true} :
        t.getKey a h✝ = t.getKey! a
        theorem Std.DTreeMap.Internal.Impl.getKey!_congr {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k k' : α} (h' : compare k k' = Ordering.eq) :
        t.getKey! k = t.getKey! k'
        theorem Std.DTreeMap.Internal.Impl.getKey!_eq_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} (h' : contains k t = true) :
        t.getKey! k = k
        theorem Std.DTreeMap.Internal.Impl.getKey!_eq_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} (h' : k ∈ t) :
        t.getKey! k = k
        theorem Std.DTreeMap.Internal.Impl.getKeyD_empty {α : Type u} {β : α → Type v} {instOrd : Ord α} {a fallback : α} :
        empty.getKeyD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} :
        t.isEmpty = true → t.getKeyD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a fallback : α} {v : β k} :
        (insert k v t ⋯).impl.getKeyD a fallback = if compare k a = Ordering.eq then k else t.getKeyD a fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a fallback : α} {v : β k} :
        (insert! k v t).getKeyD a fallback = if compare k a = Ordering.eq then k else t.getKeyD a fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insert_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} {b : β a} :
        (insert a b t ⋯).impl.getKeyD a fallback = a
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insert!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} {b : β a} :
        (insert! a b t).getKeyD a fallback = a
        theorem Std.DTreeMap.Internal.Impl.getKeyD_eq_fallback_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} :
        contains a t = false → t.getKeyD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_eq_fallback {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} :
        ¬a ∈ t → t.getKeyD a fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a fallback : α} :
        (erase k t ⋯).impl.getKeyD a fallback = if compare k a = Ordering.eq then fallback else t.getKeyD a fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a fallback : α} :
        (erase! k t).getKeyD a fallback = if compare k a = Ordering.eq then fallback else t.getKeyD a fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_erase_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} :
        (erase k t ⋯).impl.getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_erase!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} :
        (erase! k t).getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some_getKeyD_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} :
        contains a t = true → t.getKey? a = some (t.getKeyD a fallback)
        theorem Std.DTreeMap.Internal.Impl.getKey?_eq_some_getKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} :
        a ∈ t → t.getKey? a = some (t.getKeyD a fallback)
        theorem Std.DTreeMap.Internal.Impl.getKeyD_eq_getD_getKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} :
        t.getKeyD a fallback = (t.getKey? a).getD fallback
        theorem Std.DTreeMap.Internal.Impl.getKey_eq_getKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {a fallback : α} {h✝ : contains a t = true} :
        t.getKey a h✝ = t.getKeyD a fallback
        theorem Std.DTreeMap.Internal.Impl.getKey!_eq_getKeyD_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {a : α} :
        theorem Std.DTreeMap.Internal.Impl.getKeyD_congr {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k k' fallback : α} (h' : compare k k' = Ordering.eq) :
        t.getKeyD k fallback = t.getKeyD k' fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_eq_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k fallback : α} (h' : contains k t = true) :
        t.getKeyD k fallback = k
        theorem Std.DTreeMap.Internal.Impl.getKeyD_eq_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k fallback : α} (h' : k ∈ t) :
        t.getKeyD k fallback = k
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insertIfNew' {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ (insertIfNew k v t ⋯).impl → ¬(compare k a = Ordering.eq ∧ ¬k ∈ t) → a ∈ t

        This is a restatement of mem_of_mem_insertIfNew that is written to exactly match the proof obligation in the statement of get_insertIfNew.

        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insertIfNew!' {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        a ∈ insertIfNew! k v t → ¬(compare k a = Ordering.eq ∧ ¬k ∈ t) → a ∈ t

        This is a restatement of mem_of_mem_insertIfNew! that is written to exactly match the proof obligation in the statement of get_insertIfNew!.

        theorem Std.DTreeMap.Internal.Impl.get?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.get? a = if h : compare k a = Ordering.eq ∧ ¬k ∈ t then some (cast ⋯ v) else t.get? a
        theorem Std.DTreeMap.Internal.Impl.get?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {v : β k} :
        (insertIfNew! k v t).get? a = if h : compare k a = Ordering.eq ∧ ¬k ∈ t then some (cast ⋯ v) else t.get? a
        theorem Std.DTreeMap.Internal.Impl.get_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : a ∈ (insertIfNew k v t ⋯).impl} :
        (insertIfNew k v t ⋯).impl.get a h₁ = if h₂ : compare k a = Ordering.eq ∧ ¬k ∈ t then cast ⋯ v else t.get a ⋯
        theorem Std.DTreeMap.Internal.Impl.get_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : a ∈ insertIfNew! k v t} :
        (insertIfNew! k v t).get a h₁ = if h₂ : compare k a = Ordering.eq ∧ ¬k ∈ t then cast ⋯ v else t.get a ⋯
        theorem Std.DTreeMap.Internal.Impl.get!_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} [Inhabited (β a)] {v : β k} :
        (insertIfNew k v t ⋯).impl.get! a = if h : compare k a = Ordering.eq ∧ ¬k ∈ t then cast ⋯ v else t.get! a
        theorem Std.DTreeMap.Internal.Impl.get!_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} [Inhabited (β a)] {v : β k} :
        (insertIfNew! k v t).get! a = if h : compare k a = Ordering.eq ∧ ¬k ∈ t then cast ⋯ v else t.get! a
        theorem Std.DTreeMap.Internal.Impl.getD_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {fallback : β a} {v : β k} :
        (insertIfNew k v t ⋯).impl.getD a fallback = if h : compare k a = Ordering.eq ∧ ¬k ∈ t then cast ⋯ v else t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k a : α} {fallback : β a} {v : β k} :
        (insertIfNew! k v t).getD a fallback = if h : compare k a = Ordering.eq ∧ ¬k ∈ t then cast ⋯ v else t.getD a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertIfNew {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertIfNew! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertIfNew {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {v : β} {h₁ : contains a (insertIfNew k v t ⋯).impl = true} :
        get (insertIfNew k v t ⋯).impl a h₁ = if h₂ : compare k a = Ordering.eq ∧ ¬k ∈ t then v else get t a ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertIfNew! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {v : β} {h₁ : contains a (insertIfNew! k v t) = true} :
        get (insertIfNew! k v t) a h₁ = if h₂ : compare k a = Ordering.eq ∧ ¬k ∈ t then v else get t a ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertIfNew {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k a : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertIfNew! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {k a : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertIfNew {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {fallback v : β} :
        getD (insertIfNew k v t ⋯).impl a fallback = if compare k a = Ordering.eq ∧ ¬k ∈ t then v else getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertIfNew! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k a : α} {fallback v : β} :
        getD (insertIfNew! k v t) a fallback = if compare k a = Ordering.eq ∧ ¬k ∈ t then v else getD t a fallback
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : contains a (insertIfNew k v t ⋯).impl = true} :
        (insertIfNew k v t ⋯).impl.getKey a h₁ = if h₂ : compare k a = Ordering.eq ∧ ¬k ∈ t then k else t.getKey a ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a : α} {v : β k} {h₁ : contains a (insertIfNew! k v t) = true} :
        (insertIfNew! k v t).getKey a h₁ = if h₂ : compare k a = Ordering.eq ∧ ¬k ∈ t then k else t.getKey a ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k a : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a fallback : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.getKeyD a fallback = if compare k a = Ordering.eq ∧ ¬k ∈ t then k else t.getKeyD a fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k a fallback : α} {v : β k} :
        (insertIfNew! k v t).getKeyD a fallback = if compare k a = Ordering.eq ∧ ¬k ∈ t then k else t.getKeyD a fallback

        getThenInsertIfNew? #

        theorem Std.DTreeMap.Internal.Impl.getThenInsertIfNew?_fst {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :
        (t.getThenInsertIfNew? k v ⋯).fst = t.get? k
        theorem Std.DTreeMap.Internal.Impl.getThenInsertIfNew?_snd {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :
        (t.getThenInsertIfNew? k v ⋯).snd = (insertIfNew k v t ⋯).impl

        getThenInsertIfNew?! #

        theorem Std.DTreeMap.Internal.Impl.getThenInsertIfNew?!_fst {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.getThenInsertIfNew?!_snd {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {v : β k} :

        getThenInsertIfNew? #

        theorem Std.DTreeMap.Internal.Impl.Const.getThenInsertIfNew?_fst {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        (getThenInsertIfNew? t k v ⋯).fst = get? t k
        theorem Std.DTreeMap.Internal.Impl.Const.getThenInsertIfNew?_snd {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        (getThenInsertIfNew? t k v ⋯).snd = (insertIfNew k v t ⋯).impl

        getThenInsertIfNew?! #

        theorem Std.DTreeMap.Internal.Impl.Const.getThenInsertIfNew?!_fst {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getThenInsertIfNew?!_snd {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {v : β} :
        theorem Std.DTreeMap.Internal.Impl.length_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_keys {α : Type u} {β : α → Type v} {t : Impl α β} :
        theorem Std.DTreeMap.Internal.Impl.contains_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [BEq α] [beqOrd : LawfulBEqOrd α] [TransOrd α] {k : α} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.mem_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [LawfulEqOrd α] [TransOrd α] {k : α} (h : t.WF) :
        k ∈ t.keys ↔ k ∈ t
        theorem Std.DTreeMap.Internal.Impl.distinct_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) t.keys
        theorem Std.DTreeMap.Internal.Impl.ordered_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        List.Pairwise (fun (a b : α) => compare a b = Ordering.lt) t.keys
        theorem Std.DTreeMap.Internal.Impl.length_toList {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_toList {α : Type u} {β : α → Type v} {t : Impl α β} :
        theorem Std.DTreeMap.Internal.Impl.mem_toList_iff_get?_eq_some {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] {k : α} {v : β k} (h : t.WF) :
        ⟨k, v⟩ ∈ t.toList ↔ t.get? k = some v
        theorem Std.DTreeMap.Internal.Impl.find?_toList_eq_some_iff_get?_eq_some {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] {k : α} {v : β k} (h : t.WF) :
        List.find? (fun (x : (a : α) × β a) => compare x.fst k == Ordering.eq) t.toList = some ⟨k, v⟩ ↔ t.get? k = some v
        theorem Std.DTreeMap.Internal.Impl.find?_toList_eq_none_iff_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] {k : α} (h : t.WF) :
        List.find? (fun (x : (a : α) × β a) => compare x.fst k == Ordering.eq) t.toList = none ↔ contains k t = false
        theorem Std.DTreeMap.Internal.Impl.find?_toList_eq_none_iff_not_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] {k : α} (h : t.WF) :
        List.find? (fun (x : (a : α) × β a) => compare x.fst k == Ordering.eq) t.toList = none ↔ ¬k ∈ t
        theorem Std.DTreeMap.Internal.Impl.distinct_keys_toList {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) t.toList
        theorem Std.DTreeMap.Internal.Impl.ordered_keys_toList {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        List.Pairwise (fun (a b : (a : α) × β a) => compare a.fst b.fst = Ordering.lt) t.toList
        theorem Std.DTreeMap.Internal.Impl.Const.map_fst_toList_eq_keys {α : Type u} {β : Type v} {t : Impl α fun (x : α) => β} :
        theorem Std.DTreeMap.Internal.Impl.Const.length_toList {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_toList {α : Type u} {β : Type v} {t : Impl α fun (x : α) => β} :
        theorem Std.DTreeMap.Internal.Impl.Const.mem_toList_iff_get?_eq_some {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] {k : α} {v : β} (h : t.WF) :
        (k, v) ∈ toList t ↔ get? t k = some v
        theorem Std.DTreeMap.Internal.Impl.Const.mem_toList_iff_getKey?_eq_some_and_get?_eq_some {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} {v : β} (h : t.WF) :
        (k, v) ∈ toList t ↔ t.getKey? k = some k ∧ get? t k = some v
        theorem Std.DTreeMap.Internal.Impl.Const.get?_eq_some_iff_exists_compare_eq_eq_and_mem_toList {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} {v : β} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.Const.find?_toList_eq_some_iff_getKey?_eq_some_and_get?_eq_some {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k k' : α} {v : β} (h : t.WF) :
        List.find? (fun (a : α × β) => compare a.fst k == Ordering.eq) (toList t) = some (k', v) ↔ t.getKey? k = some k' ∧ get? t k = some v
        theorem Std.DTreeMap.Internal.Impl.Const.find?_toList_eq_none_iff_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} (h : t.WF) :
        List.find? (fun (x : α × β) => compare x.fst k == Ordering.eq) (toList t) = none ↔ contains k t = false
        theorem Std.DTreeMap.Internal.Impl.Const.find?_toList_eq_none_iff_not_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} (h : t.WF) :
        List.find? (fun (x : α × β) => compare x.fst k == Ordering.eq) (toList t) = none ↔ ¬k ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.distinct_keys_toList {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) :
        List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) (toList t)
        theorem Std.DTreeMap.Internal.Impl.Const.ordered_keys_toList {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) :
        List.Pairwise (fun (a b : α × β) => compare a.fst b.fst = Ordering.lt) (toList t)
        theorem Std.DTreeMap.Internal.Impl.foldlM_eq_foldlM_toList {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : δ → (a : α) → β a → m δ} {init : δ} :
        foldlM f init t = List.foldlM (fun (a : δ) (b : (a : α) × β a) => f a b.fst b.snd) init t.toList
        theorem Std.DTreeMap.Internal.Impl.foldl_eq_foldl_toList {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {f : δ → (a : α) → β a → δ} {init : δ} :
        foldl f init t = List.foldl (fun (a : δ) (b : (a : α) × β a) => f a b.fst b.snd) init t.toList
        theorem Std.DTreeMap.Internal.Impl.foldrM_eq_foldrM_toList {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : (a : α) → β a → δ → m δ} {init : δ} :
        foldrM f init t = List.foldrM (fun (a : (a : α) × β a) (b : δ) => f a.fst a.snd b) init t.toList
        theorem Std.DTreeMap.Internal.Impl.foldr_eq_foldr_toList {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {f : (a : α) → β a → δ → δ} {init : δ} :
        foldr f init t = List.foldr (fun (a : (a : α) × β a) (b : δ) => f a.fst a.snd b) init t.toList
        theorem Std.DTreeMap.Internal.Impl.forM_eq_forM_toList {α : Type u} {β : α → Type v} {t : Impl α β} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : (a : α) × β a → m PUnit} :
        forM (fun (k : α) (v : β k) => f ⟨k, v⟩) t = ForM.forM t.toList f
        theorem Std.DTreeMap.Internal.Impl.forIn_eq_forIn_toList {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : (a : α) × β a → δ → m (ForInStep δ)} {init : δ} :
        forIn (fun (k : α) (v : β k) => f ⟨k, v⟩) init t = ForIn.forIn t.toList init f
        theorem Std.DTreeMap.Internal.Impl.foldlM_eq_foldlM_keys {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : δ → α → m δ} {init : δ} :
        foldlM (fun (d : δ) (a : α) (x : β a) => f d a) init t = List.foldlM f init t.keys
        theorem Std.DTreeMap.Internal.Impl.foldl_eq_foldl_keys {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {f : δ → α → δ} {init : δ} :
        foldl (fun (d : δ) (a : α) (x : β a) => f d a) init t = List.foldl f init t.keys
        theorem Std.DTreeMap.Internal.Impl.foldrM_eq_foldrM_keys {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : α → δ → m δ} {init : δ} :
        foldrM (fun (a : α) (x : β a) (d : δ) => f a d) init t = List.foldrM f init t.keys
        theorem Std.DTreeMap.Internal.Impl.foldr_eq_foldr_keys {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {f : α → δ → δ} {init : δ} :
        foldr (fun (a : α) (x : β a) (d : δ) => f a d) init t = List.foldr f init t.keys
        theorem Std.DTreeMap.Internal.Impl.forM_eq_forM_keys {α : Type u} {β : α → Type v} {t : Impl α β} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : α → m PUnit} :
        forM (fun (a : α) (x : β a) => f a) t = t.keys.forM f
        theorem Std.DTreeMap.Internal.Impl.forIn_eq_forIn_keys {α : Type u} {β : α → Type v} {t : Impl α β} {δ : Type w} {m : Type w → Type w} [Monad m] [LawfulMonad m] {f : α → δ → m (ForInStep δ)} {init : δ} :
        forIn (fun (a : α) (x : β a) (d : δ) => f a d) init t = ForIn.forIn t.keys init f
        theorem Std.DTreeMap.Internal.Impl.Const.foldlM_eq_foldlM_toList {α : Type u} {δ : Type w} {m : Type w → Type w} {β : Type v} {t : Impl α fun (x : α) => β} [Monad m] [LawfulMonad m] {f : δ → α → β → m δ} {init : δ} :
        foldlM f init t = List.foldlM (fun (a : δ) (b : α × β) => f a b.fst b.snd) init (toList t)
        theorem Std.DTreeMap.Internal.Impl.Const.foldl_eq_foldl_toList {α : Type u} {δ : Type w} {β : Type v} {t : Impl α fun (x : α) => β} {f : δ → α → β → δ} {init : δ} :
        foldl f init t = List.foldl (fun (a : δ) (b : α × β) => f a b.fst b.snd) init (toList t)
        theorem Std.DTreeMap.Internal.Impl.Const.foldrM_eq_foldrM_toList {α : Type u} {δ : Type w} {m : Type w → Type w} {β : Type v} {t : Impl α fun (x : α) => β} [Monad m] [LawfulMonad m] {f : α → β → δ → m δ} {init : δ} :
        foldrM f init t = List.foldrM (fun (a : α × β) (b : δ) => f a.fst a.snd b) init (toList t)
        theorem Std.DTreeMap.Internal.Impl.Const.foldr_eq_foldr_toList {α : Type u} {δ : Type w} {β : Type v} {t : Impl α fun (x : α) => β} {f : α → β → δ → δ} {init : δ} :
        foldr f init t = List.foldr (fun (a : α × β) (b : δ) => f a.fst a.snd b) init (toList t)
        theorem Std.DTreeMap.Internal.Impl.Const.forM_eq_forM_toList {α : Type u} {m : Type w → Type w} {β : Type v} {t : Impl α fun (x : α) => β} [Monad m] [LawfulMonad m] {f : α → β → m PUnit} :
        forM f t = (toList t).forM fun (a : α × β) => f a.fst a.snd
        theorem Std.DTreeMap.Internal.Impl.Const.forIn_eq_forIn_toList {α : Type u} {δ : Type w} {m : Type w → Type w} {β : Type v} {t : Impl α fun (x : α) => β} [Monad m] [LawfulMonad m] {f : α → β → δ → m (ForInStep δ)} {init : δ} :
        forIn f init t = ForIn.forIn (toList t) init fun (a : α × β) (b : δ) => f a.fst a.snd b
        theorem Std.DTreeMap.Internal.Impl.insertMany_cons {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} (h : t.WF) {l : List ((a : α) × β a)} {k : α} {v : β k} :
        (t.insertMany (⟨k, v⟩ :: l) ⋯).val = ((insert k v t ⋯).impl.insertMany l ⋯).val
        theorem Std.DTreeMap.Internal.Impl.insertMany!_cons {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} {l : List ((a : α) × β a)} {k : α} {v : β k} :
        (t.insertMany! (⟨k, v⟩ :: l)).val = ((insert! k v t).insertMany! l).val
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.contains_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.mem_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.contains_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.mem_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        k ∈ (t.insertMany l ⋯).val → (List.map Sigma.fst l).contains k = false → k ∈ t
        theorem Std.DTreeMap.Internal.Impl.contains_of_contains_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.mem_of_mem_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} :
        k ∈ (t.insertMany! l).val → (List.map Sigma.fst l).contains k = false → k ∈ t
        theorem Std.DTreeMap.Internal.Impl.get?_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany l ⋯).val.get? k = t.get? k
        theorem Std.DTreeMap.Internal.Impl.get?_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany! l).val.get? k = t.get? k
        theorem Std.DTreeMap.Internal.Impl.get?_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (t.insertMany l ⋯).val.get? k' = some (cast ⋯ v)
        theorem Std.DTreeMap.Internal.Impl.get?_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (t.insertMany! l).val.get? k' = some (cast ⋯ v)
        theorem Std.DTreeMap.Internal.Impl.get_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (contains : (List.map Sigma.fst l).contains k = false) {h' : k ∈ (t.insertMany l ⋯).val} :
        (t.insertMany l ⋯).val.get k h' = t.get k ⋯
        theorem Std.DTreeMap.Internal.Impl.get_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (contains : (List.map Sigma.fst l).contains k = false) {h' : k ∈ (t.insertMany! l).val} :
        (t.insertMany! l).val.get k h' = t.get k ⋯
        theorem Std.DTreeMap.Internal.Impl.get_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) {h' : k' ∈ (t.insertMany l ⋯).val} :
        (t.insertMany l ⋯).val.get k' h' = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.get_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) {h' : k' ∈ (t.insertMany! l).val} :
        (t.insertMany! l).val.get k' h' = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.get!_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} [Inhabited (β k)] (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany l ⋯).val.get! k = t.get! k
        theorem Std.DTreeMap.Internal.Impl.get!_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} [Inhabited (β k)] (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany! l).val.get! k = t.get! k
        theorem Std.DTreeMap.Internal.Impl.get!_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} [Inhabited (β k')] (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (t.insertMany l ⋯).val.get! k' = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.get!_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} [Inhabited (β k')] (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (t.insertMany! l).val.get! k' = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.getD_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} {fallback : β k} (contains_eq_false : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany l ⋯).val.getD k fallback = t.getD k fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} {fallback : β k} (contains_eq_false : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany! l).val.getD k fallback = t.getD k fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} {fallback : β k'} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (t.insertMany l ⋯).val.getD k' fallback = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.getD_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} {fallback : β k'} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (t.insertMany! l).val.getD k' fallback = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany l ⋯).val.getKey? k = t.getKey? k
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h' : (List.map Sigma.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        (t.insertMany l ⋯).val.getKey? k' = some k
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        theorem Std.DTreeMap.Internal.Impl.getKey_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h₁ : (List.map Sigma.fst l).contains k = false) {h' : contains k (t.insertMany l ⋯).val = true} :
        (t.insertMany l ⋯).val.getKey k h' = t.getKey k ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h₁ : (List.map Sigma.fst l).contains k = false) {h' : contains k (t.insertMany! l).val = true} :
        (t.insertMany! l).val.getKey k h' = t.getKey k ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) {h' : contains k' (t.insertMany l ⋯).val = true} :
        (t.insertMany l ⋯).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.getKey_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) {h' : contains k' (t.insertMany! l).val = true} :
        (t.insertMany! l).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany l ⋯).val.getKey! k = t.getKey! k
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited α] (h : t.WF) {l : List ((a : α) × β a)} {k : α} (h' : (List.map Sigma.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        (t.insertMany l ⋯).val.getKey! k' = k
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertMany_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k fallback : α} (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany l ⋯).val.getKeyD k fallback = t.getKeyD k fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertMany!_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k fallback : α} (h' : (List.map Sigma.fst l).contains k = false) :
        (t.insertMany! l).val.getKeyD k fallback = t.getKeyD k fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertMany_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        (t.insertMany l ⋯).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertMany!_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        (t.insertMany! l).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.size_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) :
        (∀ (a : α), contains a t = true → (List.map Sigma.fst l).contains a = false) → (t.insertMany l ⋯).val.size = t.size + l.length
        theorem Std.DTreeMap.Internal.Impl.size_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List ((a : α) × β a)} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) :
        (∀ (a : α), contains a t = true → (List.map Sigma.fst l).contains a = false) → (t.insertMany! l).val.size = t.size + l.length
        theorem Std.DTreeMap.Internal.Impl.size_le_size_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} :
        t.size ≤ (t.insertMany l ⋯).val.size
        theorem Std.DTreeMap.Internal.Impl.size_le_size_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} :
        theorem Std.DTreeMap.Internal.Impl.size_insertMany_list_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} :
        theorem Std.DTreeMap.Internal.Impl.size_insertMany!_list_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insertMany_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insertMany!_list {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {l : List ((a : α) × β a)} :
        theorem Std.DTreeMap.Internal.Impl.Const.insertMany_cons {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {l : List (α × β)} {k : α} {v : β} :
        (insertMany t ((k, v) :: l) ⋯).val = (insertMany (insert k v t ⋯).impl l ⋯).val
        theorem Std.DTreeMap.Internal.Impl.Const.insertMany!_cons {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} {l : List (α × β)} {k : α} {v : β} :
        (insertMany! t ((k, v) :: l)).val = (insertMany! (insert! k v t) l).val
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.contains_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.contains_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.mem_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.mem_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.contains_of_contains_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.mem_of_mem_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        k ∈ (insertMany t l ⋯).val → (List.map Prod.fst l).contains k = false → k ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.contains_of_contains_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.mem_of_mem_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} :
        k ∈ (insertMany! t l).val → (List.map Prod.fst l).contains k = false → k ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        (insertMany t l ⋯).val.getKey? k = t.getKey? k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        (insertMany t l ⋯).val.getKey? k' = some k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h₁ : (List.map Prod.fst l).contains k = false) {h' : contains k (insertMany t l ⋯).val = true} :
        (insertMany t l ⋯).val.getKey k h' = t.getKey k ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h₁ : (List.map Prod.fst l).contains k = false) {h' : contains k (insertMany! t l).val = true} :
        (insertMany! t l).val.getKey k h' = t.getKey k ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) {h' : contains k' (insertMany t l ⋯).val = true} :
        (insertMany t l ⋯).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) {h' : contains k' (insertMany! t l).val = true} :
        (insertMany! t l).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited α] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        (insertMany t l ⋯).val.getKey! k = t.getKey! k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited α] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        (insertMany t l ⋯).val.getKey! k' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k fallback : α} (h' : (List.map Prod.fst l).contains k = false) :
        (insertMany t l ⋯).val.getKeyD k fallback = t.getKeyD k fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k fallback : α} (h' : (List.map Prod.fst l).contains k = false) :
        (insertMany! t l).val.getKeyD k fallback = t.getKeyD k fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        (insertMany t l ⋯).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        (insertMany! t l).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) :
        (∀ (a : α), contains a t = true → (List.map Prod.fst l).contains a = false) → (insertMany t l ⋯).val.size = t.size + l.length
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) :
        (∀ (a : α), contains a t = true → (List.map Prod.fst l).contains a = false) → (insertMany! t l).val.size = t.size + l.length
        theorem Std.DTreeMap.Internal.Impl.Const.size_le_size_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} :
        t.size ≤ (insertMany t l ⋯).val.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_le_size_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} :
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertMany_list_le {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} :
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertMany!_list_le {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_insertMany_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_insertMany!_list {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        get? (insertMany t l ⋯).val k = get? t k
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        get? (insertMany! t l).val k = get? t k
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        get? (insertMany t l ⋯).val k' = some v
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h₁ : (List.map Prod.fst l).contains k = false) {h' : contains k (insertMany t l ⋯).val = true} :
        get (insertMany t l ⋯).val k h' = get t k ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} (h₁ : (List.map Prod.fst l).contains k = false) {h' : contains k (insertMany! t l).val = true} :
        get (insertMany! t l).val k h' = get t k ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) {h' : contains k' (insertMany t l ⋯).val = true} :
        get (insertMany t l ⋯).val k' h' = v
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) {h' : contains k' (insertMany! t l).val = true} :
        get (insertMany! t l).val k' h' = v
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited β] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        get! (insertMany t l ⋯).val k = get! t k
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited β] (h : t.WF) {l : List (α × β)} {k : α} (h' : (List.map Prod.fst l).contains k = false) :
        get! (insertMany! t l).val k = get! t k
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {l : List (α × β)} {k k' : α} {v : β} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        get! (insertMany t l ⋯).val k' = v
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited β] (h : t.WF) {l : List (α × β)} {k k' : α} {v : β} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        get! (insertMany! t l).val k' = v
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertMany_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} {fallback : β} (h' : (List.map Prod.fst l).contains k = false) :
        getD (insertMany t l ⋯).val k fallback = getD t k fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertMany!_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List (α × β)} {k : α} {fallback : β} (h' : (List.map Prod.fst l).contains k = false) :
        getD (insertMany! t l).val k fallback = getD t k fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertMany_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} {v fallback : β} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        getD (insertMany t l ⋯).val k' fallback = v
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertMany!_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {l : List (α × β)} {k k' : α} {v fallback : β} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        getD (insertMany! t l).val k' fallback = v
        theorem Std.DTreeMap.Internal.Impl.Const.insertManyIfNewUnit_cons {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.insertManyIfNewUnit!_cons {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} {l : List α} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.contains_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.contains_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.mem_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.mem_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.contains_of_contains_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} (h₂ : l.contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.contains_of_contains_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} (h₂ : l.contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.mem_of_mem_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} (contains_eq_false : l.contains k = false) :
        k ∈ (insertManyIfNewUnit t l ⋯).val → k ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_of_mem_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} (contains_eq_false : l.contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit_list_of_not_mem_of_contains_eq_false {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        ¬k ∈ t → l.contains k = false → (insertManyIfNewUnit t l ⋯).val.getKey? k = none
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit!_list_of_not_mem_of_contains_eq_false {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit t l ⋯).val.getKey? k' = some k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit!_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit! t l).val.getKey? k' = some k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k : α} :
        k ∈ t → (insertManyIfNewUnit t l ⋯).val.getKey? k = t.getKey? k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit!_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k : α} {h' : contains k (insertManyIfNewUnit t l ⋯).val = true} (contains : k ∈ t) :
        (insertManyIfNewUnit t l ⋯).val.getKey k h' = t.getKey k contains
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit!_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k : α} {h' : contains k (insertManyIfNewUnit! t l).val = true} (contains : k ∈ t) :
        (insertManyIfNewUnit! t l).val.getKey k h' = t.getKey k contains
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) {h' : contains k' (insertManyIfNewUnit t l ⋯).val = true} :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit t l ⋯).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit!_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) {h' : contains k' (insertManyIfNewUnit! t l).val = true} :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit! t l).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit_list_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k : α} (contains : k ∈ t) {h' : Std.DTreeMap.Internal.Impl.contains k (insertManyIfNewUnit t l ⋯).val = true} :
        (insertManyIfNewUnit t l ⋯).val.getKey k h' = t.getKey k contains
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit!_list_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k : α} (contains : k ∈ t) {h' : Std.DTreeMap.Internal.Impl.contains k (insertManyIfNewUnit! t l).val = true} :
        (insertManyIfNewUnit! t l).val.getKey k h' = t.getKey k contains
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit_list_of_not_mem_of_contains_eq_false {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [BEq α] [LawfulBEqOrd α] [TransOrd α] [Inhabited α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit!_list_of_not_mem_of_contains_eq_false {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [BEq α] [LawfulBEqOrd α] [TransOrd α] [Inhabited α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [Inhabited α] (h : t.WF) {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit t l ⋯).val.getKey! k' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit!_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [Inhabited α] (h : t.WF) {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit! t l).val.getKey! k' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [Inhabited α] (h : t.WF) {l : List α} {k : α} :
        k ∈ t → (insertManyIfNewUnit t l ⋯).val.getKey! k = t.getKey! k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit!_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [Inhabited α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit_list_of_not_mem_of_contains_eq_false {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [BEq α] [LawfulBEqOrd α] [TransOrd α] (h : t.WF) {l : List α} {k fallback : α} :
        ¬k ∈ t → l.contains k = false → (insertManyIfNewUnit t l ⋯).val.getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit!_list_of_not_mem_of_contains_eq_false {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [BEq α] [LawfulBEqOrd α] [TransOrd α] (h : t.WF) {l : List α} {k fallback : α} :
        ¬k ∈ t → l.contains k = false → (insertManyIfNewUnit! t l).val.getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit t l ⋯).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit!_list_of_not_mem_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) :
        ¬k ∈ t → List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l → k ∈ l → (insertManyIfNewUnit! t l).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k fallback : α} :
        k ∈ t → (insertManyIfNewUnit t l ⋯).val.getKeyD k fallback = t.getKeyD k fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit!_list_of_mem {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} {k fallback : α} :
        k ∈ t → (insertManyIfNewUnit! t l).val.getKeyD k fallback = t.getKeyD k fallback
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) :
        (∀ (a : α), a ∈ t → l.contains a = false) → (insertManyIfNewUnit t l ⋯).val.size = t.size + l.length
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) :
        (∀ (a : α), a ∈ t → l.contains a = false) → (insertManyIfNewUnit! t l).val.size = t.size + l.length
        theorem Std.DTreeMap.Internal.Impl.Const.size_le_size_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} :
        theorem Std.DTreeMap.Internal.Impl.Const.size_le_size_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} :
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertManyIfNewUnit_list_le {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} :
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertManyIfNewUnit!_list_le {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] (h : t.WF) {l : List α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} [TransOrd α] [BEq α] [LawfulBEqOrd α] (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} (h : t.WF) {l : List α} {k : α} {h' : contains k (insertManyIfNewUnit t l ⋯).val = true} :
        get (insertManyIfNewUnit t l ⋯).val k h' = ()
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} {l : List α} {k : α} {h' : contains k (insertManyIfNewUnit! t l).val = true} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} (h : t.WF) {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} {l : List α} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertManyIfNewUnit_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} (h : t.WF) {l : List α} {k : α} {fallback : Unit} :
        getD (insertManyIfNewUnit t l ⋯).val k fallback = ()
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertManyIfNewUnit!_list {α : Type u} {instOrd : Ord α} {t : Impl α fun (x : α) => Unit} {l : List α} {k : α} {fallback : Unit} :
        getD (insertManyIfNewUnit! t l).val k fallback = ()
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.insertMany_empty_list_nil {α : Type u} {β : α → Type v} {instOrd : Ord α} :
        @[simp]
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.insertMany_empty_list_singleton {α : Type u} {β : α → Type v} {instOrd : Ord α} {k : α} {v : β k} :
        (empty.insertMany [⟨k, v⟩] ⋯).val = (insert k v empty ⋯).impl
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.insertMany!_empty_list_singleton {α : Type u} {β : α → Type v} {instOrd : Ord α} {k : α} {v : β k} :
        (empty.insertMany! [⟨k, v⟩]).val = (insert k v empty ⋯).impl
        theorem Std.DTreeMap.Internal.Impl.insertMany_empty_list_cons {α : Type u} {β : α → Type v} {instOrd : Ord α} {k : α} {v : β k} {tl : List ((a : α) × β a)} :
        (empty.insertMany (⟨k, v⟩ :: tl) ⋯).val = ((insert k v empty ⋯).impl.insertMany tl ⋯).val
        theorem Std.DTreeMap.Internal.Impl.insertMany_empty_list_cons_eq_insertMany! {α : Type u} {β : α → Type v} {instOrd : Ord α} {k : α} {v : β k} {tl : List ((a : α) × β a)} :
        (empty.insertMany (⟨k, v⟩ :: tl) ⋯).val = ((insert! k v empty).insertMany! tl).val
        theorem Std.DTreeMap.Internal.Impl.contains_insertMany_empty_list {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List ((a : α) × β a)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.get?_insertMany_empty_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k : α} (h : (List.map Sigma.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.get?_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (empty.insertMany l ⋯).val.get? k' = some (cast ⋯ v)
        theorem Std.DTreeMap.Internal.Impl.get_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) {h : k' ∈ (empty.insertMany l ⋯).val} :
        (empty.insertMany l ⋯).val.get k' h = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.get!_insertMany_empty_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k : α} [Inhabited (β k)] (h : (List.map Sigma.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.get!_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} [Inhabited (β k')] (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (empty.insertMany l ⋯).val.get! k' = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.getD_insertMany_empty_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k : α} {fallback : β k} (contains_eq_false : (List.map Sigma.fst l).contains k = false) :
        (empty.insertMany l ⋯).val.getD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getD_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [LawfulEqOrd α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β k} {fallback : β k'} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : ⟨k, v⟩ ∈ l) :
        (empty.insertMany l ⋯).val.getD k' fallback = cast ⋯ v
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertMany_empty_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List ((a : α) × β a)} {k : α} (h : (List.map Sigma.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.getKey?_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        theorem Std.DTreeMap.Internal.Impl.getKey_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) {h' : contains k' (empty.insertMany l ⋯).val = true} :
        (empty.insertMany l ⋯).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertMany_empty_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] [Inhabited α] {l : List ((a : α) × β a)} {k : α} (h : (List.map Sigma.fst l).contains k = false) :
        theorem Std.DTreeMap.Internal.Impl.getKey!_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [Inhabited α] {l : List ((a : α) × β a)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertMany_empty_list_of_contains_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List ((a : α) × β a)} {k fallback : α} (h : (List.map Sigma.fst l).contains k = false) :
        (empty.insertMany l ⋯).val.getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_insertMany_empty_list_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] {l : List ((a : α) × β a)} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Sigma.fst l) :
        (empty.insertMany l ⋯).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.size_insertMany_empty_list {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] {l : List ((a : α) × β a)} (distinct : List.Pairwise (fun (a b : (a : α) × β a) => ¬compare a.fst b.fst = Ordering.eq) l) :
        theorem Std.DTreeMap.Internal.Impl.size_insertMany_empty_list_le {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] {l : List ((a : α) × β a)} :
        theorem Std.DTreeMap.Internal.Impl.isEmpty_insertMany_empty_list {α : Type u} {β : α → Type v} {instOrd : Ord α} [TransOrd α] {l : List ((a : α) × β a)} :
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.insertMany_empty_list_singleton {α : Type u} {instOrd : Ord α} {β : Type v} {k : α} {v : β} :
        (insertMany empty [(k, v)] ⋯).val = (insert k v empty ⋯).impl
        theorem Std.DTreeMap.Internal.Impl.Const.insertMany_empty_list_cons {α : Type u} {instOrd : Ord α} {β : Type v} {k : α} {v : β} {tl : List (α × β)} :
        (insertMany empty ((k, v) :: tl) ⋯).val = (insertMany (insert k v empty ⋯).impl tl ⋯).val
        theorem Std.DTreeMap.Internal.Impl.Const.insertMany_empty_list_cons_eq_insertMany! {α : Type u} {instOrd : Ord α} {β : Type v} {k : α} {v : β} {tl : List (α × β)} :
        (insertMany empty ((k, v) :: tl) ⋯).val = (insertMany! (insert! k v empty) tl).val
        theorem Std.DTreeMap.Internal.Impl.Const.contains_insertMany_empty_list {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List (α × β)} {k : α} :
        theorem Std.DTreeMap.Internal.Impl.Const.get?_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        get? (insertMany empty l ⋯).val k' = some v
        theorem Std.DTreeMap.Internal.Impl.Const.get_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) {h : contains k' (insertMany empty l ⋯).val = true} :
        get (insertMany empty l ⋯).val k' h = v
        theorem Std.DTreeMap.Internal.Impl.Const.get!_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v : β} [Inhabited β] (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        get! (insertMany empty l ⋯).val k' = v
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertMany_empty_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List (α × β)} {k : α} {fallback : β} (contains_eq_false : (List.map Prod.fst l).contains k = false) :
        getD (insertMany empty l ⋯).val k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) {v fallback : β} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : (k, v) ∈ l) :
        getD (insertMany empty l ⋯).val k' fallback = v
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) {h' : contains k' (insertMany empty l ⋯).val = true} :
        (insertMany empty l ⋯).val.getKey k' h' = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] [Inhabited α] {l : List (α × β)} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertMany_empty_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List (α × β)} {k fallback : α} (h : (List.map Prod.fst l).contains k = false) :
        (insertMany empty l ⋯).val.getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertMany_empty_list_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) (mem : k ∈ List.map Prod.fst l) :
        (insertMany empty l ⋯).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertMany_empty_list {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} (distinct : List.Pairwise (fun (a b : α × β) => ¬compare a.fst b.fst = Ordering.eq) l) :
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertMany_empty_list_le {α : Type u} {instOrd : Ord α} {β : Type v} [TransOrd α] {l : List (α × β)} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_insertManyIfNewUnit_empty_list_of_mem {α : Type u} {instOrd : Ord α} [TransOrd α] {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) (mem : k ∈ l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_insertManyIfNewUnit_empty_list_of_mem {α : Type u} {instOrd : Ord α} [TransOrd α] {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) (mem : k ∈ l) {h' : contains k' (insertManyIfNewUnit empty l ⋯).val = true} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_insertManyIfNewUnit_empty_list_of_mem {α : Type u} {instOrd : Ord α} [TransOrd α] [Inhabited α] {l : List α} {k k' : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) (mem : k ∈ l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit_empty_list_of_contains_eq_false {α : Type u} {instOrd : Ord α} [TransOrd α] [BEq α] [LawfulBEqOrd α] {l : List α} {k fallback : α} (h' : l.contains k = false) :
        (insertManyIfNewUnit empty l ⋯).val.getKeyD k fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_insertManyIfNewUnit_empty_list_of_mem {α : Type u} {instOrd : Ord α} [TransOrd α] {l : List α} {k k' fallback : α} (k_beq : compare k k' = Ordering.eq) (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) (mem : k ∈ l) :
        (insertManyIfNewUnit empty l ⋯).val.getKeyD k' fallback = k
        theorem Std.DTreeMap.Internal.Impl.Const.size_insertManyIfNewUnit_empty_list {α : Type u} {instOrd : Ord α} [TransOrd α] {l : List α} (distinct : List.Pairwise (fun (a b : α) => ¬compare a b = Ordering.eq) l) :
        theorem Std.DTreeMap.Internal.Impl.Const.getD_insertManyIfNewUnit_empty_list {α : Type u} {instOrd : Ord α} {l : List α} {k : α} {fallback : Unit} :
        getD (insertManyIfNewUnit empty l ⋯).val k fallback = ()
        theorem Std.DTreeMap.Internal.Impl.isEmpty_alter_eq_isEmpty_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.isEmpty = ((erase k t ⋯).impl.isEmpty && (f (t.get? k)).isNone)
        theorem Std.DTreeMap.Internal.Impl.isEmpty_alter!_eq_isEmpty_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).isEmpty = ((erase! k t).isEmpty && (f (t.get? k)).isNone)
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.isEmpty_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.isEmpty = ((t.isEmpty || t.size == 1 && contains k t) && (f (t.get? k)).isNone)
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.isEmpty_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).isEmpty = ((t.isEmpty || t.size == 1 && contains k t) && (f (t.get? k)).isNone)
        theorem Std.DTreeMap.Internal.Impl.contains_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        contains k' (alter k f t ⋯).impl = if compare k k' = Ordering.eq then (f (t.get? k)).isSome else contains k' t
        theorem Std.DTreeMap.Internal.Impl.contains_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        contains k' (alter! k f t) = if compare k k' = Ordering.eq then (f (t.get? k)).isSome else contains k' t
        theorem Std.DTreeMap.Internal.Impl.mem_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        k' ∈ (alter k f t ⋯).impl ↔ if compare k k' = Ordering.eq then (f (t.get? k)).isSome = true else k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        k' ∈ alter! k f t ↔ if compare k k' = Ordering.eq then (f (t.get? k)).isSome = true else k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_alter_of_compare_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} (he : compare k k' = Ordering.eq) :
        k' ∈ (alter k f t ⋯).impl ↔ (f (t.get? k)).isSome = true
        theorem Std.DTreeMap.Internal.Impl.mem_alter!_of_compare_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} (he : compare k k' = Ordering.eq) :
        k' ∈ alter! k f t ↔ (f (t.get? k)).isSome = true
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.contains_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] {k : α} (h : t.WF) {f : Option (β k) → Option (β k)} :
        contains k (alter k f t ⋯).impl = (f (t.get? k)).isSome
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.contains_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        contains k (alter! k f t) = (f (t.get? k)).isSome
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.mem_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        k ∈ (alter k f t ⋯).impl ↔ (f (t.get? k)).isSome = true
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.mem_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        k ∈ alter! k f t ↔ (f (t.get? k)).isSome = true
        theorem Std.DTreeMap.Internal.Impl.contains_alter_of_not_compare_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} (he : ¬compare k k' = Ordering.eq) :
        contains k' (alter k f t ⋯).impl = contains k' t
        theorem Std.DTreeMap.Internal.Impl.contains_alter!_of_not_compare_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} (he : ¬compare k k' = Ordering.eq) :
        contains k' (alter! k f t) = contains k' t
        theorem Std.DTreeMap.Internal.Impl.mem_alter_of_not_compare_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} (he : ¬compare k k' = Ordering.eq) :
        k' ∈ (alter k f t ⋯).impl ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.mem_alter!_of_not_compare_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} (he : ¬compare k k' = Ordering.eq) :
        k' ∈ alter! k f t ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.size_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.size = if k ∈ t ∧ (f (t.get? k)).isNone = true then t.size - 1 else if ¬k ∈ t ∧ (f (t.get? k)).isSome = true then t.size + 1 else t.size
        theorem Std.DTreeMap.Internal.Impl.size_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).size = if k ∈ t ∧ (f (t.get? k)).isNone = true then t.size - 1 else if ¬k ∈ t ∧ (f (t.get? k)).isSome = true then t.size + 1 else t.size
        theorem Std.DTreeMap.Internal.Impl.size_alter_eq_add_one {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : ¬k ∈ t) (h₂ : (f (t.get? k)).isSome = true) :
        (alter k f t ⋯).impl.size = t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_alter!_eq_add_one {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : ¬k ∈ t) (h₂ : (f (t.get? k)).isSome = true) :
        (alter! k f t).size = t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_alter_eq_sub_one {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : k ∈ t) (h₂ : (f (t.get? k)).isNone = true) :
        (alter k f t ⋯).impl.size = t.size - 1
        theorem Std.DTreeMap.Internal.Impl.size_alter!_eq_sub_one {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : k ∈ t) (h₂ : (f (t.get? k)).isNone = true) :
        (alter! k f t).size = t.size - 1
        theorem Std.DTreeMap.Internal.Impl.size_alter_eq_self_of_not_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : ¬k ∈ t) (h₂ : (f (t.get? k)).isNone = true) :
        (alter k f t ⋯).impl.size = t.size
        theorem Std.DTreeMap.Internal.Impl.size_alter!_eq_self_of_not_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : ¬k ∈ t) (h₂ : (f (t.get? k)).isNone = true) :
        (alter! k f t).size = t.size
        theorem Std.DTreeMap.Internal.Impl.size_alter_eq_self_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : k ∈ t) (h₂ : (f (t.get? k)).isSome = true) :
        (alter k f t ⋯).impl.size = t.size
        theorem Std.DTreeMap.Internal.Impl.size_alter!_eq_self_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (h₁ : k ∈ t) (h₂ : (f (t.get? k)).isSome = true) :
        (alter! k f t).size = t.size
        theorem Std.DTreeMap.Internal.Impl.size_alter_le_size {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_alter!_le_size {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.size_le_size_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        t.size - 1 ≤ (alter k f t ⋯).impl.size
        theorem Std.DTreeMap.Internal.Impl.size_le_size_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        t.size - 1 ≤ (alter! k f t).size
        theorem Std.DTreeMap.Internal.Impl.get?_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.get? k' = if h : compare k k' = Ordering.eq then cast ⋯ (f (t.get? k)) else t.get? k'
        theorem Std.DTreeMap.Internal.Impl.get?_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).get? k' = if h : compare k k' = Ordering.eq then cast ⋯ (f (t.get? k)) else t.get? k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get?_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.get? k = f (t.get? k)
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get?_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).get? k = f (t.get? k)
        theorem Std.DTreeMap.Internal.Impl.get_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} {hc : k' ∈ (alter k f t ⋯).impl} :
        (alter k f t ⋯).impl.get k' hc = if heq : compare k k' = Ordering.eq then cast ⋯ ((f (t.get? k)).get ⋯) else t.get k' ⋯
        theorem Std.DTreeMap.Internal.Impl.get_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} {hc : k' ∈ alter! k f t} :
        (alter! k f t).get k' hc = if heq : compare k k' = Ordering.eq then cast ⋯ ((f (t.get? k)).get ⋯) else t.get k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {hc : k ∈ (alter k f t ⋯).impl} :
        (alter k f t ⋯).impl.get k hc = (f (t.get? k)).get ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {hc : k ∈ alter! k f t} :
        (alter! k f t).get k hc = (f (t.get? k)).get ⋯
        theorem Std.DTreeMap.Internal.Impl.get!_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} [Inhabited (β k')] {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.get! k' = if heq : compare k k' = Ordering.eq then (Option.map (cast ⋯) (f (t.get? k))).get! else t.get! k'
        theorem Std.DTreeMap.Internal.Impl.get!_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} [Inhabited (β k')] {f : Option (β k) → Option (β k)} :
        (alter! k f t).get! k' = if heq : compare k k' = Ordering.eq then (Option.map (cast ⋯) (f (t.get? k))).get! else t.get! k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get!_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} [Inhabited (β k)] {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.get! k = (f (t.get? k)).get!
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get!_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} [Inhabited (β k)] {f : Option (β k) → Option (β k)} :
        (alter! k f t).get! k = (f (t.get? k)).get!
        theorem Std.DTreeMap.Internal.Impl.getD_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {fallback : β k'} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.getD k' fallback = if heq : compare k k' = Ordering.eq then (Option.map (cast ⋯) (f (t.get? k))).getD fallback else t.getD k' fallback
        theorem Std.DTreeMap.Internal.Impl.getD_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {fallback : β k'} {f : Option (β k) → Option (β k)} :
        (alter! k f t).getD k' fallback = if heq : compare k k' = Ordering.eq then (Option.map (cast ⋯) (f (t.get? k))).getD fallback else t.getD k' fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getD_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {fallback : β k} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.getD k fallback = (f (t.get? k)).getD fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getD_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {fallback : β k} {f : Option (β k) → Option (β k)} :
        (alter! k f t).getD k fallback = (f (t.get? k)).getD fallback
        theorem Std.DTreeMap.Internal.Impl.getKey?_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.getKey? k = if (f (t.get? k)).isSome = true then some k else none
        theorem Std.DTreeMap.Internal.Impl.getKey?_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).getKey? k = if (f (t.get? k)).isSome = true then some k else none
        theorem Std.DTreeMap.Internal.Impl.getKey!_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.getKey! k = if (f (t.get? k)).isSome = true then k else default
        theorem Std.DTreeMap.Internal.Impl.getKey!_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).getKey! k = if (f (t.get? k)).isSome = true then k else default
        theorem Std.DTreeMap.Internal.Impl.getKey_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} {hc : k' ∈ (alter k f t ⋯).impl} :
        (alter k f t ⋯).impl.getKey k' hc = if heq : compare k k' = Ordering.eq then k else t.getKey k' ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option (β k) → Option (β k)} {hc : k' ∈ alter! k f t} :
        (alter! k f t).getKey k' hc = if heq : compare k k' = Ordering.eq then k else t.getKey k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKey_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {hc : k ∈ (alter k f t ⋯).impl} :
        (alter k f t ⋯).impl.getKey k hc = k
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKey_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {hc : k ∈ alter! k f t} :
        (alter! k f t).getKey k hc = k
        theorem Std.DTreeMap.Internal.Impl.getKeyD_alter {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' fallback : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.getKeyD k' fallback = if compare k k' = Ordering.eq then if (f (t.get? k)).isSome = true then k else fallback else t.getKeyD k' fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_alter! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' fallback : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).getKeyD k' fallback = if compare k k' = Ordering.eq then if (f (t.get? k)).isSome = true then k else fallback else t.getKeyD k' fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKeyD_alter_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k fallback : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.getKeyD k fallback = if (f (t.get? k)).isSome = true then k else fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKeyD_alter!_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k fallback : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).getKeyD k fallback = if (f (t.get? k)).isSome = true then k else fallback
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_alter_eq_isEmpty_erase {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.isEmpty = ((erase k t ⋯).impl.isEmpty && (f (get? t k)).isNone)
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_alter!_eq_isEmpty_erase {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).isEmpty = ((erase! k t).isEmpty && (f (get? t k)).isNone)
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.isEmpty = ((t.isEmpty || t.size == 1 && contains k t) && (f (get? t k)).isNone)
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).isEmpty = ((t.isEmpty || t.size == 1 && contains k t) && (f (get? t k)).isNone)
        theorem Std.DTreeMap.Internal.Impl.Const.contains_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        contains k' (alter k f t ⋯).impl = if compare k k' = Ordering.eq then (f (get? t k)).isSome else contains k' t
        theorem Std.DTreeMap.Internal.Impl.Const.contains_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        contains k' (alter! k f t) = if compare k k' = Ordering.eq then (f (get? t k)).isSome else contains k' t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        k' ∈ (alter k f t ⋯).impl ↔ if compare k k' = Ordering.eq then (f (get? t k)).isSome = true else k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        k' ∈ alter! k f t ↔ if compare k k' = Ordering.eq then (f (get? t k)).isSome = true else k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter_of_compare_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} (he : compare k k' = Ordering.eq) :
        k' ∈ (alter k f t ⋯).impl ↔ (f (get? t k)).isSome = true
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter!_of_compare_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} (he : compare k k' = Ordering.eq) :
        k' ∈ alter! k f t ↔ (f (get? t k)).isSome = true
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.contains_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} (h : t.WF) {f : Option β → Option β} :
        contains k (alter k f t ⋯).impl = (f (get? t k)).isSome
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.contains_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        contains k (alter! k f t) = (f (get? t k)).isSome
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        k ∈ (alter k f t ⋯).impl ↔ (f (get? t k)).isSome = true
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        k ∈ alter! k f t ↔ (f (get? t k)).isSome = true
        theorem Std.DTreeMap.Internal.Impl.Const.contains_alter_of_not_compare_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} (he : ¬compare k k' = Ordering.eq) :
        contains k' (alter k f t ⋯).impl = contains k' t
        theorem Std.DTreeMap.Internal.Impl.Const.contains_alter!_of_not_compare_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} (he : ¬compare k k' = Ordering.eq) :
        contains k' (alter! k f t) = contains k' t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter_of_not_compare_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} (he : ¬compare k k' = Ordering.eq) :
        k' ∈ (alter k f t ⋯).impl ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_alter!_of_not_compare_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} (he : ¬compare k k' = Ordering.eq) :
        k' ∈ alter! k f t ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.size = if k ∈ t ∧ (f (get? t k)).isNone = true then t.size - 1 else if ¬k ∈ t ∧ (f (get? t k)).isSome = true then t.size + 1 else t.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).size = if k ∈ t ∧ (f (get? t k)).isNone = true then t.size - 1 else if ¬k ∈ t ∧ (f (get? t k)).isSome = true then t.size + 1 else t.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter_eq_add_one {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : ¬k ∈ t) (h₂ : (f (get? t k)).isSome = true) :
        (alter k f t ⋯).impl.size = t.size + 1
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter!_eq_add_one {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : ¬k ∈ t) (h₂ : (f (get? t k)).isSome = true) :
        (alter! k f t).size = t.size + 1
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter_eq_sub_one {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : k ∈ t) (h₂ : (f (get? t k)).isNone = true) :
        (alter k f t ⋯).impl.size = t.size - 1
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter!_eq_sub_one {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : k ∈ t) (h₂ : (f (get? t k)).isNone = true) :
        (alter! k f t).size = t.size - 1
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter_eq_self_of_not_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : ¬k ∈ t) (h₂ : (f (get? t k)).isNone = true) :
        (alter k f t ⋯).impl.size = t.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter!_eq_self_of_not_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : ¬k ∈ t) (h₂ : (f (get? t k)).isNone = true) :
        (alter! k f t).size = t.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter_eq_self_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : k ∈ t) (h₂ : (f (get? t k)).isSome = true) :
        (alter k f t ⋯).impl.size = t.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter!_eq_self_of_mem {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (h₁ : k ∈ t) (h₂ : (f (get? t k)).isSome = true) :
        (alter! k f t).size = t.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter_le_size {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.Const.size_alter!_le_size {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).size ≤ t.size + 1
        theorem Std.DTreeMap.Internal.Impl.Const.size_le_size_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        t.size - 1 ≤ (alter k f t ⋯).impl.size
        theorem Std.DTreeMap.Internal.Impl.Const.size_le_size_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        t.size - 1 ≤ (alter! k f t).size
        theorem Std.DTreeMap.Internal.Impl.Const.get?_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        get? (alter k f t ⋯).impl k' = if compare k k' = Ordering.eq then f (get? t k) else get? t k'
        theorem Std.DTreeMap.Internal.Impl.Const.get?_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        get? (alter! k f t) k' = if compare k k' = Ordering.eq then f (get? t k) else get? t k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get?_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        get? (alter k f t ⋯).impl k = f (get? t k)
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get?_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        get? (alter! k f t) k = f (get? t k)
        theorem Std.DTreeMap.Internal.Impl.Const.get_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} {hc : k' ∈ (alter k f t ⋯).impl} :
        get (alter k f t ⋯).impl k' hc = if heq : compare k k' = Ordering.eq then (f (get? t k)).get ⋯ else get t k' ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} {hc : k' ∈ alter! k f t} :
        get (alter! k f t) k' hc = if heq : compare k k' = Ordering.eq then (f (get? t k)).get ⋯ else get t k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} {hc : k ∈ (alter k f t ⋯).impl} :
        get (alter k f t ⋯).impl k hc = (f (get? t k)).get ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} {hc : k ∈ alter! k f t} :
        get (alter! k f t) k hc = (f (get? t k)).get ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.get!_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} [Inhabited β] {f : Option β → Option β} :
        get! (alter k f t ⋯).impl k' = if compare k k' = Ordering.eq then (f (get? t k)).get! else get! t k'
        theorem Std.DTreeMap.Internal.Impl.Const.get!_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} [Inhabited β] {f : Option β → Option β} :
        get! (alter! k f t) k' = if compare k k' = Ordering.eq then (f (get? t k)).get! else get! t k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get!_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} [Inhabited β] {f : Option β → Option β} :
        get! (alter k f t ⋯).impl k = (f (get? t k)).get!
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get!_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} [Inhabited β] {f : Option β → Option β} :
        get! (alter! k f t) k = (f (get? t k)).get!
        theorem Std.DTreeMap.Internal.Impl.Const.getD_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {fallback : β} {f : Option β → Option β} :
        getD (alter k f t ⋯).impl k' fallback = if compare k k' = Ordering.eq then (f (get? t k)).getD fallback else getD t k' fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getD_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {fallback : β} {f : Option β → Option β} :
        getD (alter! k f t) k' fallback = if compare k k' = Ordering.eq then (f (get? t k)).getD fallback else getD t k' fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getD_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {fallback : β} {f : Option β → Option β} :
        getD (alter k f t ⋯).impl k fallback = (f (get? t k)).getD fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getD_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {fallback : β} {f : Option β → Option β} :
        getD (alter! k f t) k fallback = (f (get? t k)).getD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.getKey? k = if (f (get? t k)).isSome = true then some k else none
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).getKey? k = if (f (get? t k)).isSome = true then some k else none
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option β → Option β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.getKey! k = if (f (get? t k)).isSome = true then k else default
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).getKey! k = if (f (get? t k)).isSome = true then k else default
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option β → Option β} {hc : k' ∈ (alter k f t ⋯).impl} :
        (alter k f t ⋯).impl.getKey k' hc = if heq : compare k k' = Ordering.eq then k else t.getKey k' ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k k' : α} {f : Option β → Option β} {hc : k' ∈ alter! k f t} :
        (alter! k f t).getKey k' hc = if heq : compare k k' = Ordering.eq then k else t.getKey k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} {hc : k ∈ (alter k f t ⋯).impl} :
        (alter k f t ⋯).impl.getKey k hc = k
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} {hc : k ∈ alter! k f t} :
        (alter! k f t).getKey k hc = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_alter {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' fallback : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.getKeyD k' fallback = if compare k k' = Ordering.eq then if (f (get? t k)).isSome = true then k else fallback else t.getKeyD k' fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_alter! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k k' fallback : α} {f : Option β → Option β} :
        (alter! k f t).getKeyD k' fallback = if compare k k' = Ordering.eq then if (f (get? t k)).isSome = true then k else fallback else t.getKeyD k' fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_alter_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k fallback : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.getKeyD k fallback = if (f (get? t k)).isSome = true then k else fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_alter!_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k fallback : α} {f : Option β → Option β} :
        (alter! k f t).getKeyD k fallback = if (f (get? t k)).isSome = true then k else fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.isEmpty_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : β k → β k} :
        contains k' (modify k f t) = contains k' t
        theorem Std.DTreeMap.Internal.Impl.mem_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : β k → β k} :
        k' ∈ modify k f t ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.size_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} :
        (modify k f t).size = t.size
        theorem Std.DTreeMap.Internal.Impl.get?_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : β k → β k} :
        (modify k f t).get? k' = if h : compare k k' = Ordering.eq then cast ⋯ (Option.map f (t.get? k)) else t.get? k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get?_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} :
        (modify k f t).get? k = Option.map f (t.get? k)
        theorem Std.DTreeMap.Internal.Impl.get_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : β k → β k} {hc : k' ∈ modify k f t} :
        (modify k f t).get k' hc = if heq : compare k k' = Ordering.eq then cast ⋯ (f (t.get k ⋯)) else t.get k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} {hc : k ∈ modify k f t} :
        (modify k f t).get k hc = f (t.get k ⋯)
        theorem Std.DTreeMap.Internal.Impl.get!_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} [hi : Inhabited (β k')] {f : β k → β k} :
        (modify k f t).get! k' = if heq : compare k k' = Ordering.eq then (Option.map (cast ⋯) (Option.map f (t.get? k))).get! else t.get! k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.get!_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} [Inhabited (β k)] {f : β k → β k} :
        (modify k f t).get! k = (Option.map f (t.get? k)).get!
        theorem Std.DTreeMap.Internal.Impl.getD_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {fallback : β k'} {f : β k → β k} :
        (modify k f t).getD k' fallback = if heq : compare k k' = Ordering.eq then (Option.map (cast ⋯) (Option.map f (t.get? k))).getD fallback else t.getD k' fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getD_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {fallback : β k} {f : β k → β k} :
        (modify k f t).getD k fallback = (Option.map f (t.get? k)).getD fallback
        theorem Std.DTreeMap.Internal.Impl.getKey?_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' : α} {f : β k → β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey?_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} :
        (modify k f t).getKey? k = if k ∈ t then some k else none
        theorem Std.DTreeMap.Internal.Impl.getKey!_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) [Inhabited α] {k k' : α} {f : β k → β k} :
        theorem Std.DTreeMap.Internal.Impl.getKey!_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) [Inhabited α] {k : α} {f : β k → β k} :
        (modify k f t).getKey! k = if k ∈ t then k else default
        theorem Std.DTreeMap.Internal.Impl.getKey_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) [Inhabited α] {k k' : α} {f : β k → β k} {hc : k' ∈ modify k f t} :
        (modify k f t).getKey k' hc = if compare k k' = Ordering.eq then k else t.getKey k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.getKey_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) [Inhabited α] {k : α} {f : β k → β k} {hc : k ∈ modify k f t} :
        (modify k f t).getKey k hc = k
        theorem Std.DTreeMap.Internal.Impl.getKeyD_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k k' fallback : α} {f : β k → β k} :
        (modify k f t).getKeyD k' fallback = if compare k k' = Ordering.eq then if k ∈ t then k else fallback else t.getKeyD k' fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_modify_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) [Inhabited α] {k fallback : α} {f : β k → β k} :
        (modify k f t).getKeyD k fallback = if k ∈ t then k else fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.isEmpty_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.contains_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} {f : β → β} :
        contains k' (modify k f t) = contains k' t
        theorem Std.DTreeMap.Internal.Impl.Const.mem_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} {f : β → β} :
        k' ∈ modify k f t ↔ k' ∈ t
        theorem Std.DTreeMap.Internal.Impl.Const.size_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} {f : β → β} :
        (modify k f t).size = t.size
        theorem Std.DTreeMap.Internal.Impl.Const.get?_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} {f : β → β} :
        get? (modify k f t) k' = if compare k k' = Ordering.eq then Option.map f (get? t k) else get? t k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get?_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} {f : β → β} :
        get? (modify k f t) k = Option.map f (get? t k)
        theorem Std.DTreeMap.Internal.Impl.Const.get_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} {f : β → β} {hc : k' ∈ modify k f t} :
        get (modify k f t) k' hc = if heq : compare k k' = Ordering.eq then f (get t k ⋯) else get t k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} {f : β → β} {hc : k ∈ modify k f t} :
        get (modify k f t) k hc = f (get t k ⋯)
        theorem Std.DTreeMap.Internal.Impl.Const.get!_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} [hi : Inhabited β] {f : β → β} :
        get! (modify k f t) k' = if compare k k' = Ordering.eq then (Option.map f (get? t k)).get! else get! t k'
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.get!_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} [Inhabited β] {f : β → β} :
        get! (modify k f t) k = (Option.map f (get? t k)).get!
        theorem Std.DTreeMap.Internal.Impl.Const.getD_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} {fallback : β} {f : β → β} :
        getD (modify k f t) k' fallback = if compare k k' = Ordering.eq then (Option.map f (get? t k)).getD fallback else getD t k' fallback
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getD_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} {fallback : β} {f : β → β} :
        getD (modify k f t) k fallback = (Option.map f (get? t k)).getD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey?_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k : α} {f : β → β} :
        (modify k f t).getKey? k = if k ∈ t then some k else none
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) [Inhabited α] {k k' : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.getKey!_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) [Inhabited α] {k : α} {f : β → β} :
        (modify k f t).getKey! k = if k ∈ t then k else default
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) [Inhabited α] {k k' : α} {f : β → β} {hc : k' ∈ modify k f t} :
        (modify k f t).getKey k' hc = if compare k k' = Ordering.eq then k else t.getKey k' ⋯
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.Const.getKey_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) [Inhabited α] {k : α} {f : β → β} {hc : k ∈ modify k f t} :
        (modify k f t).getKey k hc = k
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_modify {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) {k k' fallback : α} {f : β → β} :
        (modify k f t).getKeyD k' fallback = if compare k k' = Ordering.eq then if k ∈ t then k else fallback else t.getKeyD k' fallback
        theorem Std.DTreeMap.Internal.Impl.Const.getKeyD_modify_self {α : Type u} {instOrd : Ord α} [TransOrd α] {β : Type v} {t : Impl α fun (x : α) => β} (h : t.WF) [Inhabited α] {k fallback : α} {f : β → β} :
        (modify k f t).getKeyD k fallback = if k ∈ t then k else fallback
        theorem Std.DTreeMap.Internal.Impl.minKey?_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = true) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_none_iff {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_some_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} :
        t.minKey? = some km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_some_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {km : α} :
        t.minKey? = some km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.isNone_minKey?_eq_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_eq_not_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_iff_isEmpty_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.minKey? = some (t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k')
        theorem Std.DTreeMap.Internal.Impl.minKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).minKey? = some (t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k')
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey?_insert_le_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.minKey? = some km) (hkmi : (insert k v t ⋯).impl.minKey?.get ⋯ = kmi) :
        (compare kmi km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insert!_le_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.minKey? = some km) (hkmi : (insert! k v t).minKey?.get ⋯ = kmi) :
        (compare kmi km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insert_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insert k v t ⋯).impl.minKey?.get ⋯ = kmi) :
        (compare kmi k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insert!_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insert! k v t).minKey?.get ⋯ = kmi) :
        (compare kmi k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.contains_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} (hkm : t.minKey? = some km) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} (hkm : t.minKey? = some km) :
        km ∈ t
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : contains k t = true) :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        k ∈ t → t.minKey?.isSome = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_le_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km : α} (hc : contains k t = true) (hkm : t.minKey?.get ⋯ = km) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_le_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km : α} (hc : k ∈ t) (hkm : t.minKey?.get ⋯ = km) :
        theorem Std.DTreeMap.Internal.Impl.le_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] {k : α} (h : t.WF) :
        (∀ (k' : α), t.minKey? = some k' → (compare k k').isLE = true) ↔ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} (hkm : t.minKey? = some km) :
        t.getKey? km = some km
        theorem Std.DTreeMap.Internal.Impl.getKey_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} {hc : contains km t = true} (hkm : t.minKey?.get ⋯ = km) :
        t.getKey km hc = km
        theorem Std.DTreeMap.Internal.Impl.getKey!_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {km : α} (hkm : t.minKey? = some km) :
        t.getKey! km = km
        theorem Std.DTreeMap.Internal.Impl.getKeyD_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km fallback : α} (hkm : t.minKey? = some km) :
        t.getKeyD km fallback = km
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.minKey?_bind_getKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_erase_eq_iff_not_compare_eq_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.minKey? = t.minKey? ↔ ∀ {km : α}, t.minKey? = some km → ¬compare k km = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.minKey?_erase!_eq_iff_not_compare_eq_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase! k t).minKey? = t.minKey? ↔ ∀ {km : α}, t.minKey? = some km → ¬compare k km = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.minKey?_erase_eq_of_not_compare_eq_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : ∀ {km : α}, t.minKey? = some km → ¬compare k km = Ordering.eq) :
        (erase k t ⋯).impl.minKey? = t.minKey?
        theorem Std.DTreeMap.Internal.Impl.minKey?_erase!_eq_of_not_compare_eq_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : ∀ {km : α}, t.minKey? = some km → ¬compare k km = Ordering.eq) :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_of_isSome_minKey?_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hs : (erase k t ⋯).impl.minKey?.isSome = true) :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_of_isSome_minKey?_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hs : (erase! k t).minKey?.isSome = true) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_le_minKey?_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km kme : α} (hkme : (erase k t ⋯).impl.minKey? = some kme) (hkm : t.minKey?.get ⋯ = km) :
        (compare km kme).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_le_minKey?_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km kme : α} (hkme : (erase! k t).minKey? = some kme) (hkm : t.minKey?.get ⋯ = km) :
        (compare km kme).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.minKey? = some (t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k')
        theorem Std.DTreeMap.Internal.Impl.minKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew! k v t).minKey? = some (t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k')
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.isSome_minKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey?_insertIfNew_le_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.minKey? = some km) (hkmi : (insertIfNew k v t ⋯).impl.minKey?.get ⋯ = kmi) :
        (compare kmi km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insertIfNew!_le_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.minKey? = some km) (hkmi : (insertIfNew! k v t).minKey?.get ⋯ = kmi) :
        (compare kmi km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insertIfNew_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insertIfNew k v t ⋯).impl.minKey?.get ⋯ = kmi) :
        (compare kmi k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_insertIfNew!_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insertIfNew! k v t).minKey?.get ⋯ = kmi) :
        (compare kmi k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_head?_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] {k : α} {f : β k → β k} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKey?_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.minKey? = some k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey?_alter!_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).minKey? = some k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKey?_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} :
        (modify k f t).minKey? = Option.map (fun (km : α) => if compare km k = Ordering.eq then k else km) t.minKey?
        theorem Std.DTreeMap.Internal.Impl.Const.minKey?_modify_eq_minKey? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.isSome_minKey?_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} {f : β → β} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.Const.isSome_minKey?_modify_eq_isSome {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.compare_minKey?_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {km kmm : α} (hkm : t.minKey? = some km) (hkmm : (modify k f t).minKey?.get ⋯ = kmm) :
        theorem Std.DTreeMap.Internal.Impl.Const.minKey?_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.minKey? = some k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKey?_alter!_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).minKey? = some k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_eq_get_minKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.minKey he = t.minKey?.get ⋯
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_some_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.minKey? = some (t.minKey he)
        theorem Std.DTreeMap.Internal.Impl.minKey_eq_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {km : α} :
        t.minKey he = km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_eq_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {he : t.isEmpty = false} {km : α} :
        t.minKey he = km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.minKey ⋯ = t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKey_insert_le_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {he : t.isEmpty = false} :
        (compare ((insert k v t ⋯).impl.minKey ⋯) (t.minKey he)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_insert_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (compare ((insert k v t ⋯).impl.minKey ⋯) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.contains_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        theorem Std.DTreeMap.Internal.Impl.minKey_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.minKey he ∈ t
        theorem Std.DTreeMap.Internal.Impl.minKey_le_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : contains k t = true) :
        (compare (t.minKey ⋯) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_le_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : k ∈ t) :
        (compare (t.minKey ⋯) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.le_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : t.isEmpty = false} :
        (compare k (t.minKey he)).isLE = true ↔ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.getKey? (t.minKey he) = some (t.minKey he)
        theorem Std.DTreeMap.Internal.Impl.getKey_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {hc : contains (t.minKey he) t = true} :
        t.getKey (t.minKey he) hc = t.minKey he
        theorem Std.DTreeMap.Internal.Impl.getKey!_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {he : t.isEmpty = false} :
        t.getKey! (t.minKey he) = t.minKey he
        theorem Std.DTreeMap.Internal.Impl.getKeyD_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {fallback : α} :
        t.getKeyD (t.minKey he) fallback = t.minKey he
        theorem Std.DTreeMap.Internal.Impl.minKey_erase_eq_iff_not_compare_eq_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : (erase k t ⋯).impl.isEmpty = false} :
        (erase k t ⋯).impl.minKey he = t.minKey ⋯ ↔ ¬compare k (t.minKey ⋯) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.minKey_erase_eq_of_not_compare_eq_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : (erase k t ⋯).impl.isEmpty = false} (hc : ¬compare k (t.minKey ⋯) = Ordering.eq) :
        (erase k t ⋯).impl.minKey he = t.minKey ⋯
        theorem Std.DTreeMap.Internal.Impl.minKey_le_minKey_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : (erase k t ⋯).impl.isEmpty = false} :
        (compare (t.minKey ⋯) ((erase k t ⋯).impl.minKey he)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.minKey ⋯ = t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKey_insertIfNew_le_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {he : t.isEmpty = false} :
        (compare ((insertIfNew k v t ⋯).impl.minKey ⋯) (t.minKey he)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_insertIfNew_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (compare ((insertIfNew k v t ⋯).impl.minKey ⋯) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_eq_head_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.minKey he = t.keys.head ⋯
        theorem Std.DTreeMap.Internal.Impl.minKey_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} {he : (modify k f t).isEmpty = false} :
        (modify k f t).minKey he = t.minKey ⋯
        theorem Std.DTreeMap.Internal.Impl.minKey_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {he : (alter k f t ⋯).impl.isEmpty = false} :
        (alter k f t ⋯).impl.minKey he = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKey_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {he : (modify k f t).isEmpty = false} :
        (modify k f t).minKey he = if compare (t.minKey ⋯) k = Ordering.eq then k else t.minKey ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.minKey_modify_eq_minKey {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β → β} {he : (modify k f t).isEmpty = false} :
        (modify k f t).minKey he = t.minKey ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.compare_minKey_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {he : (modify k f t).isEmpty = false} :
        compare ((modify k f t).minKey he) (t.minKey ⋯) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.Const.minKey_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} {he : (alter k f t ⋯).impl.isEmpty = false} :
        (alter k f t ⋯).impl.minKey he = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_eq_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {he : t.isEmpty = false} :
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_some_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_eq_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = true) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_eq_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {km : α} :
        t.minKey! = km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey!_eq_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {km : α} :
        t.minKey! = km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey!_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.minKey! = t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKey!_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).minKey! = t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKey!_insert_le_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_insert!_le_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_insert_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (compare (insert k v t ⋯).impl.minKey! k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey!_insert!_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_le_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (hc : contains k t = true) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_le_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (hc : k ∈ t) :
        theorem Std.DTreeMap.Internal.Impl.le_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} :
        (compare k t.minKey!).isLE = true ↔ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.getKey_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {he : contains t.minKey! t = true} :
        theorem Std.DTreeMap.Internal.Impl.getKey_minKey!_eq_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {hc : contains t.minKey! t = true} :
        t.getKey t.minKey! hc = t.minKey ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey!_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.getKeyD_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.getKeyD t.minKey! fallback = t.minKey!
        theorem Std.DTreeMap.Internal.Impl.minKey!_erase_eq_iff_not_compare_minKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_erase!_eq_iff_not_compare_minKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_erase_eq_of_not_compare_minKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) (heq : ¬compare k t.minKey! = Ordering.eq) :
        (erase k t ⋯).impl.minKey! = t.minKey!
        theorem Std.DTreeMap.Internal.Impl.minKey!_erase!_eq_of_not_compare_minKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) (heq : ¬compare k t.minKey! = Ordering.eq) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_le_minKey!_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_le_minKey!_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.minKey! = t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKey!_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew! k v t).minKey! = t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKey!_insertIfNew_le_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_insertIfNew!_le_minKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_insertIfNew_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_insertIfNew!_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_eq_head!_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKey!_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β k → β k} :
        theorem Std.DTreeMap.Internal.Impl.minKey!_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (he : (alter k f t ⋯).impl.isEmpty = false) :
        (alter k f t ⋯).impl.minKey! = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey!_alter!_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (he : (alter! k f t).isEmpty = false) :
        (alter! k f t).minKey! = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKey!_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β → β} (he : (modify k f t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.minKey!_modify_eq_minKey! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.compare_minKey!_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.minKey!_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter k f t ⋯).impl.isEmpty = false) :
        (alter k f t ⋯).impl.minKey! = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKey!_alter!_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter! k f t).isEmpty = false) :
        (alter! k f t).minKey! = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKey_eq_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {fallback : α} :
        t.minKey he = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.minKey?_eq_some_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} (he : t.isEmpty = false) :
        t.minKey? = some (t.minKeyD fallback)
        theorem Std.DTreeMap.Internal.Impl.minKeyD_eq_fallback {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} (he : t.isEmpty = true) :
        t.minKeyD fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.minKey!_eq_minKeyD_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.minKeyD_eq_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {km fallback : α} :
        t.minKeyD fallback = km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_eq_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) (he : t.isEmpty = false) {km fallback : α} :
        t.minKeyD fallback = km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare km k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insert k v t ⋯).impl.minKeyD fallback = t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insert! k v t).minKeyD fallback = t.minKey?.elim k fun (k' : α) => if (compare k k').isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insert_le_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare ((insert k v t ⋯).impl.minKeyD fallback) (t.minKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insert!_le_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare ((insert! k v t).minKeyD fallback) (t.minKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insert_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare ((insert k v t ⋯).impl.minKeyD fallback) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insert!_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare ((insert! k v t).minKeyD fallback) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.contains_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        contains (t.minKeyD fallback) t = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.minKeyD fallback ∈ t
        theorem Std.DTreeMap.Internal.Impl.minKeyD_le_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : contains k t = true) {fallback : α} :
        (compare (t.minKeyD fallback) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_le_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : k ∈ t) {fallback : α} :
        (compare (t.minKeyD fallback) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.le_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k fallback : α} :
        (compare k (t.minKeyD fallback)).isLE = true ↔ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.getKey? (t.minKeyD fallback) = some (t.minKeyD fallback)
        theorem Std.DTreeMap.Internal.Impl.getKey_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} {he : contains (t.minKeyD fallback) t = true} :
        t.getKey (t.minKeyD fallback) he = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.getKey_minKeyD_eq_minKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} {hc : contains (t.minKeyD fallback) t = true} :
        t.getKey (t.minKeyD fallback) hc = t.minKey ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey!_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.getKey! (t.minKeyD fallback) = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback fallback' : α} :
        t.getKeyD (t.minKeyD fallback) fallback' = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.minKeyD_erase_eq_iff_not_compare_minKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        (erase k t ⋯).impl.minKeyD fallback = t.minKeyD fallback ↔ ¬compare k (t.minKeyD fallback) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.minKeyD_erase!_eq_iff_not_compare_minKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase! k t).isEmpty = false) :
        (erase! k t).minKeyD fallback = t.minKeyD fallback ↔ ¬compare k (t.minKeyD fallback) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.minKeyD_erase_eq_of_not_compare_minKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase k t ⋯).impl.isEmpty = false) (heq : ¬compare k (t.minKeyD fallback) = Ordering.eq) :
        (erase k t ⋯).impl.minKeyD fallback = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.minKeyD_erase!_eq_of_not_compare_minKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase! k t).isEmpty = false) (heq : ¬compare k (t.minKeyD fallback) = Ordering.eq) :
        (erase! k t).minKeyD fallback = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.minKeyD_le_minKeyD_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) {fallback : α} :
        (compare (t.minKeyD fallback) ((erase k t ⋯).impl.minKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_le_minKeyD_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) {fallback : α} :
        (compare (t.minKeyD fallback) ((erase! k t).minKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insertIfNew k v t ⋯).impl.minKeyD fallback = t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insertIfNew! k v t).minKeyD fallback = t.minKey?.elim k fun (k' : α) => if compare k k' = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insertIfNew_le_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare ((insertIfNew k v t ⋯).impl.minKeyD fallback) (t.minKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insertIfNew!_le_minKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare ((insertIfNew! k v t).minKeyD fallback) (t.minKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insertIfNew_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare ((insertIfNew k v t ⋯).impl.minKeyD fallback) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_insertIfNew!_le_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare ((insertIfNew! k v t).minKeyD fallback) k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_eq_headD_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} :
        t.minKeyD fallback = t.keys.headD fallback
        theorem Std.DTreeMap.Internal.Impl.minKeyD_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} {fallback : α} :
        (modify k f t).minKeyD fallback = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.minKeyD_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {fallback : α} (he : (alter k f t ⋯).impl.isEmpty = false) :
        (alter k f t ⋯).impl.minKeyD fallback = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.minKeyD_alter!_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {fallback : α} (he : (alter! k f t).isEmpty = false) :
        (alter! k f t).minKeyD fallback = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKeyD_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} (he : (modify k f t).isEmpty = false) {fallback : α} :
        (modify k f t).minKeyD fallback = if compare (t.minKeyD fallback) k = Ordering.eq then k else t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.minKeyD_modify_eq_minKeyD {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β → β} {fallback : α} :
        (modify k f t).minKeyD fallback = t.minKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.compare_minKeyD_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {fallback : α} :
        compare ((modify k f t).minKeyD fallback) (t.minKeyD fallback) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.Const.minKeyD_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter k f t ⋯).impl.isEmpty = false) {fallback : α} :
        (alter k f t ⋯).impl.minKeyD fallback = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.minKeyD_alter!_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter! k f t).isEmpty = false) {fallback : α} :
        (alter! k f t).minKeyD fallback = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k k').isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_of_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = true) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_none_iff {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_some_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} :
        t.maxKey? = some km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_some_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {km : α} :
        t.maxKey? = some km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.isNone_maxKey?_eq_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_eq_not_isEmpty {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_iff_isEmpty_eq_false {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.maxKey? = some (t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k')
        theorem Std.DTreeMap.Internal.Impl.maxKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).maxKey? = some (t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k')
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_le_maxKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.maxKey? = some km) (hkmi : (insert k v t ⋯).impl.maxKey?.get ⋯ = kmi) :
        (compare km kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_le_maxKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.maxKey? = some km) (hkmi : (insert! k v t).maxKey?.get ⋯ = kmi) :
        (compare km kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey?_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insert k v t ⋯).impl.maxKey?.get ⋯ = kmi) :
        (compare k kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey?_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insert! k v t).maxKey?.get ⋯ = kmi) :
        (compare k kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.contains_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} (hkm : t.maxKey? = some km) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} (hkm : t.maxKey? = some km) :
        km ∈ t
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : contains k t = true) :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        k ∈ t → t.maxKey?.isSome = true
        theorem Std.DTreeMap.Internal.Impl.le_maxKey?_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km : α} (hc : contains k t = true) (hkm : t.maxKey?.get ⋯ = km) :
        theorem Std.DTreeMap.Internal.Impl.le_maxKey?_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km : α} (hc : k ∈ t) (hkm : t.maxKey?.get ⋯ = km) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] {k : α} (h : t.WF) :
        (∀ (k' : α), t.maxKey? = some k' → (compare k' k).isLE = true) ↔ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} (hkm : t.maxKey? = some km) :
        t.getKey? km = some km
        theorem Std.DTreeMap.Internal.Impl.getKey_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km : α} {hc : contains km t = true} (hkm : t.maxKey?.get ⋯ = km) :
        t.getKey km hc = km
        theorem Std.DTreeMap.Internal.Impl.getKey!_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {km : α} (hkm : t.maxKey? = some km) :
        t.getKey! km = km
        theorem Std.DTreeMap.Internal.Impl.getKeyD_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {km fallback : α} (hkm : t.maxKey? = some km) :
        t.getKeyD km fallback = km
        @[simp]
        theorem Std.DTreeMap.Internal.Impl.maxKey?_bind_getKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_erase_eq_iff_not_compare_eq_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase k t ⋯).impl.maxKey? = t.maxKey? ↔ ∀ {km : α}, t.maxKey? = some km → ¬compare k km = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.maxKey?_erase!_eq_iff_not_compare_eq_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} :
        (erase! k t).maxKey? = t.maxKey? ↔ ∀ {km : α}, t.maxKey? = some km → ¬compare k km = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.maxKey?_erase_eq_of_not_compare_eq_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : ∀ {km : α}, t.maxKey? = some km → ¬compare k km = Ordering.eq) :
        (erase k t ⋯).impl.maxKey? = t.maxKey?
        theorem Std.DTreeMap.Internal.Impl.maxKey?_erase!_eq_of_not_compare_eq_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : ∀ {km : α}, t.maxKey? = some km → ¬compare k km = Ordering.eq) :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_of_isSome_maxKey?_erase {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hs : (erase k t ⋯).impl.maxKey?.isSome = true) :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_of_isSome_maxKey?_erase! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hs : (erase! k t).maxKey?.isSome = true) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_erase_le_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km kme : α} (hkme : (erase k t ⋯).impl.maxKey? = some kme) (hkm : t.maxKey?.get ⋯ = km) :
        (compare kme km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_erase!_le_maxKey? {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k km kme : α} (hkme : (erase! k t).maxKey? = some kme) (hkm : t.maxKey?.get ⋯ = km) :
        (compare kme km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.maxKey? = some (t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k')
        theorem Std.DTreeMap.Internal.Impl.maxKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew! k v t).maxKey? = some (t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k')
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.isSome_maxKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_le_maxKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.maxKey? = some km) (hkmi : (insertIfNew k v t ⋯).impl.maxKey?.get ⋯ = kmi) :
        (compare km kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_le_maxKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {km kmi : α} (hkm : t.maxKey? = some km) (hkmi : (insertIfNew! k v t).maxKey?.get ⋯ = kmi) :
        (compare km kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey?_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insertIfNew k v t ⋯).impl.maxKey?.get ⋯ = kmi) :
        (compare k kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey?_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {kmi : α} (hkmi : (insertIfNew! k v t).maxKey?.get ⋯ = kmi) :
        (compare k kmi).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_getLast?_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] {k : α} {f : β k → β k} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter k f t ⋯).impl.maxKey? = some k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_alter!_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} :
        (alter! k f t).maxKey? = some k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey?_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} :
        (modify k f t).maxKey? = Option.map (fun (km : α) => if compare km k = Ordering.eq then k else km) t.maxKey?
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey?_modify_eq_maxKey? {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.isSome_maxKey?_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] {k : α} {f : β → β} (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.Const.isSome_maxKey?_modify_eq_isSome {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.compare_maxKey?_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {km kmm : α} (hkm : t.maxKey? = some km) (hkmm : (modify k f t).maxKey?.get ⋯ = kmm) :
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey?_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter k f t ⋯).impl.maxKey? = some k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey?_alter!_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} :
        (alter! k f t).maxKey? = some k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_some_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.maxKey? = some (t.maxKey he)
        theorem Std.DTreeMap.Internal.Impl.maxKey_eq_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {km : α} :
        t.maxKey he = km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_eq_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {he : t.isEmpty = false} {km : α} :
        t.maxKey he = km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.maxKey ⋯ = t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKey_le_maxKey_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {he : t.isEmpty = false} :
        (compare (t.maxKey he) ((insert k v t ⋯).impl.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (compare k ((insert k v t ⋯).impl.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.contains_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        theorem Std.DTreeMap.Internal.Impl.maxKey_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.maxKey he ∈ t
        theorem Std.DTreeMap.Internal.Impl.le_maxKey_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : contains k t = true) :
        (compare k (t.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.le_maxKey_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : k ∈ t) :
        (compare k (t.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : t.isEmpty = false} :
        (compare (t.maxKey he) k).isLE = true ↔ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.getKey? (t.maxKey he) = some (t.maxKey he)
        theorem Std.DTreeMap.Internal.Impl.getKey_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {hc : contains (t.maxKey he) t = true} :
        t.getKey (t.maxKey he) hc = t.maxKey he
        theorem Std.DTreeMap.Internal.Impl.getKey!_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {he : t.isEmpty = false} :
        t.getKey! (t.maxKey he) = t.maxKey he
        theorem Std.DTreeMap.Internal.Impl.getKeyD_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {fallback : α} :
        t.getKeyD (t.maxKey he) fallback = t.maxKey he
        theorem Std.DTreeMap.Internal.Impl.maxKey_erase_eq_iff_not_compare_eq_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : (erase k t ⋯).impl.isEmpty = false} :
        (erase k t ⋯).impl.maxKey he = t.maxKey ⋯ ↔ ¬compare k (t.maxKey ⋯) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.maxKey_erase_eq_of_not_compare_eq_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : (erase k t ⋯).impl.isEmpty = false} (hc : ¬compare k (t.maxKey ⋯) = Ordering.eq) :
        (erase k t ⋯).impl.maxKey he = t.maxKey ⋯
        theorem Std.DTreeMap.Internal.Impl.maxKey_erase_le_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {he : (erase k t ⋯).impl.isEmpty = false} :
        (compare ((erase k t ⋯).impl.maxKey he) (t.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.maxKey ⋯ = t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKey_le_maxKey_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {he : t.isEmpty = false} :
        (compare (t.maxKey he) ((insertIfNew k v t ⋯).impl.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} :
        (compare k ((insertIfNew k v t ⋯).impl.maxKey ⋯)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_eq_getLast_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} :
        t.maxKey he = t.keys.getLast ⋯
        theorem Std.DTreeMap.Internal.Impl.maxKey_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} {he : (modify k f t).isEmpty = false} :
        (modify k f t).maxKey he = t.maxKey ⋯
        theorem Std.DTreeMap.Internal.Impl.maxKey_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {he : (alter k f t ⋯).impl.isEmpty = false} :
        (alter k f t ⋯).impl.maxKey he = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {he : (modify k f t).isEmpty = false} :
        (modify k f t).maxKey he = if compare (t.maxKey ⋯) k = Ordering.eq then k else t.maxKey ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey_modify_eq_maxKey {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β → β} {he : (modify k f t).isEmpty = false} :
        (modify k f t).maxKey he = t.maxKey ⋯
        theorem Std.DTreeMap.Internal.Impl.Const.compare_maxKey_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {he : (modify k f t).isEmpty = false} :
        compare ((modify k f t).maxKey he) (t.maxKey ⋯) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} {he : (alter k f t ⋯).impl.isEmpty = false} :
        (alter k f t ⋯).impl.maxKey he = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_eq_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {he : t.isEmpty = false} :
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_some_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_eq_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = true) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_eq_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {km : α} :
        t.maxKey! = km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey!_eq_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {km : α} :
        t.maxKey! = km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey!_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insert k v t ⋯).impl.maxKey! = t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKey!_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insert! k v t).maxKey! = t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKey!_le_maxKey!_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_le_maxKey!_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey!_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (compare k (insert k v t ⋯).impl.maxKey!).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey!_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.contains_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.le_maxKey!_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (hc : contains k t = true) :
        theorem Std.DTreeMap.Internal.Impl.le_maxKey!_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (hc : k ∈ t) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} :
        (compare t.maxKey! k).isLE = true ↔ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.getKey_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {he : contains t.maxKey! t = true} :
        theorem Std.DTreeMap.Internal.Impl.getKey_maxKey!_eq_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {hc : contains t.maxKey! t = true} :
        t.getKey t.maxKey! hc = t.maxKey ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey!_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.getKeyD_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.getKeyD t.maxKey! fallback = t.maxKey!
        theorem Std.DTreeMap.Internal.Impl.maxKey!_erase_eq_iff_not_compare_maxKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_erase!_eq_iff_not_compare_maxKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_erase_eq_of_not_compare_maxKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) (heq : ¬compare k t.maxKey! = Ordering.eq) :
        (erase k t ⋯).impl.maxKey! = t.maxKey!
        theorem Std.DTreeMap.Internal.Impl.maxKey!_erase!_eq_of_not_compare_maxKey!_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) (heq : ¬compare k t.maxKey! = Ordering.eq) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_erase_le_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_erase!_le_maxKey! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew k v t ⋯).impl.maxKey! = t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKey!_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        (insertIfNew! k v t).maxKey! = t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKey!_le_maxKey!_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_le_maxKey!_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey!_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKey!_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {v : β k} :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_eq_getLast!_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β k → β k} :
        theorem Std.DTreeMap.Internal.Impl.maxKey!_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (he : (alter k f t ⋯).impl.isEmpty = false) :
        (alter k f t ⋯).impl.maxKey! = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey!_alter!_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} (he : (alter! k f t).isEmpty = false) :
        (alter! k f t).maxKey! = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey!_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β → β} (he : (modify k f t).isEmpty = false) :
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey!_modify_eq_maxKey! {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.compare_maxKey!_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : β → β} :
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey!_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter k f t ⋯).impl.isEmpty = false) :
        (alter k f t ⋯).impl.maxKey! = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKey!_alter!_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [Inhabited α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter! k f t).isEmpty = false) :
        (alter! k f t).maxKey! = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKey_eq_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {he : t.isEmpty = false} {fallback : α} :
        t.maxKey he = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.maxKey?_eq_some_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} (he : t.isEmpty = false) :
        t.maxKey? = some (t.maxKeyD fallback)
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_eq_fallback {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} (he : t.isEmpty = true) :
        t.maxKeyD fallback = fallback
        theorem Std.DTreeMap.Internal.Impl.maxKey!_eq_maxKeyD_default {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) :
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_eq_iff_getKey?_eq_self_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {km fallback : α} :
        t.maxKeyD fallback = km ↔ t.getKey? km = some km ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_eq_iff_mem_and_forall {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) (he : t.isEmpty = false) {km fallback : α} :
        t.maxKeyD fallback = km ↔ km ∈ t ∧ ∀ (k : α), k ∈ t → (compare k km).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insert k v t ⋯).impl.maxKeyD fallback = t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insert! k v t).maxKeyD fallback = t.maxKey?.elim k fun (k' : α) => if (compare k' k).isLE = true then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_le_maxKeyD_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare (t.maxKeyD fallback) ((insert k v t ⋯).impl.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_le_maxKeyD_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare (t.maxKeyD fallback) ((insert! k v t).maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKeyD_insert {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare k ((insert k v t ⋯).impl.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKeyD_insert! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare k ((insert! k v t).maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.contains_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        contains (t.maxKeyD fallback) t = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.maxKeyD fallback ∈ t
        theorem Std.DTreeMap.Internal.Impl.le_maxKeyD_of_contains {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : contains k t = true) {fallback : α} :
        (compare k (t.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.le_maxKeyD_of_mem {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (hc : k ∈ t) {fallback : α} :
        (compare k (t.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_le {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k fallback : α} :
        (compare (t.maxKeyD fallback) k).isLE = true ↔ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.getKey?_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.getKey? (t.maxKeyD fallback) = some (t.maxKeyD fallback)
        theorem Std.DTreeMap.Internal.Impl.getKey_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} {he : contains (t.maxKeyD fallback) t = true} :
        t.getKey (t.maxKeyD fallback) he = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.getKey_maxKeyD_eq_maxKey {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} {hc : contains (t.maxKeyD fallback) t = true} :
        t.getKey (t.maxKeyD fallback) hc = t.maxKey ⋯
        theorem Std.DTreeMap.Internal.Impl.getKey!_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [Inhabited α] (h : t.WF) (he : t.isEmpty = false) {fallback : α} :
        t.getKey! (t.maxKeyD fallback) = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.getKeyD_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {fallback fallback' : α} :
        t.getKeyD (t.maxKeyD fallback) fallback' = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_erase_eq_iff_not_compare_maxKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase k t ⋯).impl.isEmpty = false) :
        (erase k t ⋯).impl.maxKeyD fallback = t.maxKeyD fallback ↔ ¬compare k (t.maxKeyD fallback) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_erase!_eq_iff_not_compare_maxKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase! k t).isEmpty = false) :
        (erase! k t).maxKeyD fallback = t.maxKeyD fallback ↔ ¬compare k (t.maxKeyD fallback) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_erase_eq_of_not_compare_maxKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase k t ⋯).impl.isEmpty = false) (heq : ¬compare k (t.maxKeyD fallback) = Ordering.eq) :
        (erase k t ⋯).impl.maxKeyD fallback = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_erase!_eq_of_not_compare_maxKeyD_eq {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k fallback : α} (he : (erase! k t).isEmpty = false) (heq : ¬compare k (t.maxKeyD fallback) = Ordering.eq) :
        (erase! k t).maxKeyD fallback = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_erase_le_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (he : (erase k t ⋯).impl.isEmpty = false) {fallback : α} :
        (compare ((erase k t ⋯).impl.maxKeyD fallback) (t.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_erase!_le_maxKeyD {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} (he : (erase! k t).isEmpty = false) {fallback : α} :
        (compare ((erase! k t).maxKeyD fallback) (t.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insertIfNew k v t ⋯).impl.maxKeyD fallback = t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (insertIfNew! k v t).maxKeyD fallback = t.maxKey?.elim k fun (k' : α) => if compare k' k = Ordering.lt then k else k'
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_le_maxKeyD_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare (t.maxKeyD fallback) ((insertIfNew k v t ⋯).impl.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_le_maxKeyD_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) (he : t.isEmpty = false) {k : α} {v : β k} {fallback : α} :
        (compare (t.maxKeyD fallback) ((insertIfNew! k v t).maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKeyD_insertIfNew {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare k ((insertIfNew k v t ⋯).impl.maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.self_le_maxKeyD_insertIfNew! {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {k : α} {v : β k} {fallback : α} :
        (compare k ((insertIfNew! k v t).maxKeyD fallback)).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_eq_getLastD_keys {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] (h : t.WF) {fallback : α} :
        t.maxKeyD fallback = t.keys.getLastD fallback
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_modify {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β k → β k} {fallback : α} :
        (modify k f t).maxKeyD fallback = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_alter_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {fallback : α} (he : (alter k f t ⋯).impl.isEmpty = false) :
        (alter k f t ⋯).impl.maxKeyD fallback = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.maxKeyD_alter!_eq_self {α : Type u} {β : α → Type v} {instOrd : Ord α} {t : Impl α β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : Option (β k) → Option (β k)} {fallback : α} (he : (alter! k f t).isEmpty = false) :
        (alter! k f t).maxKeyD fallback = k ↔ (f (t.get? k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKeyD_modify {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} (he : (modify k f t).isEmpty = false) {fallback : α} :
        (modify k f t).maxKeyD fallback = if compare (t.maxKeyD fallback) k = Ordering.eq then k else t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.maxKeyD_modify_eq_maxKeyD {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] [LawfulEqOrd α] (h : t.WF) {k : α} {f : β → β} {fallback : α} :
        (modify k f t).maxKeyD fallback = t.maxKeyD fallback
        theorem Std.DTreeMap.Internal.Impl.Const.compare_maxKeyD_modify_eq {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : β → β} {fallback : α} :
        compare ((modify k f t).maxKeyD fallback) (t.maxKeyD fallback) = Ordering.eq
        theorem Std.DTreeMap.Internal.Impl.Const.maxKeyD_alter_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter k f t ⋯).impl.isEmpty = false) {fallback : α} :
        (alter k f t ⋯).impl.maxKeyD fallback = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true
        theorem Std.DTreeMap.Internal.Impl.Const.maxKeyD_alter!_eq_self {α : Type u} {instOrd : Ord α} {β : Type v} {t : Impl α fun (x : α) => β} [TransOrd α] (h : t.WF) {k : α} {f : Option β → Option β} (he : (alter! k f t).isEmpty = false) {fallback : α} :
        (alter! k f t).maxKeyD fallback = k ↔ (f (get? t k)).isSome = true ∧ ∀ (k' : α), k' ∈ t → (compare k' k).isLE = true