“…The type system of ATS is developed gradually, starting from its initial support of dependent types (Xi, 1998) (Xi and Pfenning, 1999) (Xi, 2007), to the addition of guarded recursive datatypes (Xi et al, 2003), to the accommodation of linear types (Zhu and Xi, 2005) (Shi and Xi, 2009) , and later to the adoption of Programming with Theorem Proving (Chen and Xi, 2005). Formal development of the mathematical proof for the type soundness property was conveyed in multiple researches, each of which targets certain newly added types it focuses.…”