1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'ecnet/Feeling.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%; feeling = emotion, attitude, ...
15%;
16%; The Feeling representation includes simple positive, neutral, and
17%; negative emotions, and positive, neutral, and negative attitudes
18%; toward objects.
19%;
20%; emotions
21%; agent is happy.
22
23% fluent Happy(agent)
24 % fluent(happy(agent)).
25==> mpred_prop(happy(agent),fluent).
26==> meta_argtypes(happy(agent)).
27
28
29% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:22
30%; agent is emotionally neutral or calm.
31
32% fluent Calm(agent)
33 % fluent(calm(agent)).
34% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:24
35==> mpred_prop(calm(agent),fluent).
36==> meta_argtypes(calm(agent)).
37
38
39% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:25
40%; agent is unhappy.
41
42% fluent Unhappy(agent)
43 % fluent(unhappy(agent)).
44% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:27
45==> mpred_prop(unhappy(agent),fluent).
46==> meta_argtypes(unhappy(agent)).
47
48
51
54xor([happy,calm,unhappy]).
55%; agent becomes happy.
56
57% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:32
58% event BecomeHappy(agent)
59 % event(becomeHappy(agent)).
60% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:33
61==> mpred_prop(becomeHappy(agent),event).
62==> meta_argtypes(becomeHappy(agent)).
63
64
65% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:34
66%; agent becomes calm.
67
68% event BecomeCalm(agent)
69 % event(becomeCalm(agent)).
70% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:36
71==> mpred_prop(becomeCalm(agent),event).
72==> meta_argtypes(becomeCalm(agent)).
73
74
75% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:37
76%; agent becomes unhappy.
77
78% event BecomeUnhappy(agent)
79 % event(becomeUnhappy(agent)).
80% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:39
81==> mpred_prop(becomeUnhappy(agent),event).
82==> meta_argtypes(becomeUnhappy(agent)).
83
84
91axiom(initiates(becomeHappy(Agent), happy(Agent), Time),
92 []).
93
94
100axiom(terminates(becomeHappy(Agent), calm(Agent), Time),
101 [holds_at(calm(Agent), Time)]).
102
103
109axiom(terminates(becomeHappy(Agent), unhappy(Agent), Time),
110 [holds_at(unhappy(Agent), Time)]).
111
112
118axiom(requires(becomeHappy(Agent), Time),
119 [not(holds_at(happy(Agent), Time))]).
120
121
126axiom(initiates(becomeCalm(Agent), calm(Agent), Time),
127 []).
128
129
135axiom(terminates(becomeCalm(Agent), happy(Agent), Time),
136 [holds_at(happy(Agent), Time)]).
137
138
144axiom(terminates(becomeCalm(Agent), unhappy(Agent), Time),
145 [holds_at(unhappy(Agent), Time)]).
146
147
152axiom(requires(becomeCalm(Agent), Time),
153 [not(holds_at(calm(Agent), Time))]).
154
155
160axiom(initiates(becomeUnhappy(Agent), unhappy(Agent), Time),
161 []).
162
163
169axiom(terminates(becomeUnhappy(Agent), happy(Agent), Time),
170 [holds_at(happy(Agent), Time)]).
171
172
178axiom(terminates(becomeUnhappy(Agent), calm(Agent), Time),
179 [holds_at(calm(Agent), Time)]).
180
181
186axiom(requires(becomeUnhappy(Agent), Time),
187 [not(holds_at(unhappy(Agent), Time))]).
188
189
190% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:85
191%; anger
192
193% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:87
194% fluent AngryAt(agent,agent)
195 % fluent(angryAt(agent,agent)).
196% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:88
197==> mpred_prop(angryAt(agent,agent),fluent).
198==> meta_argtypes(angryAt(agent,agent)).
199
200% event BecomeAngryAt(agent,agent)
201 % event(becomeAngryAt(agent,agent)).
202% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:90
203==> mpred_prop(becomeAngryAt(agent,agent),event).
204==> meta_argtypes(becomeAngryAt(agent,agent)).
205
206
211axiom(initiates(becomeAngryAt(Agent1, Agent2), angryAt(Agent1, Agent2), Time),
212 []).
213
214
219axiom(terminates(becomeHappy(Agent1), angryAt(Agent1, Agent2), Time),
220 []).
221
222
228axiom(happens(becomeUnhappy(Agent1), Time),
229 [happens(becomeAngryAt(Agent1, Agent2), Time)]).
230
231
232% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:101
233%; attitudes
234%; agent likes object.
235
236% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:104
237% fluent Like(agent,object)
238 % fluent(like(agent,object)).
239% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:105
240==> mpred_prop(like(agent,object),fluent).
241==> meta_argtypes(like(agent,object)).
242
243
244% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:105
245%; agent loves object.
246
247% fluent Love(agent,object)
248 % fluent(love(agent,object)).
249% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:107
250==> mpred_prop(love(agent,object),fluent).
251==> meta_argtypes(love(agent,object)).
252
253
254% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:107
255%; agent dislikes object.
256
257% fluent Dislike(agent,object)
258 % fluent(dislike(agent,object)).
259% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:109
260==> mpred_prop(dislike(agent,object),fluent).
261==> meta_argtypes(dislike(agent,object)).
262
263
264% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:110
265%; agent likes snow.
266
267% fluent LikeSnow(agent)
268 % fluent(likeSnow(agent)).
269% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:112
270==> mpred_prop(likeSnow(agent),fluent).
271==> meta_argtypes(likeSnow(agent)).
272
273
289axiom(happens(becomeHappy(Agent), Time),
290
291 [ not(holds_at(happy(Agent), Time)),
292 holds_at(awake(Agent), Time),
293 holds_at(likeSnow(Agent), Time),
294 holds_at(at(Agent, Room), Time),
295 equals(lookOutOnto(Room), Outside),
296 holds_at(snowing(Outside), Time)
297 ]).
298
299
300% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:126
301%; We introduced LikeSnow above since Like
302%; can only be used to represent that an agent likes a
303%; particular object, not snow in general.
304
305% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:130
306% event Smile(agent)
307 % event(smile(agent)).
308% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Feeling.e:131
309==> mpred_prop(smile(agent),event).
310==> meta_argtypes(smile(agent)).
311
312