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 imm_safe_imm_safe_t: forall k a m, imm_safe ge e k a m -> imm_safe_t k a m \/ exists C, exists a1, exists t, exists a1', exists m', context RV k C /\ a = C a1 /\ rred ge a1 m t a1' m' /\ forall w', ~possible_trace w t w'.