Hint Resolve type_uses_incr: ty.

(* Specifications: *)
Lemma type_uses_sound:
forall te xl tyl e e', type_uses e xl tyl = OK e' -> satisf te e' -> list_forall2 T.sub (map te xl) tyl.
Lemma type_move_incr:
forall te e r1 r2 e' changed,
type_move e r1 r2 = OK(changed, e') -> satisf te e' -> satisf te e.
Lemma type_uses_sound:
forall te xl tyl e e', type_uses e xl tyl = OK e' -> satisf te e' -> list_forall2 T.sub (map te xl) tyl.
Lemma type_move_incr:
forall te e r1 r2 e' changed,
type_move e r1 r2 = OK(changed, e') -> satisf te e' -> satisf te e.