(define (domain floor-tile)
(:requirements :typing)
(:types robot tile color)

(:predicates
		(robotat ?r - robot ?x - tile)
		(up ?x - tile ?y - tile)
		(down ?x - tile ?y - tile)
		(right ?x - tile ?y - tile)
		(left ?x - tile ?y - tile)

		(clear ?x - tile)
                (painted ?x - tile ?c - color)
		(robothas ?r - robot ?c - color)
                (availablecolor ?c - color)
                (freecolor ?r - robot))

(:action changecolor
  :parameters (?o1 - robot ?o2 - color ?o3 - color)
  :precondition ()
  :effect ())

(:action paintup
  :parameters (?o1 - robot ?o2 - tile ?o3 - tile ?o4 - color)
  :precondition ()
  :effect ())

(:action paintdown
  :parameters (?o1 - robot ?o2 - tile ?o3 - tile ?o4 - color)
  :precondition ()
  :effect ())

(:action up
  :parameters (?o1 - robot ?o2 - tile ?o3 - tile)
  :precondition ()
  :effect ())

(:action down
  :parameters (?o1 - robot ?o2 - tile ?o3 - tile)
  :precondition ()
  :effect ())

(:action right
  :parameters (?o1 - robot ?o2 - tile ?o3 - tile)
  :precondition ()
  :effect ())

(:action left
  :parameters (?o1 - robot ?o2 - tile ?o3 - tile)
  :precondition ()
  :effect ())
)