symbolic n; I1 := {[i,j] : 1 <= i < j <= n}; I2 := {[i,j,k] : 1 <= i < j,k <= n}; I3 := {[i] : 1 <= i <= n}; I4 := {[i,j] : 1 <= j < i <= n}; I5 := {[i] : 1 <= i <= n}; T1 := {[i,j] -> [i-1,0,n-i,n-j]}; T2 := {[i,j,k] -> [i-1,1,n-i,n-j]}; T3 := {[i] -> [0,0,0,i]}; T4 := {[i,j] -> [j+n-1,0,i,j]}; T5 := {[i] -> [i+n-2,1,0,0]}; first := {[i,*,*,*] -> [i]}; first(T1(I1)); first(T2(I2)); first(T3(I3)); first(T4(I4)); first(T5(I5)); T1(I1); T2(I2); T3(I3); T4(I4); T5(I5); codegen T1:I1,T2:I2; codegen T1:I1,T2:I2,T3:I3,T4:I4,T5:I5;