%%%%% CONFIGURATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% :- module(extend, [mem/4,program_order/1,if_pair/1,lock_pair/1,synchro_order/1]). mem(i1,t1,cr,v(0)). mem(i2,t1,wr,a). mem(i3,t1,wr,b). mem(i4,t1,re,a). mem(i5,t1,wr,r1). mem(i6,t1,re,r1). mem(i7,t1,if,v(1)). mem(i8,t1,cr,v(1)). mem(i9,t1,wr,b). mem(i10,t1,fi,null). mem(i11,t2,re,b). mem(i12,t2,wr,r2). mem(i13,t2,re,r2). mem(i14,t2,if,v(1)). mem(i15,t2,cr,v(1)). mem(i16,t2,wr,a). mem(i17,t2,fi,null). mem(i18,t3,re,r2). mem(i19,t3,if,n(v(1))). mem(i20,t3,cr,v(1)). mem(i21,t3,wr,a). mem(i22,t3,fi,null). program_order([i1,i2,i3,i4,i5,i6,i7,i8,i9,i10]). program_order([i3,i11,i12,i13,i14,i15,i16,i17]). program_order([i12,i18,i19,i20,i21,i22]). if_pair([(i7,i10),(i14,i17),(i19,i22)]). lock_pair([]). synchro_order([]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%