proposition: Lemma tidy_tidy {t} : tidy (tidy t) = tidy t.
proof: Proof. elim: t; [done | by move=> /= ? -> ? -> |]. move=> t /=. case Ht: (fresh_inb _ _). - by rewrite ?tidy_ren_poly_type => ->. - rewrite /=. have -> : fresh_inb 0 (tidy t) = fresh_inb 0 t. { apply /(sameP fresh_inP) /(equivP fresh_inP). by rewrite /= allfv_poly_type_tidy. } by rewrite Ht => ->. 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) ssreflect ssrbool ssrfun