1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Mueller2006/Chapter8/CameraWithFlash.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%; @book{Mueller:2006,
15%; author = "Erik T. Mueller",
16%; year = "2006",
17%; title = "Commonsense Reasoning",
18%; address = "San Francisco",
19%; publisher = "Morgan Kaufmann/Elsevier",
20%; }
21%;
22
23% load foundations/Root.e
24
25% load foundations/EC.e
26
27% sort camera
28==> sort(camera).
29
30% camera Camera1
31==> t(camera,camera1).
32
33% fluent ProperlyExposedPicture(camera)
34 % fluent(properlyExposedPicture(camera)).
35==> mpred_prop(properlyExposedPicture(camera),fluent).
36==> meta_argtypes(properlyExposedPicture(camera)).
37
38% fluent ImproperlyExposedPicture(camera)
39 % fluent(improperlyExposedPicture(camera)).
40==> mpred_prop(improperlyExposedPicture(camera),fluent).
41==> meta_argtypes(improperlyExposedPicture(camera)).
42
43% event ReleaseShutter(camera)
44 % event(releaseShutter(camera)).
45==> mpred_prop(releaseShutter(camera),event).
46==> meta_argtypes(releaseShutter(camera)).
47
48% event TriggerFlash(camera)
49 % event(triggerFlash(camera)).
50==> mpred_prop(triggerFlash(camera),event).
51==> meta_argtypes(triggerFlash(camera)).
52
53
61axiom(requires(triggerFlash(Camera), Time),
62
63 [ initiates(releaseShutter(Camera),
64 properlyExposedPicture(Camera),
65 Time)
66 ]).
67
68
74axiom(initiates(releaseShutter(Camera), improperlyExposedPicture(Camera), Time),
75 [not(happens(triggerFlash(Camera), Time))]).
76
77
80
83next_axiom_uses(delta).
84
85
86
89axiom(happens(releaseShutter(camera1), t),
90 [is_time(0)]).
91
94next_axiom_uses(delta).
95
96
97
100axiom(happens(triggerFlash(camera1), start),
101 [is_time(1), b(t, start), ignore(t+1=start)]).
102
105next_axiom_uses(delta).
106
107
108
111axiom(happens(releaseShutter(camera1), start),
112 [is_time(1), b(t, start), ignore(t+1=start)]).
113
114
118 119 121axiom(not(initially(improperlyExposedPicture(ImproperlyExposedPicture_Ret))),
122 []).
123
124
127 128 129axiom(not(initially(properlyExposedPicture(ProperlyExposedPicture_Ret))),
130 []).
131
132% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter8/CameraWithFlash.e:52
133% completion Delta Happens
134% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter8/CameraWithFlash.e:53
135==> completion(delta).
136==> completion(happens).
137
138% range time 0 2
139% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter8/CameraWithFlash.e:55
140==> range(time,0,2).
141
142% range offset 1 1
143% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter8/CameraWithFlash.e:56
144==> range(offset,1,1).