proposition: Lemma typing_weakening {Gamma Gamma' P t} : incl Gamma Gamma' -> typing Gamma P t -> exists ξ, typing Gamma' (ren_term id ξ P) t.
proof: Proof. move=> /incl_nth_error [ξ] + /typing_ren_term' H => /H ?. eexists. by eassumption. Qed.
imports: List Lia Undecidability.SystemF.SysF Undecidability.SystemF.Autosubst.syntax Undecidability.SystemF.Autosubst.unscoped Undecidability.SystemF.Util(Facts poly_type_facts term_facts) ssreflect ssrbool ssrfun