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 step_expr_context: forall from to C, context from to C -> forall a m, reducts_incl C (step_expr from a m) (step_expr to (C a) m) with step_exprlist_context: forall from C, contextlist from C -> forall a m, reducts_incl C (step_expr from a m) (step_exprlist (C a) m).