1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Shanahan1997/StolenCar.e').
4%;
5%; Copyright (c) 2005 IBM Corporation and others.
6%; All rights reserved. This program and the accompanying materials
7%; are made available under the terms of the Common Public License v1.0
8%; which accompanies this distribution, and is available at
9%; http://www.eclipse.org/legal/cpl-v10.html
10%;
11%; Contributors:
12%; IBM - Initial implementation
13%;
14%; @inproceedings{Kautz:1986,
15%; author = "Henry A. Kautz",
16%; year = "1986",
17%; title = "The Logic of Persistence",
18%; booktitle = "\uppercase{P}roceedings of the \uppercase{F}ifth \uppercase{N}ational \uppercase{C}onference on \uppercase{A}rtificial \uppercase{I}ntelligence",
19%; pages = "401--405",
20%; address = "Los Altos, CA",
21%; publisher = "Morgan Kaufmann",
22%; }
23%;
24%; \fullciteA[p. 359]{Shanahan:1997}
25%;
26%; @book{Shanahan:1997,
27%; author = "Murray Shanahan",
28%; year = "1997",
29%; title = "Solving the Frame Problem",
30%; address = "Cambridge, MA",
31%; publisher = "MIT Press",
32%; }
33%;
34%; abduction
35%;
36%; modifications from Shanahan's formulation:
37%; timestamps
38%; added !HoldsAt(CarParked(),0).
39%;
40
41% load foundations/Root.e
42
43% load foundations/EC.e
44
45% event Park()
46 % event(park()).
47==> mpred_prop(park(),event).
48==> meta_argtypes(park()).
49
50% event Steal()
51 % event(steal()).
52==> mpred_prop(steal(),event).
53==> meta_argtypes(steal()).
54
55% fluent CarParked()
56 % fluent(carParked()).
57==> mpred_prop(carParked(),fluent).
58==> meta_argtypes(carParked()).
59
60
63 64axiom(initiates(park(), carParked(), Time),
65 []).
66
67
70 71axiom(terminates(steal(), carParked(), Time),
72 []).
73
74
77 78axiom(not(initially(carParked())),
79 []).
80
81
84axiom(happens(park(), t),
85 [is_time(0)]).
86
87
90
91
94 95axiom(not(holds_at(carParked(), t2)),
96 [b(t, t2), ignore(t+2=t2)]).
97
98% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/StolenCar.e:52
99% range time 0 2
100% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/StolenCar.e:53
101==> range(time,0,2).
102
103% range offset 1 1
104% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/StolenCar.e:54
105==> range(offset,1,1).