#base.

% Domain: Rover, Problem: roverprob2435
% 
% 
% OBJECTS  >>>>>
typedobject( rover( rover1 ) ).
typedobject( waypoint( waypoint1 ) ).
typedobject( mode( high_res ) ).
typedobject( camera( camera0 ) ).
typedobject( waypoint( waypoint2 ) ).
typedobject( mode( colour ) ).
typedobject( objective( objective2 ) ).
typedobject( store( rover0store ) ).
typedobject( waypoint( waypoint3 ) ).
typedobject( waypoint( waypoint0 ) ).
typedobject( lander( general ) ).
typedobject( objective( objective1 ) ).
typedobject( camera( camera2 ) ).
typedobject( camera( camera1 ) ).
typedobject( rover( rover0 ) ).
typedobject( store( rover1store ) ).
typedobject( mode( low_res ) ).
typedobject( objective( objective0 ) ).
% <<<<<  OBJECTS
% 

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

% 
% 
% INIT  >>>>>
init( at_soil_sample( waypoint3 ) ).
init( at( rover0,waypoint0 ) ).
init( at_rock_sample( waypoint1 ) ).
init( at_soil_sample( waypoint2 ) ).
init( channel_free( general ) ).
init( empty( rover0store ) ).
init( available( rover0 ) ).
init( available( rover1 ) ).
init( at_soil_sample( waypoint1 ) ).
init( at_rock_sample( waypoint0 ) ).
init( empty( rover1store ) ).
init( at( rover1,waypoint0 ) ).
% <<<<<  INIT
% 

% 
% 
% GOAL  >>>>>
goal( communicated_soil_data( waypoint1 ),true ).
goal( communicated_soil_data( waypoint2 ),true ).
goal( communicated_rock_data( waypoint0 ),true ).
goal( communicated_rock_data( waypoint1 ),true ).
goal( communicated_image_data( objective0,high_res ),true ).
goal( communicated_image_data( objective2,high_res ),true ).
goal( communicated_image_data( objective0,colour ),true ).
% <<<<<  GOAL
% 

