∀ {α : Type u_1} (γ : Type u_1) (Pl : α → γ → ForInStep γ → Prop) (next : α) (acc : γ)
  (motive : Subtype (Pl next acc) → Sort u_2) (acc' : γ) (h' : Pl next acc (ForInStep.yield acc'))
  (h_1 : (acc' : γ) → (h' : Pl next acc (ForInStep.yield acc')) → motive ⟨ForInStep.yield acc', h'⟩)
  (h_2 : (acc' : γ) → (property : Pl next acc (ForInStep.done acc')) → motive ⟨ForInStep.done acc', property⟩),
  (match ⟨ForInStep.yield acc', h'⟩ with
    | ⟨ForInStep.yield acc', h'⟩ => h_1 acc' h'
    | ⟨ForInStep.done acc', property⟩ => h_2 acc' property) =
    h_1 acc' h'