proposition: Lemma contains_poly_abbaI {s t s' t'} : s' = s -> t' = t -> contains poly_abba (poly_arr s (poly_arr t (poly_arr t' s'))).
proof: Proof. move=> -> ->. apply: rt_trans; apply: rt_step; apply: contains_stepI; first done. by rewrite /= ?poly_type_norm subst_poly_type_poly_var. Qed.
imports: List Lia Relation_Definitions Relation_Operators Operators_Properties Undecidability.SystemF.SysF Undecidability.SystemF.Autosubst.syntax Undecidability.SystemF.Autosubst.unscoped Undecidability.SystemF.Util(Facts poly_type_facts pure_term_facts term_facts typing_facts iipc2_facts pure_typing_facts) ssreflect ssrbool ssrfun