gdl/roshambo2.gdl @ fc378d24dd2f default tip

Make zdd union a bit cleaner
author Steve Losh <steve@stevelosh.com>
date Tue, 30 May 2017 15:13:42 +0000
parents 90dd275f6e81
children (none)
(role white)
(role black)
(init (step s1))
(init (beaten white s0))
(init (beaten black s0))
(<= (next (beaten ?player ?n1))
    (does ?player ?throw)
    (does ?player2 ?throw2)
    (distinct ?player2 ?player)
    (beats ?throw ?throw2)
    (true (beaten ?player ?n))
    (succ ?n ?n1))
(<= (next (beaten ?player ?n))
    (does ?player ?throw)
    (does ?player2 ?throw2)
    (distinct ?player2 ?player)
    (not (beats ?throw ?throw2))
    (true (beaten ?player ?n)))
(<= (next (step ?y))
    (true (step ?x))
    (succ ?x ?y))
(succ s0 s1)
(succ s1 s2)
(succ s2 s3)
(succ s3 s4)
(succ s4 s5)
(succ s5 s6)
(succ s6 s7)
(succ s7 s8)
(succ s8 s9)
(succ s9 s10)
(<= (gt ?x ?y)
    (succ ?y ?x))
(<= (gt ?x ?y)
    (succ ?z ?x)
    (gt ?z ?y))
(<= (legal ?role rock)
    (role ?role))
(<= (legal ?role paper)
    (role ?role))
(<= (legal ?role scissors)
    (role ?role))
(<= (legal ?role well)
    (role ?role))
(beats rock scissors)
(beats paper rock)
(beats paper well)
(beats scissors paper)
(beats well scissors)
(beats well rock)
(<= (goal ?r1 100)
    (true (beaten ?r1 ?n1))
    (true (beaten ?r2 ?n2))
    (gt ?n1 ?n2))
(<= (goal ?r2 0)
    (true (beaten ?r1 ?n1))
    (true (beaten ?r2 ?n2))
    (gt ?n1 ?n2))
(<= (goal ?r 50)
    (true (beaten white ?n))
    (true (beaten black ?n))
    (role ?r))
(<= terminal
    (true (beaten ?r s5)))
(<= terminal
    (true (step s10)))