diff --git a/bil.ott b/bil.ott index 9e1c183..c5c5610 100644 --- a/bil.ott +++ b/bil.ott @@ -580,27 +580,15 @@ defns reduce_exp :: '' ::= delta |- e1 ~> e1' - ------------------------------------------------------------------ :: ite_step_cond - delta |- if e1 then v2 else v3 ~> if e1' then v2 else v3 - - delta |- e2 ~> e2' - ------------------------------------------------------------------ :: ite_step_then - delta |- if e1 then e2 else v3 ~> if e1 then e2' else v3 - - delta |- e3 ~> e3' - ------------------------------------------------------------------ :: ite_step_else - delta |- if e1 then e2 else e3 ~> if e1 then e2 else e3' + ------------------------------------------------------------------ :: ite_step + delta |- if e1 then e2 else e3 ~> if e1' then e2 else e3 ----------------------------------------------- :: ite_true - delta |- if true then v2 else v3 ~> v2 + delta |- if true then e2 else e3 ~> e2 ------------------------------------------------ :: ite_false - delta |- if false then v2 else v3 ~> v3 - - type(v2) = t' - ------------------------------------------------------------------ :: ite_unk - delta |- if unknown[str]:t then v2 else v3 ~> unknown[str]:t' + delta |- if false then e2 else e3 ~> e3 delta |- e2 ~> e2' ------------------------------------------ :: bop_rhs