:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/RepRest.e',664). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.pel')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(ecalc). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.pel')). %; %; Copyright (c) 2005 IBM Corporation and others. %; All rights reserved. This program and the accompanying materials %; are made available under the terms of the Common Public License v1.0 %; which accompanies this distribution, and is available at %; http://www.eclipse.org/legal/cpl-v10.html %; %; Contributors: %; IBM - Initial implementation %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',11). % sort restaurant: script subsort(restaurant,script). % sort waiter: agent subsort(waiter,agent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',13). % sort cook: agent subsort(cook,agent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',15). % function BillOf(restaurant): bill function(billOf(restaurant),bill). % function CookOf(restaurant): cook function(cookOf(restaurant),cook). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',17). % function TableOf(restaurant): table function(tableOf(restaurant),table). % function WaiterOf(restaurant): waiter function(waiterOf(restaurant),waiter). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',19). % function KitchenDoorOf(restaurant): door function(kitchenDoorOf(restaurant),door). %; awaiting customer/waiter has set down bill on customer's table % fluent BeWaiter0(waiter) :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',21). fluent(beWaiter0(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',24). %; awaiting customer order % fluent BeWaiter1(waiter) fluent(beWaiter1(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',27). %; has customer order % fluent BeWaiter2(waiter) fluent(beWaiter2(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',30). %; in kitchen % fluent BeWaiter3(waiter) fluent(beWaiter3(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',33). %; awaiting preparation of order % fluent BeWaiter4(waiter) fluent(beWaiter4(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',36). %; has order % fluent BeWaiter5(waiter) fluent(beWaiter5(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',39). %; back in dining room % fluent BeWaiter6(waiter) fluent(beWaiter6(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',42). %; order delivered to customer (can ask if all is OK) % fluent BeWaiter7(waiter) fluent(beWaiter7(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',45). %; customer has requested bill % fluent BeWaiter8(waiter) fluent(beWaiter8(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',48). %; waiter is holding bill % fluent BeWaiter9(waiter) fluent(beWaiter9(waiter)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',51). % xor BeWaiter0, BeWaiter1, BeWaiter2, BeWaiter3, BeWaiter4, BeWaiter5, BeWaiter6, BeWaiter7, BeWaiter8, BeWaiter9 xor([ beWaiter0, beWaiter1, beWaiter2, beWaiter3, beWaiter4, beWaiter5, beWaiter6, beWaiter7, beWaiter8, beWaiter9 ]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',53). % [waiter,agent,time] % HoldsAt(BeWaiter0(waiter),time) -> % Terminates(Greet(waiter,agent), % BeWaiter0(waiter), % time). holds_at(beWaiter0(Waiter), Time) -> terminates_at(greet(Waiter, Agent), beWaiter0(Waiter), Time). % [waiter,agent,time] % HoldsAt(BeWaiter0(waiter),time) -> % Initiates(Greet(waiter,agent), % BeWaiter1(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',60). holds_at(beWaiter0(Waiter), Time) -> initiates_at(greet(Waiter, Agent), beWaiter1(Waiter), Time). % [waiter,agent,food,time] % HoldsAt(BeWaiter1(waiter),time) -> % Terminates(Order(agent,waiter,food), % BeWaiter1(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',66). holds_at(beWaiter1(Waiter), Time) -> terminates_at(order(Agent, Waiter, Food), beWaiter1(Waiter), Time). % [waiter,agent,food,time] % HoldsAt(BeWaiter1(waiter),time) -> % Initiates(Order(agent,waiter,food), % BeWaiter2(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',72). holds_at(beWaiter1(Waiter), Time) -> initiates_at(order(Agent, Waiter, Food), beWaiter2(Waiter), Time). % [restaurant,waiter,time] % WaiterOf(restaurant)=waiter & % HoldsAt(BeWaiter2(waiter),time) -> % Happens(WalkThroughDoor12(waiter,KitchenDoorOf(restaurant)),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',78). waiterOf(Restaurant)=Waiter, holds_at(beWaiter2(Waiter), Time) -> happens_at(walkThroughDoor12(Waiter, kitchenDoorOf(Restaurant)), Time). % [restaurant,waiter,door,time] % HoldsAt(BeWaiter2(waiter),time) & % WaiterOf(restaurant)=waiter & % KitchenDoorOf(restaurant)=door -> % Terminates(WalkThroughDoor12(waiter,door), % BeWaiter2(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',83). holds_at(beWaiter2(Waiter), Time), waiterOf(Restaurant)=Waiter, kitchenDoorOf(Restaurant)=Door -> terminates_at(walkThroughDoor12(Waiter, Door), beWaiter2(Waiter), Time). % [restaurant,waiter,door,time] % HoldsAt(BeWaiter2(waiter),time) & % WaiterOf(restaurant)=waiter & % KitchenDoorOf(restaurant)=door -> % Initiates(WalkThroughDoor12(waiter,door), % BeWaiter3(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',91). holds_at(beWaiter2(Waiter), Time), waiterOf(Restaurant)=Waiter, kitchenDoorOf(Restaurant)=Door -> initiates_at(walkThroughDoor12(Waiter, Door), beWaiter3(Waiter), Time). % [restaurant,food,time] % HoldsAt(BeWaiter3(WaiterOf(restaurant)),time) & % ({agent} HoldsAt(KnowOrder(WaiterOf(restaurant),agent,food),time)) -> % Happens(Order(WaiterOf(restaurant),CookOf(restaurant),food),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',99). holds_at(beWaiter3(waiterOf(Restaurant)), Time), exists([Agent], holds_at(knowOrder(waiterOf(Restaurant), Agent, Food), Time)) -> happens_at(order(waiterOf(Restaurant), cookOf(Restaurant), Food), Time). % [restaurant,waiter,cook,food,time] % WaiterOf(restaurant)=waiter & % CookOf(restaurant)=cook & % HoldsAt(BeWaiter3(waiter),time) -> % Terminates(Order(waiter,cook,food), % BeWaiter3(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',104). waiterOf(Restaurant)=Waiter, cookOf(Restaurant)=Cook, holds_at(beWaiter3(Waiter), Time) -> terminates_at(order(Waiter, Cook, Food), beWaiter3(Waiter), Time). % [restaurant,waiter,cook,food,time] % WaiterOf(restaurant)=waiter & % CookOf(restaurant)=cook & % HoldsAt(BeWaiter3(waiter),time) -> % Initiates(Order(waiter,cook,food), % BeWaiter4(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',112). waiterOf(Restaurant)=Waiter, cookOf(Restaurant)=Cook, holds_at(beWaiter3(Waiter), Time) -> initiates_at(order(Waiter, Cook, Food), beWaiter4(Waiter), Time). % [waiter,food,time] % HoldsAt(BeWaiter4(waiter),time) & % ({agent} HoldsAt(KnowOrder(waiter,agent,food),time)) & % HoldsAt(FoodPrepared(food),time) -> % Happens(PickUp(waiter,food),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',120). holds_at(beWaiter4(Waiter), Time), exists([Agent], holds_at(knowOrder(Waiter, Agent, Food), Time)), holds_at(foodPrepared(Food), Time) -> happens_at(pickUp(Waiter, Food), Time). % [waiter,food,time] % HoldsAt(BeWaiter4(waiter),time) & % ({agent} HoldsAt(KnowOrder(waiter,agent,food),time)) -> % Terminates(PickUp(waiter,food), % BeWaiter4(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',126). holds_at(beWaiter4(Waiter), Time), exists([Agent], holds_at(knowOrder(Waiter, Agent, Food), Time)) -> terminates_at(pickUp(Waiter, Food), beWaiter4(Waiter), Time). % [waiter,food,time] % HoldsAt(BeWaiter4(waiter),time) & % ({agent} HoldsAt(KnowOrder(waiter,agent,food),time)) -> % Initiates(PickUp(waiter,food), % BeWaiter5(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',133). holds_at(beWaiter4(Waiter), Time), exists([Agent], holds_at(knowOrder(Waiter, Agent, Food), Time)) -> initiates_at(pickUp(Waiter, Food), beWaiter5(Waiter), Time). % [restaurant,waiter,time] % WaiterOf(restaurant)=waiter & % HoldsAt(BeWaiter5(waiter),time) -> % Happens(WalkThroughDoor21(waiter,KitchenDoorOf(restaurant)),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',140). waiterOf(Restaurant)=Waiter, holds_at(beWaiter5(Waiter), Time) -> happens_at(walkThroughDoor21(Waiter, kitchenDoorOf(Restaurant)), Time). % [restaurant,waiter,door,time] % HoldsAt(BeWaiter5(waiter),time) & % WaiterOf(restaurant)=waiter & % KitchenDoorOf(restaurant)=door -> % Terminates(WalkThroughDoor21(waiter,door), % BeWaiter5(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',145). holds_at(beWaiter5(Waiter), Time), waiterOf(Restaurant)=Waiter, kitchenDoorOf(Restaurant)=Door -> terminates_at(walkThroughDoor21(Waiter, Door), beWaiter5(Waiter), Time). % [restaurant,waiter,door,time] % HoldsAt(BeWaiter5(waiter),time) & % WaiterOf(restaurant)=waiter & % KitchenDoorOf(restaurant)=door -> % Initiates(WalkThroughDoor21(waiter,door), % BeWaiter6(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',153). holds_at(beWaiter5(Waiter), Time), waiterOf(Restaurant)=Waiter, kitchenDoorOf(Restaurant)=Door -> initiates_at(walkThroughDoor21(Waiter, Door), beWaiter6(Waiter), Time). % [restaurant,waiter,table,food,time] % WaiterOf(restaurant)=waiter & % TableOf(restaurant)=table & % HoldsAt(BeWaiter6(waiter),time) & % HoldsAt(Holding(waiter,food),time) -> % Happens(PlaceOn(waiter,food,table),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',161). waiterOf(Restaurant)=Waiter, tableOf(Restaurant)=Table, holds_at(beWaiter6(Waiter), Time), holds_at(holding(Waiter, Food), Time) -> happens_at(placeOn(Waiter, Food, Table), Time). % [waiter,food,table,time] % HoldsAt(BeWaiter6(waiter),time) -> % Terminates(PlaceOn(waiter,food,table), % BeWaiter6(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',168). holds_at(beWaiter6(Waiter), Time) -> terminates_at(placeOn(Waiter, Food, Table), beWaiter6(Waiter), Time). % [waiter,food,table,time] % HoldsAt(BeWaiter6(waiter),time) -> % Initiates(PlaceOn(waiter,food,table), % BeWaiter7(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',174). holds_at(beWaiter6(Waiter), Time) -> initiates_at(placeOn(Waiter, Food, Table), beWaiter7(Waiter), Time). % [waiter,agent,bill,time] % HoldsAt(BeWaiter7(waiter),time) -> % Terminates(Request(agent,waiter,bill), % BeWaiter7(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',180). holds_at(beWaiter7(Waiter), Time) -> terminates_at(request(Agent, Waiter, Bill), beWaiter7(Waiter), Time). % [waiter,agent,bill,time] % HoldsAt(BeWaiter7(waiter),time) -> % Initiates(Request(agent,waiter,bill), % BeWaiter8(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',186). holds_at(beWaiter7(Waiter), Time) -> initiates_at(request(Agent, Waiter, Bill), beWaiter8(Waiter), Time). % [restaurant,waiter,bill,time] % WaiterOf(restaurant)=waiter & % BillOf(restaurant)=bill & % HoldsAt(BeWaiter8(waiter),time) -> % Happens(PickUp(waiter,bill),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',192). waiterOf(Restaurant)=Waiter, billOf(Restaurant)=Bill, holds_at(beWaiter8(Waiter), Time) -> happens_at(pickUp(Waiter, Bill), Time). % [waiter,bill,time] % HoldsAt(BeWaiter8(waiter),time) -> % Terminates(PickUp(waiter,bill), % BeWaiter8(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',198). holds_at(beWaiter8(Waiter), Time) -> terminates_at(pickUp(Waiter, Bill), beWaiter8(Waiter), Time). % [waiter,bill,time] % HoldsAt(BeWaiter8(waiter),time) -> % Initiates(PickUp(waiter,bill), % BeWaiter9(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',204). holds_at(beWaiter8(Waiter), Time) -> initiates_at(pickUp(Waiter, Bill), beWaiter9(Waiter), Time). % [restaurant,waiter,bill,table,time] % WaiterOf(restaurant)=waiter & % BillOf(restaurant)=bill & % TableOf(restaurant)=table & % HoldsAt(BeWaiter9(waiter),time) -> % Happens(PlaceOn(waiter,bill,table),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',210). waiterOf(Restaurant)=Waiter, billOf(Restaurant)=Bill, tableOf(Restaurant)=Table, holds_at(beWaiter9(Waiter), Time) -> happens_at(placeOn(Waiter, Bill, Table), Time). % [waiter,bill,table,time] % HoldsAt(BeWaiter9(waiter),time) -> % Terminates(PlaceOn(waiter,bill,table), % BeWaiter9(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',217). holds_at(beWaiter9(Waiter), Time) -> terminates_at(placeOn(Waiter, Bill, Table), beWaiter9(Waiter), Time). % [waiter,bill,table,time] % HoldsAt(BeWaiter9(waiter),time) -> % Initiates(PlaceOn(waiter,bill,table), % BeWaiter0(waiter), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',223). holds_at(beWaiter9(Waiter), Time) -> initiates_at(placeOn(Waiter, Bill, Table), beWaiter0(Waiter), Time). %; awaiting next waiter order :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',229). % fluent BeCook0(cook) fluent(beCook0(cook)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',231). %; waiter order received % fluent BeCook1(cook) fluent(beCook1(cook)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',234). % xor BeCook0, BeCook1 xor([beCook0,beCook1]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',236). % [cook,agent,food,time] % HoldsAt(BeCook0(cook),time) -> % Terminates(Order(agent,cook,food), % BeCook0(cook), % time). holds_at(beCook0(Cook), Time) -> terminates_at(order(Agent, Cook, Food), beCook0(Cook), Time). % [cook,agent,food,time] % HoldsAt(BeCook0(cook),time) -> % Initiates(Order(agent,cook,food), % BeCook1(cook), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',243). holds_at(beCook0(Cook), Time) -> initiates_at(order(Agent, Cook, Food), beCook1(Cook), Time). % event FoodPrepare(agent,food) :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',247). event(foodPrepare(agent,food)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',250). % fluent FoodPrepared(food) fluent(foodPrepared(food)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',252). % [agent,food,time] % Initiates(FoodPrepare(agent,food), % FoodPrepared(food), % time). initiates_at(foodPrepare(Agent,Food), foodPrepared(Food), Time). % [agent,food,time] % Happens(FoodPrepare(agent,food),time) -> % {location}% % HoldsAt(At(agent,location),time) & % HoldsAt(At(food,location),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',258). exists([Location], (happens_at(foodPrepare(Agent, Food), Time)->holds_at(at_loc(Agent, Location), Time), holds_at(at_loc(Food, Location), Time))). % [cook,agent,food,time] % HoldsAt(BeCook1(cook),time) & % HoldsAt(KnowOrder(cook,agent,food),time) -> % Happens(FoodPrepare(cook,food),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',264). holds_at(beCook1(Cook), Time), holds_at(knowOrder(Cook, Agent, Food), Time) -> happens_at(foodPrepare(Cook, Food), Time). % [cook,food,time] % HoldsAt(BeCook1(cook),time) -> % Terminates(FoodPrepare(cook,food), % BeCook1(cook), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',269). holds_at(beCook1(Cook), Time) -> terminates_at(foodPrepare(Cook, Food), beCook1(Cook), Time). % [cook,food,time] % HoldsAt(BeCook1(cook),time) -> % Initiates(FoodPrepare(cook,food), % BeCook0(cook), % time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',275). holds_at(beCook1(Cook), Time) -> initiates_at(foodPrepare(Cook, Food), beCook0(Cook), Time). %; End of file. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.e',279). :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/ecnet/Restaurant.pel')).