∀ {α : Type u_1}
  (motive :
    (s' : Batteries.PairingHeapImp.Heap α) →
      (x : Option (α × Batteries.PairingHeapImp.Heap α)) → Option.map (fun x => x.2) x = some s' → Prop)
  (s' : Batteries.PairingHeapImp.Heap α) (x : Option (α × Batteries.PairingHeapImp.Heap α))
  (eq : Option.map (fun x => x.2) x = some s'),
  (∀ (a : α) (tl : Batteries.PairingHeapImp.Heap α),
      x = some (a, tl) → motive ((fun x => x.2) (a, tl)) (some (a, tl)) ⋯) →
    motive s' x eq