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_trans: forall (A1 A2: Type) (C: A1 -> A2) res1 res2, reducts_incl C res1 res2 -> forall (A3: Type) (C': A2 -> A3) res3, reducts_incl C' res2 res3 -> reducts_incl (fun x => C'(C x)) res1 res3.