∀ {α : Type u_1} (motive : Batteries.BinomialHeap.Imp.HeapNode α → ℕ → Sort u_2) (a : α)
  (child s : Batteries.BinomialHeap.Imp.HeapNode α) (r : ℕ)
  (h_1 : (r : ℕ) → motive Batteries.BinomialHeap.Imp.HeapNode.nil r)
  (h_2 :
    (a : α) →
      (child s : Batteries.BinomialHeap.Imp.HeapNode α) →
        (r : ℕ) → motive (Batteries.BinomialHeap.Imp.HeapNode.node a child s) r),
  (match Batteries.BinomialHeap.Imp.HeapNode.node a child s, r with
    | Batteries.BinomialHeap.Imp.HeapNode.nil, r => h_1 r
    | Batteries.BinomialHeap.Imp.HeapNode.node a child s, r => h_2 a child s r) =
    h_2 a child s r