//**************** Predicates ******************************************* At(object,location,time) In(object,medium,time) MediumAt(medium,location,time) InCity(location,city) Airport(location) Truck(medium) Airplane(medium) MediumInCity(medium,city) Successor(time,time) //************************** RULES *********************************** // Objects stay in place or are loaded // Only load planes/trucks at the same location // Objects stay in the truck/plane or are unloaded // Only unload a plane/truck at same location // A truck/plane is always in exactly in one location // Objects are at at most one location // Objects are in at most one medium // Objects are never both at a location and in a medium // Objects are always somewhere // A truck is in same city as its location // An airplane is always at an airport //***************** Heuristics (off by default) *********************************** // H1: Once a package leaves a location, it never returns. // H2: A package is never in any city other than its origin or destination cities. // H3: Once a truck is loaded, it should immediately move. // H4: A package never leaves its destination city.