// **************************************************************************
//
//    eses                   eses
//   eses                     eses
//  eses    eseses  esesese    eses   Embedded Systems Group
//  ese    ese  ese ese         ese
//  ese    eseseses eseseses    ese   Department of Computer Science
//  eses   eses          ese   eses
//   eses   eseses  eseseses  eses    University of Kaiserslautern
//    eses                   eses
//
// **************************************************************************

package MagicSquare;

macro size = 3;

module CheckRowPerm(
    [size][size()]nat{size()*size()} a,
    nat{size} ?i,
    event !no_perm
) {
    for(j=0..(size-2))
        for(k=j+1..(size-1))
            if(a[i][j]==a[i][k])
                emit(no_perm);
}