%%%%% CONFIGURATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% :- module(extend, [mem/4,program_order/1,if_pair/1,lock_pair/1,synchro_order/1]). mem(i1,t1,cr,v(1)). mem(i2,t1,wr,x). mem(i3,t1,lo,x). mem(i4,t1,lo,y). mem(i5,t1,wr,y). mem(i6,t1,un,y). mem(i7,t1,un,x). mem(i8,t2,lo,x). mem(i9,t2,lo,y). mem(i10,t2,re,y). mem(i11,t2,wr,r1). mem(i12,t2,un,y). mem(i13,t2,un,x). mem(i14,t2,re,x). mem(i15,t2,wr,r2). program_order([i1,i2,i3,i4,i5,i6,i7]). program_order([i8,i9,i10,i11,i12,i13,i14,i15]). if_pair([]). lock_pair([(i3,i7),(i4,i6),(i8,i13),(i9,i12)]). synchro_order([(i7,i8),(i6,i9)]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%