“…(x + y) + z → x + (y + z)), while termination criteria based on types with size annotations are restricted to matching on constructor symbols. Current implementations of termination checkers based on typing with size annotations include ATS (Xi, 2003;ATS, 2018), MiniAgda (Abel, 2010;MiniAgda, 2014), Agda (Agda, 2017), cicminus (Sacchini, 2011;cicminus, 2015) or HOT (HOT, 2012). Most of these tools assume given the annotated types of function symbols (e.g.…”