Definition reducts_incl {A B: Type} (C: A -> B) (res1: reducts A) (res2: reducts B) : Prop :=
  forall C1 rd, In (C1, rd) res1 -> In ((fun x => C(C1 x)), rd) res2.

Lemma reducts_incl_listval: forall (A: Type) a m vtl (C: exprlist -> A) res, is_val_list a = Some vtl -> reducts_incl C (step_exprlist a m) res.