fact: Fixpoint erase (P: term) : pure_term := match P with | var x => pure_var x | app P Q => pure_app (erase P) (erase Q) | abs _ P => pure_abs (erase P) | ty_app P _ => erase P | ty_abs P => erase P end.
imports: List Lia Undecidability.SystemF.SysF Undecidability.SystemF.Autosubst.syntax Undecidability.SystemF.Autosubst.unscoped Undecidability.SystemF.Util(Facts poly_type_facts pure_term_facts) ssreflect ssrbool ssrfun