The second constraint covers all paths of length greater than 1 in a transitive way.
it states that if there is a path from argument component i to argument component j (b ij = 1) and another path from argument component j to argument component k (b jk = 1) then there is also a path from argument component i to argument component k. it iteratively covers paths of length l + 1 by having covered paths of length l. The third constraint avoids cycles by preventing all directed paths starting and ending with the same argument component.