# ludwig script for di-decomp of test-and-set TS = FILE "spec.ndf" ARB = FILE "rgd1-arbiter.ndf" VAR = FILE "i-nr-variable.ndf" M = FILE "merge.ndf" F = FILE "fork.ndf" ARB = RENAME [ r0? r1? g0! g1! ] TO [ r? t? w1! p! ] IN ARB VAR = RENAME [ a! r? ] TO [ d! p? ] IN VAR M = RENAME [ a? b? c! ] TO [ m0? m1? w0! ] IN M F0 = RENAME [ a? b! c! ] TO [ v1? t0! m0! ] IN F F1 = RENAME [ a? b! c! ] TO [ v0? t1! m1! ] IN F COMP = ARB || VAR || M || F0 || F1 COMP = MINIMIZE COMP PRINT "andif" COMP QUERY TAKE COMP FROM TS QUERY TAKE TS FROM COMP