|
|
|
@ -10,8 +10,8 @@ mdp |
|
|
|
|
|
|
|
// atomic formulae |
|
|
|
// left fork free and right fork free resp. |
|
|
|
formula lfree = p2=0..4,6,10; |
|
|
|
formula rfree = p10=0..3,5,7,11; |
|
|
|
formula lfree = (p2>=0&p2<=4)|p2=6|p2=10; |
|
|
|
formula rfree = (p10>=0&p10<=3)|p10=5|p10=7|p10=11; |
|
|
|
|
|
|
|
module phil1 |
|
|
|
|
|
|
|
@ -36,19 +36,22 @@ module phil1 |
|
|
|
endmodule |
|
|
|
|
|
|
|
// construct further modules through renaming |
|
|
|
module phil2 = phil1 [p1=p2, p2=p3, p10=p1] endmodule |
|
|
|
module phil3 = phil1 [p1=p3, p2=p4, p10=p2] endmodule |
|
|
|
module phil4 = phil1 [p1=p4, p2=p5, p10=p3] endmodule |
|
|
|
module phil5 = phil1 [p1=p5, p2=p6, p10=p4] endmodule |
|
|
|
module phil6 = phil1 [p1=p6, p2=p7, p10=p5] endmodule |
|
|
|
module phil7 = phil1 [p1=p7, p2=p8, p10=p6] endmodule |
|
|
|
module phil8 = phil1 [p1=p8, p2=p9, p10=p7] endmodule |
|
|
|
module phil9 = phil1 [p1=p9, p2=p10, p10=p8] endmodule |
|
|
|
module phil10 = phil1 [p1=p10, p2=p1, p10=p9] endmodule |
|
|
|
module phil2 = phil1 [ p1=p2, p2=p3, p10=p1 ] endmodule |
|
|
|
module phil3 = phil1 [ p1=p3, p2=p4, p10=p2 ] endmodule |
|
|
|
module phil4 = phil1 [ p1=p4, p2=p5, p10=p3 ] endmodule |
|
|
|
module phil5 = phil1 [ p1=p5, p2=p6, p10=p4 ] endmodule |
|
|
|
module phil6 = phil1 [ p1=p6, p2=p7, p10=p5 ] endmodule |
|
|
|
module phil7 = phil1 [ p1=p7, p2=p8, p10=p6 ] endmodule |
|
|
|
module phil8 = phil1 [ p1=p8, p2=p9, p10=p7 ] endmodule |
|
|
|
module phil9 = phil1 [ p1=p9, p2=p10, p10=p8 ] endmodule |
|
|
|
module phil10 = phil1 [ p1=p10, p2=p1, p10=p9 ] endmodule |
|
|
|
|
|
|
|
// rewards (number of steps) |
|
|
|
rewards |
|
|
|
|
|
|
|
rewards "num_steps" |
|
|
|
[] true : 1; |
|
|
|
|
|
|
|
endrewards |
|
|
|
// labels |
|
|
|
label "hungry" = ((p1>0)&(p1<8))|((p2>0)&(p2<8))|((p3>0)&(p3<8))|((p4>0)&(p4<8))|((p5>0)&(p5<8))|((p6>0)&(p6<8))|((p7>0)&(p7<8))|((p8>0)&(p8<8))|((p9>0)&(p9<8))|((p10>0)&(p10<8)); |
|
|
|
label "eat" = ((p1>=8)&(p1<=9))|((p2>=8)&(p2<=9))|((p3>=8)&(p3<=9))|((p4>=8)&(p4<=9))|((p5>=8)&(p5<=9))|((p6>=8)&(p6<=9))|((p7>=8)&(p7<=9))|((p8>=8)&(p8<=9))|((p9>=8)&(p9<=9))|((p10>=8)&(p10<=9)); |
|
|
|
|
|
|
|
|