#base.

% Domain: driverlog, Problem: DLOG-2-2-4
% 
% 
% OBJECTS  >>>>>
typedobject( location( s0 ) ).
typedobject( truck( truck1 ) ).
typedobject( truck( truck2 ) ).
typedobject( driver( driver1 ) ).
typedobject( location( s2 ) ).
typedobject( location( s1 ) ).
typedobject( driver( driver2 ) ).
typedobject( location( p01 ) ).
typedobject( location( p21 ) ).
typedobject( location( p20 ) ).
typedobject( obj( package1 ) ).
typedobject( obj( package2 ) ).
typedobject( obj( package3 ) ).
typedobject( obj( package4 ) ).
% <<<<<  OBJECTS
% 

% 
% 
% DOMAIN PREDICATES  >>>>>
holds( link( s2,s0 ) ).
holds( path( s1,p01 ) ).
holds( path( s2,p21 ) ).
holds( link( s1,s2 ) ).
holds( path( p21,s2 ) ).
holds( path( p20,s2 ) ).
holds( link( s2,s1 ) ).
holds( path( p20,s0 ) ).
holds( path( p01,s1 ) ).
holds( path( s0,p01 ) ).
holds( path( s2,p20 ) ).
holds( link( s0,s2 ) ).
holds( link( s1,s0 ) ).
holds( path( p01,s0 ) ).
holds( path( s1,p21 ) ).
holds( path( s0,p20 ) ).
holds( link( s0,s1 ) ).
holds( path( p21,s1 ) ).
% <<<<<  DOMAIN PREDICATES
% 

% 
% 
% INIT  >>>>>
init( at( package2,s0 ) ).
init( at( driver1,s1 ) ).
init( at( package3,s1 ) ).
init( empty( truck1 ) ).
init( at( truck2,s2 ) ).
init( empty( truck2 ) ).
init( at( driver2,s0 ) ).
init( at( package1,s0 ) ).
init( at( truck1,s1 ) ).
init( at( package4,s1 ) ).
% <<<<<  INIT
% 

% 
% 
% GOAL  >>>>>
goal( at( driver2,s2 ),true ).
goal( at( truck1,s1 ),true ).
goal( at( truck2,s2 ),true ).
goal( at( package1,s1 ),true ).
goal( at( package2,s1 ),true ).
goal( at( package3,s2 ),true ).
% <<<<<  GOAL
% 

