{β : Type u_3} →
  {γ : Type u_1} →
    {init : γ} →
      (PlausibleForInStep : β → γ → ForInStep γ → Prop) →
        (out : β) →
          (motive : Subtype (PlausibleForInStep out init) → Sort u_2) →
            (__do_lift : Subtype (PlausibleForInStep out init)) →
              ((c : γ) →
                  (property : PlausibleForInStep out init (ForInStep.yield c)) → motive ⟨ForInStep.yield c, property⟩) →
                ((c : γ) →
                    (property : PlausibleForInStep out init (ForInStep.done c)) → motive ⟨ForInStep.done c, property⟩) →
                  motive __do_lift