(define (domain grid)
(:requirements :strips)
(:types place key shape)
(:predicates (conn ?x - place ?y - place)
             (keyshape ?k - key ?s - shape)
             (lockshape ?p - place ?s - shape)
             (at ?k - key ?p - place)
	     (atrobot ?p - place)
             (locked ?p - place)
	     (open ?p - place)
             (holding ?k - key)
             (armempty))

(:action unlock
  :parameters (?o1 - place ?o2 - place ?o3 - key ?o4 - shape)
  :precondition ()
  :effect ())

(:action move
  :parameters (?o1 - place ?o2 - place)
  :precondition ()
  :effect ())

(:action pickup
  :parameters (?o1 - place ?o2 - key)
  :precondition ()
  :effect ())


(:action pickupandloose
  :parameters (?o1 - place ?o2 - key ?o3 - key)
  :precondition ()
  :effect ())

(:action putdown
  :parameters (?o1 - place ?o2 - key)
  :precondition ()
  :effect ())
)



