Corollary check_rval_wt:
  forall a x, wt_expr ce e a -> check_rval a = OK x -> wt_rvalue ce e a.Corollary check_lval_wt:
  forall a x, wt_expr ce e a -> check_lval a = OK x -> wt_lvalue ce e a.

Lemma pres_sem_shift: forall sem_int sem_long ty1 ty2 m ty v1 v2 v, shift_op_type ty1 ty2 m = OK ty -> sem_shift sem_int sem_long v1 ty1 v2 ty2 = Some v -> wt_val v ty.