#base.

% Domain: Rover, Problem: roverprob4132
% 
% 
% OBJECTS  >>>>>
typedobject( objective( objective1 ) ).
typedobject( objective( objective2 ) ).
typedobject( waypoint( waypoint6 ) ).
typedobject( store( rover3store ) ).
typedobject( waypoint( waypoint4 ) ).
typedobject( waypoint( waypoint5 ) ).
typedobject( store( rover0store ) ).
typedobject( waypoint( waypoint2 ) ).
typedobject( waypoint( waypoint0 ) ).
typedobject( waypoint( waypoint1 ) ).
typedobject( camera( camera2 ) ).
typedobject( rover( rover2 ) ).
typedobject( rover( rover3 ) ).
typedobject( rover( rover0 ) ).
typedobject( lander( general ) ).
typedobject( waypoint( waypoint3 ) ).
typedobject( mode( high_res ) ).
typedobject( camera( camera0 ) ).
typedobject( camera( camera1 ) ).
typedobject( mode( colour ) ).
typedobject( camera( camera3 ) ).
typedobject( camera( camera4 ) ).
typedobject( rover( rover1 ) ).
typedobject( store( rover2store ) ).
typedobject( objective( objective0 ) ).
typedobject( store( rover1store ) ).
typedobject( mode( low_res ) ).
% <<<<<  OBJECTS
% 

% 
% 
% DOMAIN PREDICATES  >>>>>
holds( visible_from( objective2,waypoint4 ) ).
holds( store_of( rover0store,rover0 ) ).
holds( can_traverse( rover2,waypoint0,waypoint3 ) ).
holds( visible_from( objective2,waypoint5 ) ).
holds( store_of( rover2store,rover2 ) ).
holds( can_traverse( rover3,waypoint2,waypoint0 ) ).
holds( can_traverse( rover0,waypoint4,waypoint1 ) ).
holds( visible( waypoint2,waypoint6 ) ).
holds( can_traverse( rover2,waypoint1,waypoint2 ) ).
holds( can_traverse( rover0,waypoint1,waypoint4 ) ).
holds( visible( waypoint4,waypoint3 ) ).
holds( can_traverse( rover2,waypoint3,waypoint0 ) ).
holds( visible( waypoint6,waypoint3 ) ).
holds( visible_from( objective2,waypoint6 ) ).
holds( can_traverse( rover3,waypoint1,waypoint2 ) ).
holds( can_traverse( rover3,waypoint0,waypoint2 ) ).
holds( can_traverse( rover2,waypoint1,waypoint5 ) ).
holds( can_traverse( rover1,waypoint6,waypoint2 ) ).
holds( equipped_for_soil_analysis( rover2 ) ).
holds( can_traverse( rover0,waypoint6,waypoint5 ) ).
holds( visible_from( objective2,waypoint1 ) ).
holds( can_traverse( rover1,waypoint3,waypoint1 ) ).
holds( can_traverse( rover1,waypoint1,waypoint2 ) ).
holds( can_traverse( rover1,waypoint1,waypoint4 ) ).
holds( visible_from( objective1,waypoint1 ) ).
holds( visible( waypoint0,waypoint1 ) ).
holds( can_traverse( rover2,waypoint3,waypoint4 ) ).
holds( visible( waypoint5,waypoint0 ) ).
holds( can_traverse( rover1,waypoint0,waypoint2 ) ).
holds( on_board( camera2,rover0 ) ).
holds( visible( waypoint1,waypoint5 ) ).
holds( visible( waypoint6,waypoint0 ) ).
holds( supports( camera0,low_res ) ).
holds( calibration_target( camera0,objective2 ) ).
holds( can_traverse( rover1,waypoint2,waypoint1 ) ).
holds( calibration_target( camera2,objective0 ) ).
holds( can_traverse( rover2,waypoint2,waypoint1 ) ).
holds( visible( waypoint2,waypoint5 ) ).
holds( visible( waypoint0,waypoint2 ) ).
holds( can_traverse( rover0,waypoint3,waypoint1 ) ).
holds( supports( camera4,low_res ) ).
holds( can_traverse( rover3,waypoint3,waypoint0 ) ).
holds( visible_from( objective0,waypoint0 ) ).
holds( can_traverse( rover2,waypoint0,waypoint6 ) ).
holds( can_traverse( rover3,waypoint0,waypoint5 ) ).
holds( equipped_for_soil_analysis( rover3 ) ).
holds( visible( waypoint6,waypoint1 ) ).
holds( store_of( rover3store,rover3 ) ).
holds( can_traverse( rover2,waypoint6,waypoint0 ) ).
holds( visible_from( objective1,waypoint2 ) ).
holds( visible( waypoint6,waypoint4 ) ).
holds( equipped_for_imaging( rover2 ) ).
holds( can_traverse( rover3,waypoint5,waypoint0 ) ).
holds( can_traverse( rover0,waypoint5,waypoint2 ) ).
holds( visible_from( objective1,waypoint0 ) ).
holds( equipped_for_rock_analysis( rover1 ) ).
holds( visible_from( objective0,waypoint2 ) ).
holds( can_traverse( rover3,waypoint2,waypoint6 ) ).
holds( supports( camera3,high_res ) ).
holds( on_board( camera4,rover1 ) ).
holds( supports( camera0,colour ) ).
holds( visible( waypoint1,waypoint0 ) ).
holds( visible( waypoint6,waypoint5 ) ).
holds( can_traverse( rover0,waypoint1,waypoint5 ) ).
holds( can_traverse( rover3,waypoint2,waypoint1 ) ).
holds( visible( waypoint6,waypoint2 ) ).
holds( can_traverse( rover2,waypoint5,waypoint1 ) ).
holds( visible( waypoint0,waypoint3 ) ).
holds( can_traverse( rover0,waypoint2,waypoint5 ) ).
holds( visible( waypoint0,waypoint5 ) ).
holds( visible( waypoint3,waypoint4 ) ).
holds( equipped_for_imaging( rover0 ) ).
holds( visible( waypoint3,waypoint6 ) ).
holds( supports( camera2,low_res ) ).
holds( visible_from( objective2,waypoint2 ) ).
holds( visible( waypoint1,waypoint6 ) ).
holds( visible( waypoint4,waypoint1 ) ).
holds( can_traverse( rover1,waypoint1,waypoint3 ) ).
holds( can_traverse( rover0,waypoint5,waypoint0 ) ).
holds( can_traverse( rover3,waypoint1,waypoint4 ) ).
holds( can_traverse( rover1,waypoint5,waypoint2 ) ).
holds( equipped_for_imaging( rover3 ) ).
holds( visible( waypoint4,waypoint6 ) ).
holds( visible_from( objective2,waypoint3 ) ).
holds( can_traverse( rover2,waypoint1,waypoint0 ) ).
holds( can_traverse( rover0,waypoint5,waypoint1 ) ).
holds( calibration_target( camera4,objective1 ) ).
holds( can_traverse( rover0,waypoint0,waypoint5 ) ).
holds( visible_from( objective0,waypoint1 ) ).
holds( visible( waypoint0,waypoint6 ) ).
holds( can_traverse( rover2,waypoint0,waypoint1 ) ).
holds( can_traverse( rover1,waypoint2,waypoint6 ) ).
holds( on_board( camera1,rover0 ) ).
holds( calibration_target( camera1,objective2 ) ).
holds( supports( camera3,colour ) ).
holds( visible_from( objective1,waypoint3 ) ).
holds( store_of( rover1store,rover1 ) ).
holds( visible( waypoint1,waypoint4 ) ).
holds( on_board( camera3,rover2 ) ).
holds( supports( camera4,colour ) ).
holds( visible_from( objective1,waypoint5 ) ).
holds( can_traverse( rover3,waypoint6,waypoint2 ) ).
holds( can_traverse( rover3,waypoint4,waypoint1 ) ).
holds( on_board( camera0,rover3 ) ).
holds( visible( waypoint1,waypoint2 ) ).
holds( visible( waypoint1,waypoint3 ) ).
holds( can_traverse( rover2,waypoint4,waypoint3 ) ).
holds( visible( waypoint3,waypoint0 ) ).
holds( visible_from( objective1,waypoint4 ) ).
holds( equipped_for_imaging( rover1 ) ).
holds( visible_from( objective2,waypoint0 ) ).
holds( can_traverse( rover0,waypoint5,waypoint6 ) ).
holds( can_traverse( rover1,waypoint2,waypoint0 ) ).
holds( can_traverse( rover3,waypoint0,waypoint3 ) ).
holds( can_traverse( rover1,waypoint4,waypoint1 ) ).
holds( calibration_target( camera3,objective0 ) ).
holds( visible( waypoint5,waypoint1 ) ).
holds( visible( waypoint3,waypoint1 ) ).
holds( can_traverse( rover1,waypoint2,waypoint5 ) ).
holds( visible( waypoint2,waypoint0 ) ).
holds( can_traverse( rover0,waypoint1,waypoint3 ) ).
holds( visible( waypoint5,waypoint2 ) ).
holds( supports( camera1,colour ) ).
holds( visible( waypoint5,waypoint6 ) ).
holds( visible( waypoint2,waypoint1 ) ).
holds( at_lander( general,waypoint4 ) ).
holds( supports( camera3,low_res ) ).
% <<<<<  DOMAIN PREDICATES
% 

% 
% 
% INIT  >>>>>
init( empty( rover2store ) ).
init( available( rover1 ) ).
init( at_soil_sample( waypoint4 ) ).
init( at_rock_sample( waypoint3 ) ).
init( at_soil_sample( waypoint5 ) ).
init( channel_free( general ) ).
init( available( rover0 ) ).
init( at_rock_sample( waypoint6 ) ).
init( at_rock_sample( waypoint5 ) ).
init( empty( rover1store ) ).
init( at_soil_sample( waypoint0 ) ).
init( at_soil_sample( waypoint1 ) ).
init( empty( rover3store ) ).
init( available( rover2 ) ).
init( empty( rover0store ) ).
init( at_rock_sample( waypoint1 ) ).
init( at( rover2,waypoint0 ) ).
init( at( rover0,waypoint5 ) ).
init( available( rover3 ) ).
init( at_rock_sample( waypoint0 ) ).
init( at_soil_sample( waypoint6 ) ).
init( at( rover1,waypoint2 ) ).
init( at( rover3,waypoint2 ) ).
% <<<<<  INIT
% 

% 
% 
% GOAL  >>>>>
goal( communicated_soil_data( waypoint6 ),true ).
goal( communicated_soil_data( waypoint4 ),true ).
goal( communicated_soil_data( waypoint0 ),true ).
goal( communicated_rock_data( waypoint6 ),true ).
goal( communicated_rock_data( waypoint0 ),true ).
goal( communicated_rock_data( waypoint3 ),true ).
goal( communicated_image_data( objective2,low_res ),true ).
goal( communicated_image_data( objective2,colour ),true ).
% <<<<<  GOAL
% 

