1\textcite{Verdoolaege2016tutorial} describes the concepts behind 2\isl in some detail, mainly focusing on Presburger formulas, 3but also including some information on polyhedral compilation, 4especially on dependence analysis. 5Individual aspects of \isl are described in the following publications. 6\begin{itemize} 7\item 8\textcite{Verdoolaege2009equivalence} introduce \isl as a library 9for manipulating sets of integers defined by linear inequalities and 10integer divisions that is used in their equivalence checker. 11 12\item 13\textcite{Verdoolaege2010isl} provides a more detailed description 14of \isl at the time and still stands as the official reference for 15\isl. However, many features were only added later on and one or 16more of the publications below may be more appropriate as 17a reference to these features. 18 19\item 20\textcite[Section 5.1]{Verdoolaege2010networks} provides some 21details on the dataflow analysis step, but also see 22\textcite[Chapter 6]{Verdoolaege2016tutorial} and 23\textcite{Verdoolaege2016reordering} for a more recent treatment. 24 25\item The concepts of structured and named spaces and the manipulation 26of sets containing elements in different spaces were introduced 27by \textcite{Verdoolaege2011iscc}. 28 29\item The transitive closure operation is described 30by \textcite{Verdoolaege2011closure}. 31 32\item The scheduler is briefly described by 33\textcite[Section 6.2]{Verdoolaege2013PPCG} and 34\textcite[Section 2.4]{Verdoolaege2016reordering}. 35 36\item Schedule trees started out as ``trees of bands'' 37\parencite[Section 6.2]{Verdoolaege2013PPCG}, were formally 38introduced by \textcite{Verdoolaege2014impact}, and were 39slightly refined by \textcite{Grosser2015AST}. 40 41\item The coalescing operation is described by 42\textcite{Verdoolaege2015impact}. 43 44\item The AST generator is described by \textcite{Grosser2015AST}. 45 46\end{itemize} 47