∀ {α : Type u_1} (motive : Batteries.BinomialHeap.Imp.Heap α → Sort u_2) (rank : ℕ) (val : α)
  (c : Batteries.BinomialHeap.Imp.HeapNode α) (s : Batteries.BinomialHeap.Imp.Heap α)
  (h_1 : Unit → motive Batteries.BinomialHeap.Imp.Heap.nil)
  (h_2 :
    (rank : ℕ) →
      (val : α) →
        (c : Batteries.BinomialHeap.Imp.HeapNode α) →
          (s : Batteries.BinomialHeap.Imp.Heap α) → motive (Batteries.BinomialHeap.Imp.Heap.cons rank val c s)),
  (match Batteries.BinomialHeap.Imp.Heap.cons rank val c s with
    | Batteries.BinomialHeap.Imp.Heap.nil => h_1 ()
    | Batteries.BinomialHeap.Imp.Heap.cons rank val c s => h_2 rank val c s) =
    h_2 rank val c s