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