{ apply SmallStep.seq_step
  apply SmallStep.seq_skip }
case hbc.hbc.hab

⊢ ((Stmt.skip; Stmt.assign "x" fun s => s "x" - 1);
        Stmt.whileDo (fun s => s "x" > s "y") (Stmt.skip; Stmt.assign "x" fun s => s "x" - 1),
      State.update "x" 1 fun x => 0) ⇒
    ?hbc.hbc.b

case hbc.hbc.hbc

⊢ RTC SmallStep ?hbc.hbc.b (Stmt.skip, fun x => 0)

case hbc.hbc.b

⊢ Stmt × State
case hbc.hbc.hbc

⊢ RTC SmallStep
    ((Stmt.assign "x" fun s => s "x" - 1);
        Stmt.whileDo (fun s => s "x" > s "y") (Stmt.skip; Stmt.assign "x" fun s => s "x" - 1),
      State.update "x" 1 fun x => 0)
    (Stmt.skip, fun x => 0)