{Q : Type} →
  [inst : Aesop.Queue Q] →
    {motive : Aesop.SearchM.State Q → Sort u} →
      (t : Aesop.SearchM.State Q) →
        ((iteration : Aesop.Iteration) →
            (queue : Q) →
              (maxRuleApplicationDepthReached : Bool) →
                motive
                  { iteration := iteration, queue := queue,
                    maxRuleApplicationDepthReached := maxRuleApplicationDepthReached }) →
          motive t