{α : Type u_1} →
  (motive : Batteries.BinomialHeap.Imp.Heap α → Sort u_2) →
    (x : Batteries.BinomialHeap.Imp.Heap α) →
      (Unit → motive Batteries.BinomialHeap.Imp.Heap.nil) →
        ((rank : ℕ) →
            (val : α) →
              (c : Batteries.BinomialHeap.Imp.HeapNode α) →
                (s : Batteries.BinomialHeap.Imp.Heap α) → motive (Batteries.BinomialHeap.Imp.Heap.cons rank val c s)) →
          motive x