1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Mueller2006/Exercises/TelephoneBugs.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%; Example: Telephone 15%; 16%; @book{Mueller:2006, 17%; author = "Erik T. Mueller", 18%; year = "2006", 19%; title = "Commonsense Reasoning", 20%; address = "San Francisco", 21%; publisher = "Morgan Kaufmann/Elsevier", 22%; } 23%; 24 25% load foundations/Root.e 26 27% load foundations/EC.e 28 29% sort agent 30==> sort(agent). 31 32% sort phone 33==> sort(phone). 34 35% agent Agent1, Agent2 36==> t(agent,agent1). 37==> t(agent,agent2). 38 39% phone Phone1, Phone2 40==> t(phone,phone1). 41==> t(phone,phone2). 42 43% fluent Ringing(phone,phone) 44 % fluent(ringing(phone,phone)). 45==> mpred_prop(ringing(phone,phone),fluent). 46==> meta_argtypes(ringing(phone,phone)). 47 48% fluent DialTone(phone) 49 % fluent(dialTone(phone)). 50==> mpred_prop(dialTone(phone),fluent). 51==> meta_argtypes(dialTone(phone)). 52 53% fluent BusySignal(phone) 54 % fluent(busySignal(phone)). 55==> mpred_prop(busySignal(phone),fluent). 56==> meta_argtypes(busySignal(phone)). 57 58% fluent Idle(phone) 59 % fluent(idle(phone)). 60==> mpred_prop(idle(phone),fluent). 61==> meta_argtypes(idle(phone)). 62 63% fluent Connected(phone,phone) 64 % fluent(connected(phone,phone)). 65==> mpred_prop(connected(phone,phone),fluent). 66==> meta_argtypes(connected(phone,phone)). 67 68% fluent Disconnected(phone) 69 % fluent(disconnected(phone)). 70==> mpred_prop(disconnected(phone),fluent). 71==> meta_argtypes(disconnected(phone)). 72 73% event PickUp(agent,phone) 74 % event(pickUp(agent,phone)). 75==> mpred_prop(pickUp(agent,phone),event). 76==> meta_argtypes(pickUp(agent,phone)). 77 78% event SetDown(agent,phone) 79 % event(setDown(agent,phone)). 80==> mpred_prop(setDown(agent,phone),event). 81==> meta_argtypes(setDown(agent,phone)). 82 83% event Dial(agent,phone,phone) 84 % event(dial(agent,phone,phone)). 85==> mpred_prop(dial(agent,phone,phone),event). 86==> meta_argtypes(dial(agent,phone,phone)). 87 88 89% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:41 90%; Sigma 91% [agent,phone,time] 92% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:44 93% HoldsAt(Idle(phone),time) -> 94% Initiates(PickUp(agent,phone),DialTone(phone),time). 95% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:45 96axiom(initiates(pickUp(Agent, Phone), dialTone(Phone), Time), 97 [holds_at(idle(Phone), Time)]). 98 99 100% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:47 101% [agent,phone,time] 102% HoldsAt(Idle(phone),time) -> 103% Terminates(PickUp(agent,phone),Idle(phone),time). 104% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:49 105axiom(terminates(pickUp(Agent, Phone), idle(Phone), Time), 106 [holds_at(idle(Phone), Time)]). 107 108 109% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:51 110% [agent,phone,time] 111% HoldsAt(DialTone(phone),time) -> 112% Initiates(SetDown(agent,phone),Idle(phone),time). 113% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:53 114axiom(initiates(setDown(Agent, Phone), idle(Phone), Time), 115 [holds_at(dialTone(Phone), Time)]). 116 117 118% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:55 119% [agent,phone,time] 120% HoldsAt(DialTone(phone),time) -> 121% Terminates(SetDown(agent,phone),DialTone(phone),time). 122% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:57 123axiom(terminates(setDown(Agent, Phone), dialTone(Phone), Time), 124 [holds_at(dialTone(Phone), Time)]). 125 126 127% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:59 128% [agent,phone1,phone2,time] 129% HoldsAt(DialTone(phone1),time) & 130% HoldsAt(Idle(phone2),time) -> 131% Initiates(Dial(agent,phone1,phone2),Ringing(phone1,phone2),time). 132% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:62 133axiom(initiates(dial(Agent, Phone1, Phone2), ringing(Phone1, Phone2), Time), 134 135 [ holds_at(dialTone(Phone1), Time), 136 holds_at(idle(Phone2), Time) 137 ]). 138 139 140% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:64 141% [agent,phone1,phone2,time] 142% HoldsAt(DialTone(phone1),time) & 143% HoldsAt(Idle(phone2),time) -> 144% Terminates(Dial(agent,phone1,phone2),DialTone(phone1),time). 145% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:67 146axiom(terminates(dial(Agent, Phone1, Phone2), dialTone(Phone1), Time), 147 148 [ holds_at(dialTone(Phone1), Time), 149 holds_at(idle(Phone2), Time) 150 ]). 151 152 153% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:69 154% [agent,phone1,phone2,time] 155% HoldsAt(DialTone(phone1),time) & 156% HoldsAt(Idle(phone2),time) -> 157% Terminates(Dial(agent,phone1,phone2),Idle(phone2),time). 158% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:72 159axiom(terminates(dial(Agent, Phone1, Phone2), idle(Phone2), Time), 160 161 [ holds_at(dialTone(Phone1), Time), 162 holds_at(idle(Phone2), Time) 163 ]). 164 165 166% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:74 167% [agent,phone1,phone2,time] 168% HoldsAt(DialTone(phone1),time) & 169% !HoldsAt(Idle(phone2),time) -> 170% Initiates(Dial(agent,phone1,phone2),BusySignal(phone1),time). 171% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:77 172axiom(initiates(dial(Agent, Phone1, Phone2), busySignal(Phone1), Time), 173 174 [ holds_at(dialTone(Phone1), Time), 175 not(holds_at(idle(Phone2), Time)) 176 ]). 177 178 179% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:79 180% [agent,phone1,phone2,time] 181% HoldsAt(DialTone(phone1),time) & 182% !HoldsAt(Idle(phone2),time) -> 183% Terminates(Dial(agent,phone1,phone2),DialTone(phone1),time). 184% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:82 185axiom(terminates(dial(Agent, Phone1, Phone2), dialTone(Phone1), Time), 186 187 [ holds_at(dialTone(Phone1), Time), 188 not(holds_at(idle(Phone2), Time)) 189 ]). 190 191 192% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:84 193% [agent,phone,time] 194% HoldsAt(BusySignal(phone),time) -> 195% Initiates(SetDown(agent,phone),Idle(phone),time). 196% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:86 197axiom(initiates(setDown(Agent, Phone), idle(Phone), Time), 198 [holds_at(busySignal(Phone), Time)]). 199 200 201% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:88 202% [agent,phone,time] 203% HoldsAt(BusySignal(phone),time) -> 204% Terminates(SetDown(agent,phone),BusySignal(phone),time). 205% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:90 206axiom(terminates(setDown(Agent, Phone), busySignal(Phone), Time), 207 [holds_at(busySignal(Phone), Time)]). 208 209 210% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:92 211% [agent,phone1,phone2,time] 212% HoldsAt(Ringing(phone1,phone2),time) -> 213% Initiates(SetDown(agent,phone1),Idle(phone1),time). 214% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:94 215axiom(initiates(setDown(Agent, Phone1), idle(Phone1), Time), 216 [holds_at(ringing(Phone1, Phone2), Time)]). 217 218 219% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:96 220% [agent,phone1,phone2,time] 221% HoldsAt(Ringing(phone1,phone2),time) -> 222% Initiates(SetDown(agent,phone1),Idle(phone2),time). 223% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:98 224axiom(initiates(setDown(Agent, Phone1), idle(Phone2), Time), 225 [holds_at(ringing(Phone1, Phone2), Time)]). 226 227 228% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:100 229% [agent,phone1,phone2,time] 230% HoldsAt(Ringing(phone1,phone2),time) -> 231% Terminates(SetDown(agent,phone1),Ringing(phone1,phone2),time). 232% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:102 233axiom(terminates(setDown(Agent, Phone1), ringing(Phone1, Phone2), Time), 234 [holds_at(ringing(Phone1, Phone2), Time)]). 235 236 237% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:104 238% [agent,phone1,phone2,time] 239% HoldsAt(Ringing(phone1,phone2),time) -> 240% Initiates(PickUp(agent,phone2),Connected(phone1,phone2),time). 241% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:106 242axiom(initiates(pickUp(Agent, Phone2), connected(Phone1, Phone2), Time), 243 [holds_at(ringing(Phone1, Phone2), Time)]). 244 245 246% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:108 247% [agent,phone1,phone2,time] 248% HoldsAt(Ringing(phone1,phone2),time) -> 249% Terminates(PickUp(agent,phone2),Ringing(phone1,phone2),time). 250% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:110 251axiom(terminates(pickUp(Agent, Phone2), ringing(Phone1, Phone2), Time), 252 [holds_at(ringing(Phone1, Phone2), Time)]). 253 254 255% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:112 256% [agent,phone1,phone2,time] 257% HoldsAt(Connected(phone1,phone2),time) -> 258% Initiates(SetDown(agent,phone1),Idle(phone1),time). 259% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:114 260axiom(initiates(setDown(Agent, Phone1), idle(Phone1), Time), 261 [holds_at(connected(Phone1, Phone2), Time)]). 262 263 264% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:116 265% [agent,phone1,phone2,time] 266% HoldsAt(Connected(phone1,phone2),time) -> 267% Initiates(SetDown(agent,phone1),Disconnected(phone2),time). 268% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:118 269axiom(initiates(setDown(Agent, Phone1), disconnected(Phone2), Time), 270 [holds_at(connected(Phone1, Phone2), Time)]). 271 272 273% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:120 274% [agent,phone1,phone2,time] 275% HoldsAt(Connected(phone1,phone2),time) -> 276% Terminates(SetDown(agent,phone1),Connected(phone1,phone2),time). 277% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:122 278axiom(terminates(setDown(Agent, Phone1), connected(Phone1, Phone2), Time), 279 [holds_at(connected(Phone1, Phone2), Time)]). 280 281 282% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:124 283% [agent,phone1,phone2,time] 284% HoldsAt(Connected(phone1,phone2),time) -> 285% Initiates(SetDown(agent,phone2),Idle(phone2),time). 286% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:126 287axiom(initiates(setDown(Agent, Phone2), idle(Phone2), Time), 288 [holds_at(connected(Phone1, Phone2), Time)]). 289 290 291% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:128 292% [agent,phone1,phone2,time] 293% HoldsAt(Connected(phone1,phone2),time) -> 294% Initiates(SetDown(agent,phone2),Disconnected(phone1),time). 295% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:130 296axiom(initiates(setDown(Agent, Phone2), disconnected(Phone1), Time), 297 [holds_at(connected(Phone1, Phone2), Time)]). 298 299 300% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:132 301% [agent,phone1,phone2,time] 302% HoldsAt(Connected(phone1,phone2),time) -> 303% Terminates(SetDown(agent,phone2),Connected(phone1,phone2),time). 304% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:134 305axiom(terminates(setDown(Agent, Phone2), connected(Phone1, Phone2), Time), 306 [holds_at(connected(Phone1, Phone2), Time)]). 307 308 309% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:136 310% [agent,phone,time] 311% HoldsAt(Disconnected(phone),time) -> 312% Initiates(SetDown(agent,phone),Idle(phone),time). 313% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:138 314axiom(initiates(setDown(Agent, Phone), idle(Phone), Time), 315 [holds_at(disconnected(Phone), Time)]). 316 317 318% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:140 319% [agent,phone,time] 320% HoldsAt(Disconnected(phone),time) -> 321% Terminates(SetDown(agent,phone),Disconnected(phone),time). 322% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:142 323axiom(terminates(setDown(Agent, Phone), disconnected(Phone), Time), 324 [holds_at(disconnected(Phone), Time)]). 325 326 327% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:144 328%; Delta 329%; (1) Two agents dial each other simultaneously without first 330%; picking up phone. 331 332 333% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:148 334% Happens(Dial(Agent1,Phone1,Phone2),0). 335axiom(happens(dial(agent1, phone1, phone2), t), 336 [is_time(0)]). 337 338 339% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:149 340% Happens(Dial(Agent2,Phone2,Phone1),0). 341axiom(happens(dial(agent2, phone2, phone1), t), 342 [is_time(0)]). 343 344 345% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:151 346%; (2) Two agents dial each other simultaneously. 347 348 349% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:152 350% Happens(PickUp(Agent1,Phone1),1). 351axiom(happens(pickUp(agent1, phone1), start), 352 [is_time(1), b(t, start), ignore(t+1=start)]). 353 354 355% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:153 356% Happens(PickUp(Agent2,Phone2),1). 357axiom(happens(pickUp(agent2, phone2), start), 358 [is_time(1), b(t, start), ignore(t+1=start)]). 359 360 361% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:154 362% Happens(Dial(Agent1,Phone1,Phone2),2). 363axiom(happens(dial(agent1, phone1, phone2), t2), 364 [is_time(2), b(t, t2), ignore(t+2=t2)]). 365 366 367% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:155 368% Happens(Dial(Agent2,Phone2,Phone1),2). 369axiom(happens(dial(agent2, phone2, phone1), t2), 370 [is_time(2), b(t, t2), ignore(t+2=t2)]). 371 372 373% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:156 374% Happens(SetDown(Agent1,Phone1),3). 375axiom(happens(setDown(agent1, phone1), t3), 376 [is_time(3), b(t, t3), ignore(t+3=t3)]). 377 378 379% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:157 380% Happens(SetDown(Agent2,Phone2),3). 381axiom(happens(setDown(agent2, phone2), t3), 382 [is_time(3), b(t, t3), ignore(t+3=t3)]). 383 384 385% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:159 386%; (3) One agent dials another agent just as the other 387%; agent picks up the phone. 388 389 390% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:161 391% Happens(PickUp(Agent1,Phone1),4). 392axiom(happens(pickUp(agent1, phone1), t4), 393 [is_time(4), b(t, t4), ignore(t+4=t4)]). 394 395 396% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:162 397% Happens(Dial(Agent1,Phone1,Phone2),5). 398axiom(happens(dial(agent1, phone1, phone2), t5), 399 [is_time(5), b(t, t5), ignore(t+5=t5)]). 400 401 402% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:163 403% Happens(PickUp(Agent2,Phone2),5). 404axiom(happens(pickUp(agent2, phone2), t5), 405 [is_time(5), b(t, t5), ignore(t+5=t5)]). 406 407 408% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:165 409%; Psi 410% [phone,time] 411% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:168 412% !HoldsAt(Ringing(phone,phone),time). 413 % not(holds_at(ringing(Phone,Phone),Time)). 414axiom(not(holds_at(ringing(Ringing_Param, Ringing_Param), Time2)), 415 []). 416 417 418% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:170 419% [phone1,phone2,time] 420% HoldsAt(Ringing(phone1,phone2),time) & 421% phone1!=phone2 -> 422% !HoldsAt(Ringing(phone2,phone1),time). 423% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:173 424axiom(not(holds_at(ringing(Phone2, Phone1), Time)), 425 426 [ holds_at(ringing(Phone1, Phone2), Time), 427 dif(Phone1, Phone2) 428 ]). 429 430 431% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:175 432% [phone,time] 433% !HoldsAt(Connected(phone,phone),time). 434 % not(holds_at(connected(Phone,Phone),Time)). 435% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:176 436axiom(not(holds_at(connected(Connected_Param, Connected_Param), Time2)), 437 []). 438 439 440% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:178 441% [phone1,phone2,time] 442% HoldsAt(Connected(phone1,phone2),time) & 443% phone1!=phone2 -> 444% !HoldsAt(Connected(phone2,phone1),time). 445% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:181 446axiom(not(holds_at(connected(Phone2, Phone1), Time)), 447 448 [ holds_at(connected(Phone1, Phone2), Time), 449 dif(Phone1, Phone2) 450 ]). 451 452% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:183 453% mutex Idle, DialTone, BusySignal, Disconnected 454% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:184 455mutex(idle). 456mutex(dialTone). 457mutex(busySignal). 458mutex(disconnected). 459 460 461% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:185 462% [phone1,phone2,time] 463% HoldsAt(Idle(phone1),time) -> 464% !HoldsAt(Ringing(phone1,phone2),time) & 465% !HoldsAt(Connected(phone1,phone2),time). 466 467 /* if(holds_at(idle(Phone1), Time), 468 (not(holds_at(ringing(Phone1, Phone2), Time)), not(holds_at(connected(Phone1, Phone2), Time)))). 469 */ 470 471 /* not(holds_at(idle(Ringing_Param), Time3)) :- 472 ( holds_at(ringing(Ringing_Param, Ringing_Ret), Time3) 473 ; holds_at(connected(Ringing_Param, Ringing_Ret), Time3) 474 ). 475 */ 476% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:188 477axiom(not(holds_at(idle(Ringing_Param), Time3)), 478 [holds_at(ringing(Ringing_Param, Ringing_Ret), Time3)]). 479axiom(not(holds_at(idle(Ringing_Param), Time3)), 480 [holds_at(connected(Ringing_Param, Ringing_Ret), Time3)]). 481 482 /* not(holds_at(ringing(Ringing_Param7, Ringing_Ret8), Time6)) :- 483 holds_at(idle(Ringing_Param7), Time6). 484 */ 485axiom(not(holds_at(ringing(Ringing_Param7, Ringing_Ret8), Time6)), 486 [holds_at(idle(Ringing_Param7), Time6)]). 487 488 /* not(holds_at(connected(Connected_Param, Connected_Ret), Time9)) :- 489 holds_at(idle(Connected_Param), Time9). 490 */ 491axiom(not(holds_at(connected(Connected_Param, Connected_Ret), Time9)), 492 [holds_at(idle(Connected_Param), Time9)]). 493 494 495% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:190 496%; contradicts (3) above: 497%;[phone1,phone2,time] 498%;HoldsAt(DialTone(phone2),time) -> 499%;!HoldsAt(Ringing(phone1,phone2),time) & 500%;!HoldsAt(Connected(phone1,phone2),time). 501%; etc. 502%; Gamma 503% [phone] 504 505% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:200 506% HoldsAt(Idle(phone),0). 507axiom(initially(idle(Phone)), 508 []). 509 510% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:202 511% completion Happens 512% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:203 513==> completion(happens). 514 515% range time 0 6 516% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:205 517==> range(time,0,6). 518 519% range offset 1 1 520% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/TelephoneBugs.e:206 521==> range(offset,1,1). 522%; End of file.