gdl/buttons.gdl @ 8eace5aaf113

Get some basic ZDD stuff up and running with triviabdd
author Steve Losh <steve@stevelosh.com>
date Sat, 29 Oct 2016 16:34:06 +0000
parents 167ffd6a7a6a
children (none)
(role robot)
(init (off p))
(init (off q))
(init (off r))
(init (step 1))
(<= (next (on p))
    (does robot a)
    (true (off p)))
(<= (next (on q))
    (does robot a)
    (true (on q)))
(<= (next (on r))
    (does robot a)
    (true (on r)))
(<= (next (off p))
    (does robot a)
    (true (on p)))
(<= (next (off q))
    (does robot a)
    (true (off q)))
(<= (next (off r))
    (does robot a)
    (true (off r)))
(<= (next (on p))
    (does robot b)
    (true (on q)))
(<= (next (on q))
    (does robot b)
    (true (on p)))
(<= (next (on r))
    (does robot b)
    (true (on r)))
(<= (next (off p))
    (does robot b)
    (true (off q)))
(<= (next (off q))
    (does robot b)
    (true (off p)))
(<= (next (off r))
    (does robot b)
    (true (off r)))
(<= (next (on p))
    (does robot c)
    (true (on p)))
(<= (next (on q))
    (does robot c)
    (true (on r)))
(<= (next (on r))
    (does robot c)
    (true (on q)))
(<= (next (off p))
    (does robot c)
    (true (off p)))
(<= (next (off q))
    (does robot c)
    (true (off r)))
(<= (next (off r))
    (does robot c)
    (true (off q)))
(<= (next (step ?y))
    (true (step ?x))
    (succ ?x ?y))
(succ 1 2)
(succ 2 3)
(succ 3 4)
(succ 4 5)
(succ 5 6)
(succ 6 7)
(legal robot a)
(legal robot b)
(legal robot c)
(<= (goal robot 100)
    (true (on p))
    (true (on q))
    (true (on r)))
(<= (goal robot 0) (or
    (not (true (on p)))
    (not (true (on q)))
    (not (true (on r)))))
(<= terminal
    (true (step 7)))
(<= terminal
    (true (on p))
    (true (on q))
    (true (on r)))