;;; a three step plan works
(define (problem att_log0) 
  (:domain logistics)
;;  (:requirements :strips :equality :typing :conditional-effects :disjunctive-preconditions)			
  (:objects 	package1 - OBJ
	;	package2 - OBJ
		pgh_truck - TRUCK
		bos_truck - TRUCK
		phx_truck - TRUCK
		airplane1 - AIRPLANE
		bos_po - LOCATION
		pgh_po - LOCATION
		phx_po - LOCATION
		bos_airport - AIRPORT 
		pgh_airport - AIRPORT 
		phx_airport - AIRPORT
		pgh - CITY
		bos - CITY
 		phx - CITY
	)
 (:init 
	(oneof
	 (at_ol package1 pgh_po)
	 (at_ol package1 phx_po)
	 (at_ol package1 bos_po)
	 )

	(unknown (at_ol package1 pgh_po) )	
	(unknown (at_ol package1 phx_po))	
	(unknown (at_ol package1 bos_po))	

;	(not (in_oa package1 airplane1))
;        (not (in_ot package1 bos_truck))
;        (not (in_ot package1 pgh_truck))
;        (not (in_ot package1 phx_truck))
;	(not (at_oa package1 pgh_airport))	
;	(not (at_oa package1 bos_airport))
;	(not (at_oa package1 phx_airport))

	 (at_aa airplane1 pgh_airport)
;	(not (at_aa airplane1 phx_airport))
;	(not (at_aa airplane1 bos_airport))

	 (at_tl bos_truck bos_po)
;        (not (at_ta bos_truck bos_airport))
;	(not (at_tl bos_truck pgh_po))
;	(not (at_ta bos_truck pgh_airport))
;	(not (at_tl bos_truck phx_po))
;	(not (at_ta bos_truck phx_airport))

	 (at_tl pgh_truck pgh_po)
;        (not (at_ta pgh_truck bos_airport))
;        (not (at_tl pgh_truck bos_po))
;        (not (at_ta pgh_truck pgh_airport))
;        (not (at_tl pgh_truck phx_po))
 ;       (not (at_ta pgh_truck phx_airport))

	 (at_tl phx_truck phx_po)
 ;       (not (at_ta phx_truck bos_airport))
 ;       (not (at_tl phx_truck bos_po))
 ;       (not (at_ta phx_truck pgh_airport))
  ;      (not (at_tl phx_truck pgh_po))
  ;      (not (at_ta phx_truck phx_airport))
	 
 	 (in_city_l bos_po bos)
;	(not (in_city_l bos_po pgh))
;	(not (in_city_l bos_po phx))

	 (in_city_a bos_airport bos)
;	(not (in_city_a bos_airport pgh))
	;(not (in_city_a bos_airport phx))

	 (in_city_l phx_po phx)
	;(not (in_city_l phx_po bos))
	;(not (in_city_l phx_po pgh))

	 (in_city_a phx_airport phx)
	;(not (in_city_a phx_airport bos))
	;(not (in_city_a phx_airport pgh))

	 (in_city_l pgh_po pgh)
	;(not (in_city_l pgh_po bos))
	;(not (in_city_l pgh_po phx))

	 (in_city_a pgh_airport pgh)
	;(not (in_city_a pgh_airport bos))
	;(not (in_city_a pgh_airport phx))

	 (in_city_t pgh_truck pgh)
	;(not (in_city_t pgh_truck bos))
	;(not (in_city_t pgh_truck phx))
	

	 (in_city_t bos_truck bos)
	;(not (in_city_t bos_truck pgh))
	;(not (in_city_t bos_truck phx))

	 (in_city_t phx_truck phx)
	;(not (in_city_t phx_truck pgh))
	;(not (in_city_t phx_truck bos))
);)
  (:goal
	(at_oa package1 bos_airport)
  )
)
