(motive : MProd ℕ (MProd (Array Aesop.Slot) (MProd (Std.HashSet Aesop.PremiseIndex) (Array Aesop.Slot))) → Sort u_1) →
  (r : MProd ℕ (MProd (Array Aesop.Slot) (MProd (Std.HashSet Aesop.PremiseIndex) (Array Aesop.Slot)))) →
    ((i : ℕ) →
        (newSlots : Array Aesop.Slot) →
          (previousDeps : Std.HashSet Aesop.PremiseIndex) →
            (unseen : Array Aesop.Slot) → motive ⟨i, newSlots, previousDeps, unseen⟩) →
      motive r