∀ {α β : Type w} {m : Type w → Type w'} [inst : Std.Iterator α m β]
  {motive : (a : Std.IterM m β) → (a_1 : β) → a.IsPlausibleIndirectOutput a_1 → Prop},
  (∀ {it : Std.IterM m β} {out : β} (a : it.IsPlausibleOutput out), motive it out ⋯) →
    (∀ {it it' : Std.IterM m β} {out : β} (a : it'.IsPlausibleSuccessorOf it) (a_1 : it'.IsPlausibleIndirectOutput out),
        motive it' out a_1 → motive it out ⋯) →
      ∀ {a : Std.IterM m β} {a_1 : β} (t : a.IsPlausibleIndirectOutput a_1), motive a a_1 t