{motive : Aesop.RuleResult → Sort u} →
  ((newRapps : Array Aesop.RappRef) → motive (Aesop.RuleResult.proved newRapps)) →
    ((newRapps : Array Aesop.RappRef) → motive (Aesop.RuleResult.succeeded newRapps)) →
      motive Aesop.RuleResult.failed → (t : Aesop.RuleResult) → motive t