We begin by considering a very simple loop with a very common dependence pattern. This example is also used in Banerjee's paper:
for I1 = 0 to 3 do for I2 = 0 to 3 do S: A[I1,I2] := A[I1 - 1,I2] + A[I1,I2 - 1]