% % the Yale shooting problem -- no 'dead' fluent % % to see what happens, use the command % lparse -c n=1 yale.lp | smodels % add o(load, 0) to the program and rerun % to see the problem % define fluents and actions fluent(alive). fluent(loaded). action(shoot). action(load). % define time line time(0..n). % initial state h(alive, 0). h(neg(loaded), 0). % action effects % shooting causes neg(alive) only if % h(neg(alive), T+1):- time(T), o(shoot, T), h(loaded, T). h(neg(loaded), T+1):- time(T), o(shoot, T), h(loaded, T). % loading causes loaded h(loaded, T+1):- time(T), o(load, T). % hiding fluent and action hide fluent(F). hide action(A). % hiding time hide time(T).