Fixpoint exprlist_all_values (rl: exprlist) : Prop :=
  match rl with
  | Enil => True
  | Econs (Eval v ty) rl' => exprlist_all_values rl'
  | Econs _ _ => False
  end.

(* Specifications: *)
Lemma lred_invert: forall l m l' m', lred ge e l m l' m' -> invert_expr_prop l m.
Lemma rred_invert: forall r m t r' m', rred ge r m t r' m' -> invert_expr_prop r m.
Lemma callred_invert: forall r fd args ty m, callred ge r m fd args ty -> invert_expr_prop r m.
Lemma lred_invert: forall l m l' m', lred ge e l m l' m' -> invert_expr_prop l m.
Lemma rred_invert: forall r m t r' m', rred ge r m t r' m' -> invert_expr_prop r m.
Lemma callred_invert: forall r fd args ty m, callred ge r m fd args ty -> invert_expr_prop r m.