(define (domain driverlog)
  (:requirements :strips)
  (:types location locatable - object
  	  truck driver package - locatable)

  (:predicates 	(at ?lt - locatable ?loc - location)
		(isin ?p - package ?t - truck)
		(driving ?d - driver ?v - truck)
		(link ?x ?y - location) (path ?x ?y - location)
		(empty ?v - truck))


(:action loadtruck
  :parameters (?o1 - package ?o2 - truck ?o3 - location)
  :precondition ()
  :effect ())

(:action unloadtruck
  :parameters (?o1 - package ?o2 - truck ?o3 - location)
  :precondition ()
  :effect ())


(:action boardtruck
  :parameters (?o1 - driver ?o2 - truck ?o3 - location)
  :precondition ()
  :effect ())

(:action disembarktruck
  :parameters (?o1 - driver ?o2 - truck ?o3 - location)
  :precondition ()
  :effect ())


(:action drivetruck
  :parameters (?o1 - truck ?o2 - location ?o3 - location ?o4 - driver)
  :precondition ()
  :effect ())

(:action walk
  :parameters (?o1 - location ?o2 - location ?o3 - driver)
  :precondition ()
  :effect ())

)
