1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Mueller2006/Exercises/Counter.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%; @article{DeneckerDupreBelleghem:1998, 15%; author = "Marc Denecker and Daniele Theseider Dupr\'{e} and Kristof Van Belleghem", 16%; year = "1998", 17%; title = "An inductive definition approach to ramifications", 18%; journal = "Link{\"{o}}ping Electronic Articles in Computer and Information Science", 19%; volume = "3", 20%; number = "007", 21%; } 22%; 23%; @book{Mueller:2006, 24%; author = "Erik T. Mueller", 25%; year = "2006", 26%; title = "Commonsense Reasoning", 27%; address = "San Francisco", 28%; publisher = "Morgan Kaufmann/Elsevier", 29%; } 30%; 31 32% load foundations/Root.e 33 34% load foundations/EC.e 35 36% sort counter 37==> sort(counter). 38 39% counter Counter1 40==> t(counter,counter1). 41 42% event FalseToTrue(counter) 43 % event(falseToTrue(counter)). 44==> mpred_prop(falseToTrue(counter),event). 45==> meta_argtypes(falseToTrue(counter)). 46 47% event TrueToFalse(counter) 48 % event(trueToFalse(counter)). 49==> mpred_prop(trueToFalse(counter),event). 50==> meta_argtypes(trueToFalse(counter)). 51 52% fluent Count(counter,integer) 53 % fluent(count(counter,integer)). 54==> mpred_prop(count(counter,integer),fluent). 55==> meta_argtypes(count(counter,integer)). 56 57% fluent True(counter) 58 % fluent(true(counter)). 59==> mpred_prop(true(counter),fluent). 60==> meta_argtypes(true(counter)). 61 62% fluent InputLine(counter) 63 % fluent(inputLine(counter)). 64==> mpred_prop(inputLine(counter),fluent). 65==> meta_argtypes(inputLine(counter)). 66 67% noninertial InputLine 68==> noninertial(inputLine). 69 70% Delta: 71next_axiom_uses(delta). 72 73 74 75% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:42 76% [counter,time] 77% !HoldsAt(True(counter),time) & 78% HoldsAt(InputLine(counter),time) -> 79% Happens(FalseToTrue(counter),time). 80% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:45 81axiom(happens(falseToTrue(Counter), Time), 82 83 [ not(holds_at(true(Counter), Time)), 84 holds_at(inputLine(Counter), Time) 85 ]). 86 87% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:47 88% Delta: 89next_axiom_uses(delta). 90 91 92 93% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:47 94% [counter,time] 95% HoldsAt(True(counter),time) & 96% !HoldsAt(InputLine(counter),time) -> 97% Happens(TrueToFalse(counter),time). 98% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:50 99axiom(happens(trueToFalse(Counter), Time), 100 101 [ holds_at(true(Counter), Time), 102 not(holds_at(inputLine(Counter), Time)) 103 ]). 104 105 106% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:52 107% [counter,time] 108 % Initiates(FalseToTrue(counter),True(counter),time). 109axiom(initiates(falseToTrue(Counter), true(Counter), Time), 110 []). 111 112 113% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:54 114% [counter,time] 115 % Terminates(TrueToFalse(counter),True(counter),time). 116axiom(terminates(trueToFalse(Counter), true(Counter), Time), 117 []). 118 119 120% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:56 121% [counter,integer1,integer2,time] 122% HoldsAt(Count(counter,integer1),time) & 123% (integer2 = (integer1 + 1)) -> 124% Initiates(FalseToTrue(counter),Count(counter,integer2),time). 125% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:59 126axiom(initiates(falseToTrue(Counter), count(Counter, Integer2), Time), 127 128 [ holds_at(count(Counter, Integer1), Time), 129 equals(Integer2, Integer1+1) 130 ]). 131 132 133% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:61 134% [counter,integer,time] 135% HoldsAt(Count(counter,integer),time) -> 136% Terminates(FalseToTrue(counter),Count(counter,integer),time). 137% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:63 138axiom(terminates(falseToTrue(Counter), count(Counter, Integer), Time), 139 [holds_at(count(Counter, Integer), Time)]). 140 141 142% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:65 143% [counter,integer1,integer2,time] 144% HoldsAt(Count(counter,integer1),time) & 145% HoldsAt(Count(counter,integer2),time) -> 146% integer1 = integer2. 147% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:68 148axiom(Integer1=Integer2, 149 150 [ holds_at(count(Counter, Integer1), Time), 151 holds_at(count(Counter, Integer2), Time) 152 ]). 153 154 155% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:70 156% !HoldsAt(True(Counter1),0). 157 % not(initially(true(counter1))). 158axiom(not(initially(true(counter1))), 159 []). 160 161 162% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:71 163% !HoldsAt(InputLine(Counter1),0). 164 % not(initially(inputLine(counter1))). 165axiom(not(initially(inputLine(counter1))), 166 []). 167 168 169% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:72 170% HoldsAt(InputLine(Counter1),1). 171holds_at(inputLine(counter1),1). 172 173 174% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:73 175% HoldsAt(InputLine(Counter1),2). 176holds_at(inputLine(counter1),2). 177 178 179% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:74 180% HoldsAt(InputLine(Counter1),3). 181holds_at(inputLine(counter1),3). 182 183 184% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:75 185% !HoldsAt(InputLine(Counter1),4). 186 % not(holds_at(inputLine(counter1),4)). 187axiom(not(holds_at(inputLine(counter1), t4)), 188 [b(t, t4), ignore(t+4=t4)]). 189 190 191% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:76 192% !HoldsAt(InputLine(Counter1),5). 193 % not(holds_at(inputLine(counter1),5)). 194axiom(not(holds_at(inputLine(counter1), t5)), 195 [b(t, t5), ignore(t+5=t5)]). 196 197 198% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:77 199% !HoldsAt(InputLine(Counter1),6). 200 % not(holds_at(inputLine(counter1),6)). 201axiom(not(holds_at(inputLine(counter1), t6)), 202 [b(t, t6), ignore(t+6=t6)]). 203 204 205% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:78 206% HoldsAt(InputLine(Counter1),7). 207holds_at(inputLine(counter1),7). 208 209 210% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:79 211% HoldsAt(InputLine(Counter1),8). 212holds_at(inputLine(counter1),8). 213 214 215% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:80 216% HoldsAt(InputLine(Counter1),9). 217holds_at(inputLine(counter1),9). 218 219 220% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:82 221% HoldsAt(Count(Counter1,0),0). 222axiom(initially(count(counter1, 0)), 223 []). 224 225% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:84 226% completion Happens 227% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:85 228==> completion(happens). 229 230% range integer 0 6 231% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:87 232==> range(integer,0,6). 233 234% range time 0 10 235% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:88 236==> range(time,0,10). 237 238% range offset 1 1 239% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Exercises/Counter.e:89 240==> range(offset,1,1). 241%; End of file.