| nfwsim(IOAut(cstart, cstep, cext), IOAut(astart, astep, aext), r, size01f), cstep(cs, ca, cs'), r(as, cs) ⊦ ∃ asl, aal. asl.head = as ∧ aext !(⌜aal⌝ ) = [] ∧ frag*(IOAut(astart, astep, aext))(asl, aal) ∧ (∀ as. as ∈ asl → r(as, cs)) ∧ ((∃ as', aa. astep(asl.last, aa, as') ∧ aext(aa) = cext(ca) ∧ r(as', cs')) ∨ cext(ca) = None ∧ r(asl.last, cs')) |