;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Colored Trails;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    (role white)    (role black)        ;;;;        (init (cell a1 white))    (init (cell a2 b))    (init (cell a3 b))    (init (cell a4 b))    (init (cell b1 b))    (init (cell b2 b))    (init (cell b3 b))    (init (cell b4 b))    (init (cell c1 b))    (init (cell c2 b))    (init (cell c3 b))    (init (cell c4 b))    (init (cell d1 b))    (init (cell d2 b))    (init (cell d3 b))    (init (cell d4 black))    (init (open tw blank))    (init (open tb blank))    (init (spot s1 red))    (init (spot s2 red))    (init (spot s3 green))    (init (spot s4 green))    (init (spot s5 yellow))    (init (spot s6 yellow))    (init (spot s7 blue))    (init (spot s8 blue))    (init (control white))    (init (step 1))        ;;;;        (<= (next (cell ?y ?player))        (does ?player (move ?x ?y)))        (<= (next (cell ?x b))        (does ?player (move ?x ?y)))        (<= (next (cell ?z ?q))        (does ?player (move ?x ?y))        (true (cell ?z ?q))        (distinct ?z ?x)        (distinct ?z ?y))    (<= (next (cell ?x ?q))        (does ?player (offer ?t1 ?t2))        (true (cell ?x ?q)))    (<= (next (cell ?x ?q))        (does ?player accept)        (true (cell ?x ?q)))    (<= (next (cell ?x ?q))        (does white pass)        (does black pass)        (true (cell ?x ?q)))    (<= (next (open tw blank))        (does ?player (move ?x ?y)))    (<= (next (open tb blank))        (does ?player (move ?x ?y)))    (<= (next (open tw ?s1))        (does ?player (offer ?s1 ?s2)))    (<= (next (open tb ?s2))        (does ?player (offer ?s1 ?s2)))    (<= (next (open tw blank))        (does ?player accept))    (<= (next (open tb blank))        (does ?player accept))    (<= (next (open tw blank))        (does white pass))    (<= (next (open tb blank))        (does white pass))    (<= (next (spot ?s ?c))        (does ?player (move ?x ?y))        (true (spot ?s ?c)))    (<= (next (spot ?s ?c))        (does ?player (offer ?s1 ?s2))        (true (spot ?s ?c)))    (<= (next (spot ?s1 ?c))        (does ?player accept)        (true (open tw ?s1))        (true (open tb ?s2))        (true (spot ?s2 ?c)))    (<= (next (spot ?s2 ?c))        (does ?player accept)        (true (open tw ?s1))        (true (open tb ?s2))        (true (spot ?s1 ?c)))    (<= (next (spot ?s ?c))        (does ?player accept)        (true (spot ?s ?c))        (true (open tw ?s1))        (true (open tb ?s2))        (distinct ?s ?s1)        (distinct ?s ?s2))    (<= (next (spot ?s ?c))        (does white pass)        (does black pass)        (true (spot ?s ?c)))            (<= (next (control white))        (true (control black)))        (<= (next (control black))        (true (control white)))            (<= (next (step ?y))        (true (step ?x))        (successor ?x ?y))        (color a1 red)    (color a2 green)    (color a3 yellow)    (color a4 blue)    (color b1 blue)    (color b2 yellow)    (color b3 green)    (color b4 red)    (color c1 yellow)    (color c2 green)    (color c3 red)    (color c4 blue)    (color d1 blue)    (color d2 red)    (color d3 green)    (color d4 yellow)        (successor 1 2)    (successor 2 3)    (successor 3 4)    (successor 4 5)    (successor 5 6)    (successor 6 7)    (successor 7 8)    (successor 8 9)    (successor 9 10)        ;;;;        (<= (legal ?player (move ?x ?y))        (true (control ?player))        (true (cell ?x ?player))        (movable ?x ?y)        (color ?y ?c)        (true (spot ?s ?c))        (owner ?s ?player))    (<= (legal ?player (offer ?s1 ?s2))        (true (control ?player))        (owner ?s1 white)        (owner ?s2 black))        (<= (legal ?player accept)        (true (control ?player))        (true (open tw ?c))        (distinct ?c blank))    (legal ?player pass)            (<= (movable ?x ?y)        (or (left ?x ?y) (left ?y ?x)))        (<= (movable ?x ?y)        (or (above ?x ?y) (above ?y ?x)))    (owner s1 white)    (owner s2 white)    (owner s3 white)    (owner s4 white)    (owner s5 black)    (owner s6 black)    (owner s7 black)    (owner s8 black)    (left a1 a2)    (left a2 a3)    (left a3 a4)    (left b1 b2)    (left b2 b3)    (left b3 b4)    (left c1 c2)    (left c2 c3)    (left c3 c4)    (left d1 d2)    (left d2 d3)    (left d3 d4)        (above a1 b1)    (above b1 c1)    (above c1 d1)    (above a2 b2)    (above b2 c2)    (above c2 d2)    (above a3 b3)    (above b3 c3)    (above c3 d3)    (above a4 b4)    (above b4 c4)    (above c4 d4)        ;;;;        (<= (goal ?player 100)        (true (cell a4 ?player))        (distinct ?player b))        (<= (goal ?player 0)        (true (cell ?x ?player))        (distinct ?x a4))        ;;;;        (<= terminal        (true (step 10)))        (<= terminal        (goal ?player 100));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;