proposition: Lemma contains_ren_poly_type_addLR {n s t} : contains (ren_poly_type (Nat.add n) s) t -> contains s (ren_poly_type (fun x => x - n) t).
proof: Proof. move=> /(contains_ren_poly_typeI (fun x => x - n)). congr contains. rewrite poly_type_norm /= ren_poly_type_id'; by [|lia]. 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