1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Mueller2004b/TV1.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{Mueller:2004b,
15%; author = "Erik T. Mueller",
16%; year = "2004",
17%; title = "A tool for satisfiability-based commonsense reasoning in the event calculus",
18%; editor = "Valerie Barr and Zdravko Markov",
19%; booktitle = "\uppercase{P}roceedings of the \uppercase{S}eventeenth \uppercase{I}nternational \uppercase{F}lorida \uppercase{A}rtificial \uppercase{I}ntelligence \uppercase{R}esearch \uppercase{S}ociety \uppercase{C}onference",
20%; pages = "147--152",
21%; address = "Menlo Park, CA",
22%; publisher = "AAAI Press",
23%; }
24%;
25
26% load foundations/Root.e
27
28% load foundations/EC.e
29
30% sort agent
31==> sort(agent).
32
33% sort switch
34==> sort(switch).
35
36% sort tv
37==> sort(tv).
38
39% function TVOf(switch): tv
40 % functional_predicate(tVOf(switch,tv)).
41==> mpred_prop(tVOf(switch,tv),functional_predicate).
42==> meta_argtypes(tVOf(switch,tv)).
43resultIsa(tVOf,tv).
44
45% fluent SwitchOn(switch)
46 % fluent(switchOn(switch)).
47==> mpred_prop(switchOn(switch),fluent).
48==> meta_argtypes(switchOn(switch)).
49
50% fluent TVOn(tv)
51 % fluent(tVOn(tv)).
52==> mpred_prop(tVOn(tv),fluent).
53==> meta_argtypes(tVOn(tv)).
54
55% fluent PluggedIn(tv)
56 % fluent(pluggedIn(tv)).
57==> mpred_prop(pluggedIn(tv),fluent).
58==> meta_argtypes(pluggedIn(tv)).
59
60% event TurnOn(agent,switch)
61 % event(turnOn(agent,switch)).
62==> mpred_prop(turnOn(agent,switch),event).
63==> meta_argtypes(turnOn(agent,switch)).
64
65% event TurnOff(agent,switch)
66 % event(turnOff(agent,switch)).
67==> mpred_prop(turnOff(agent,switch),event).
68==> meta_argtypes(turnOff(agent,switch)).
69
70
73 74axiom(initiates(turnOn(Agent, Switch), switchOn(Switch), Time),
75 []).
76
77
83axiom(initiates(turnOn(Agent, Switch), tVOn(Tv), Time),
84
85 [ equals(tVOf(Switch), Tv),
86 holds_at(pluggedIn(Tv), Time)
87 ]).
88
89% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:42
90% agent James
91% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:43
92==> t(agent,james).
93
94% switch Switch1
95% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:44
96==> t(switch,switch1).
97
98% tv TV1
99% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:45
100==> t(tv,tv1).
101
102
105tVOf(switch1,tv1).
106
107
110axiom(initially(pluggedIn(tv1)),
111 []).
112
113
116 117axiom(not(initially(switchOn(switch1))),
118 []).
119
120
123 124axiom(not(initially(tVOn(tv1))),
125 []).
126
127
130axiom(happens(turnOn(james, switch1), t),
131 [is_time(0)]).
132
133% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:52
134% range time 0 1
135% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:53
136==> range(time,0,1).
137
138% range offset 1 1
139% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/TV1.e:54
140==> range(offset,1,1).