% % FIREFLY - DMC Code [Delzanno 2003] % MP Nov 22, 2007 :-dynamic r/4. :-dynamic info/4. info(1,[p],4,[i,d,s,e]). r(init,p(s_s,I,D,S,E),{I>=1,D=0,S=0,E=0},1). %initial state r(p(s_s,I,D,S,E),p(s_s,I,D,S,E), %rh {I>=0,D>=0,S>=0,E>=0, D+S+E>=1},2). r(p(s_s,I,D,S,E),p(s_s,I1,D,S,E1), %rm1 {I>=1,D=0,S=0,E=0, I1=I-1,E1=E+1},3). r(p(s_s,I,D,S,E),p(s_s,I1,D1,S1,E1), %rm2 {D>=0,S>=0,E>=0, I>=1,D+S+E>=1, I1=I-1,D1=0,S1=S+D+E+1,E1=0},4). r(p(s_s,I,D,S,E),p(s_s,I,D,S,E), %wh1 {I>=0,S>=0,E>=0, D>=1},5). r(p(s_s,I,D,S,E),p(s_s,I,D1,S,E1), %wh2 {I>=0,D>=0,S>=0, E>=1, D1=D+1,E1=E-1},6). r(p(s_s,I,D,S,E),p(s_s,I,D,S1,E1), %wh3 {I>=0,D>=0,E>=0, S=1, E1=E+1,S1=S-1},7). r(p(s_s,I,D,S,E),p(s_s,I,D,S,E), %wh4 {I>=0,D>=0,E>=0, S>=2},8). r(p(s_s,I,D,S,E),p(s_s,I1,D1,S1,E1), %wm {D>=0,S>=0,E>=0, I>=1, I1=I+D+S+E-1,D1=1,S1=0,E1=0},9). prop(unsafe,p:s * (i>=0) * (d>=1) * (s>=0) * (e>=0) * (s+e>=1) + p:s * (i>=0) * (d>=0) * (s>=0) * (e>=2) + p:s * (i>=0) * (d>=2) * (s>=0) * (e>=0) + p:s * (i>=0) * (d>=0) * (s>=1) * (e>=1)).