; A game designed to illustrate the problem with treating simulataneous moves ; as turn-taking. (role first) (role second) (init (points first 0)) (init (points second 0)) (init (step 0)) (<= (legal ?r scream) (role ?r)) (<= (legal ?r shout) (role ?r)) (<= (legal ?r cry) (role ?r)) (<= (legal ?r whine) (role ?r)) (<= (legal ?r a_point) (role ?r)) (<= (legal ?r b_point) (role ?r)) (<= (legal ?r complain) (role ?r)) (<= (legal ?r sulk) (role ?r)) (<= (legal ?r grumble) (role ?r)) (<= (legal ?r mope) (role ?r)) (<= (next (step ?n)) (true (step ?p)) (succ ?p ?n)) (<= (next (points ?r ?p)) (true (points ?r ?p)) (not (gainpoints ?r))) (<= (next (points ?r ?p)) (true (points ?r ?old_points)) (gainpoints ?r) (plus5 ?old_points ?p)) (<= (gainpoints ?r) (does ?r a_point) (role ?opponent) (distinct ?r opponent) (not (does ?opponent a_point))) (<= (gainpoints ?r) (does ?r b_point) (role ?opponent) (distinct ?r opponent) (not (does ?opponent b_point))) (<= (goal ?r ?points) (true (points ?r ?points))) (<= terminal (true (step 30))) (<= terminal (true (points ?r 100))) (plus5 0 5) (plus5 5 10) (plus5 10 15) (plus5 15 20) (plus5 20 25) (plus5 25 30) (plus5 30 35) (plus5 35 40) (plus5 40 45) (plus5 45 50) (plus5 50 55) (plus5 55 60) (plus5 60 65) (plus5 65 70) (plus5 70 75) (plus5 75 80) (plus5 80 85) (plus5 85 90) (plus5 90 95) (plus5 95 100) (succ 0 1) (succ 1 2) (succ 2 3) (succ 3 4) (succ 4 5) (succ 5 6) (succ 6 7) (succ 7 8) (succ 8 9) (succ 9 10) (succ 10 11) (succ 11 12) (succ 12 13) (succ 13 14) (succ 14 15) (succ 15 16) (succ 16 17) (succ 17 18) (succ 18 19) (succ 19 20) (succ 20 21) (succ 21 22) (succ 22 23) (succ 23 24) (succ 24 25) (succ 25 26) (succ 26 27) (succ 27 28) (succ 28 29) (succ 29 30)