Stratify rules according to negations
author |
Steve Losh <steve@stevelosh.com> |
date |
Sun, 20 Nov 2016 15:33: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)))