-- Std.Data.DTreeMap.Internal.Balancing
Std.DTreeMap.Internal.Impl.balanceR!.match_1.congr_eq_5 : ∀ {α : Type u_1} {β : α → Type u_2} (motive : Std.DTreeMap.Internal.Impl α β → Sort u_3)
  (r : Std.DTreeMap.Internal.Impl α β) (h_1 : Unit → motive Std.DTreeMap.Internal.Impl.leaf)
  (h_2 :
    (size : ℕ) →
      (k : α) →
        (v : β k) →
          motive
            (Std.DTreeMap.Internal.Impl.inner size k v Std.DTreeMap.Internal.Impl.leaf Std.DTreeMap.Internal.Impl.leaf))
  (h_3 :
    (size : ℕ) →
      (rk : α) →
        (rv : β rk) →
          (rr : Std.DTreeMap.Internal.Impl α β) →
            (size_1 : ℕ) →
              (k : α) →
                (v : β k) →
                  (l r : Std.DTreeMap.Internal.Impl α β) →
                    rr = Std.DTreeMap.Internal.Impl.inner size_1 k v l r →
                      motive
                        (Std.DTreeMap.Internal.Impl.inner size rk rv Std.DTreeMap.Internal.Impl.leaf
                          (Std.DTreeMap.Internal.Impl.inner size_1 k v l r)))
  (h_4 :
    (size : ℕ) →
      (rk : α) →
        (rv : β rk) →
          (size_1 : ℕ) →
            (rlk : α) →
              (rlv : β rlk) →
                (l r : Std.DTreeMap.Internal.Impl α β) →
                  motive
                    (Std.DTreeMap.Internal.Impl.inner size rk rv (Std.DTreeMap.Internal.Impl.inner size_1 rlk rlv l r)
                      Std.DTreeMap.Internal.Impl.leaf))
  (h_5 :
    (rs : ℕ) →
      (rk : α) →
        (rv : β rk) →
          (rl : Std.DTreeMap.Internal.Impl α β) →
            (rls : ℕ) →
              (k : α) →
                (v : β k) →
                  (l r : Std.DTreeMap.Internal.Impl α β) →
                    rl = Std.DTreeMap.Internal.Impl.inner rls k v l r →
                      (rr : Std.DTreeMap.Internal.Impl α β) →
                        (size : ℕ) →
                          (k_1 : α) →
                            (v_1 : β k_1) →
                              (l_1 r_1 : Std.DTreeMap.Internal.Impl α β) →
                                rr = Std.DTreeMap.Internal.Impl.inner size k_1 v_1 l_1 r_1 →
                                  motive
                                    (Std.DTreeMap.Internal.Impl.inner rs rk rv
                                      (Std.DTreeMap.Internal.Impl.inner rls k v l r)
                                      (Std.DTreeMap.Internal.Impl.inner size k_1 v_1 l_1 r_1)))
  (rs : ℕ) (rk : α) (rv : β rk) (rls : ℕ) (k : α) (v : β k) (l r_1 : Std.DTreeMap.Internal.Impl α β) (size : ℕ)
  (k_1 : α) (v_1 : β k_1) (l_1 r_2 : Std.DTreeMap.Internal.Impl α β),
  r =
      Std.DTreeMap.Internal.Impl.inner rs rk rv (Std.DTreeMap.Internal.Impl.inner rls k v l r_1)
        (Std.DTreeMap.Internal.Impl.inner size k_1 v_1 l_1 r_2) →
    (match r with
      | Std.DTreeMap.Internal.Impl.leaf => h_1 ()
      | Std.DTreeMap.Internal.Impl.inner size k v Std.DTreeMap.Internal.Impl.leaf Std.DTreeMap.Internal.Impl.leaf =>
        h_2 size k v
      |
      Std.DTreeMap.Internal.Impl.inner size rk rv Std.DTreeMap.Internal.Impl.leaf
          rr@h:(Std.DTreeMap.Internal.Impl.inner size_1 k v l r) =>
        h_3 size rk rv rr size_1 k v l r h
      |
      Std.DTreeMap.Internal.Impl.inner size rk rv (Std.DTreeMap.Internal.Impl.inner size_1 rlk rlv l r)
          Std.DTreeMap.Internal.Impl.leaf =>
        h_4 size rk rv size_1 rlk rlv l r
      |
      Std.DTreeMap.Internal.Impl.inner rs rk rv (rl@h:(Std.DTreeMap.Internal.Impl.inner rls k v l r))
          rr@h_6:(Std.DTreeMap.Internal.Impl.inner size k_2 v_2 l_2 r_3) =>
        h_5 rs rk rv rl rls k v l r h rr size k_2 v_2 l_2 r_3 h_6) ≍
      h_5 rs rk rv (Std.DTreeMap.Internal.Impl.inner rls k v l r_1) rls k v l r_1 ⋯
        (Std.DTreeMap.Internal.Impl.inner size k_1 v_1 l_1 r_2) size k_1 v_1 l_1 r_2 ⋯