include "../library-ontology"
include "../library"

module AIRPORT;

  objects
    John : Person;
    Car : Vehicle;
    Desk, Garage, Airport : Place;
    Home, County : Region;

  actions
    Walk(Place); Drive(Place);
    Board;
    Disembark;

  fluents
    Walkable(Region),
    Drivable(Region) : rigid;

  variables
    p : Place;
    r : Region;

  import CARRIER;
    Load(John,Car) is Board;
    Unload(John) is Disembark;
    Move(Car,p) is Drive(p);

  import MOVE_IN_REGION;
    Move(Car,p) is Drive(p);
    Movable(r) is Drivable(r);

  import MOVE_IN_REGION;
    Move(John,p) is Walk(p);
    Movable(r) is Walkable(r);

  import NOCONCURRENCY;

  axioms

    constraint Location(Car)!=Desk;

    % Our "geography":

    At(Desk, Home);
    At(Garage, Home);
    At(Home, County);
    At(Airport, County);

    Walkable(Home);

    Drivable(County);
