1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Mueller2004b/RouletteWheel.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 wheel 31==> sort(wheel). 32 33% sort value: integer 34==> subsort(value,integer). 35 36% fluent WheelValueDeterminingFluent(wheel,value) 37 % fluent(wheelValueDeterminingFluent(wheel,value)). 38==> mpred_prop(wheelValueDeterminingFluent(wheel,value),fluent). 39==> meta_argtypes(wheelValueDeterminingFluent(wheel,value)). 40 41% fluent WheelValue(wheel,value) 42 % fluent(wheelValue(wheel,value)). 43==> mpred_prop(wheelValue(wheel,value),fluent). 44==> meta_argtypes(wheelValue(wheel,value)). 45 46% noninertial WheelValueDeterminingFluent 47==> noninertial(wheelValueDeterminingFluent). 48 49% event Spin(wheel) 50 % event(spin(wheel)). 51==> mpred_prop(spin(wheel),event). 52==> meta_argtypes(spin(wheel)). 53 54 55% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:33 56% [wheel,value1,value2,time] 57% HoldsAt(WheelValue(wheel,value1),time) & 58% HoldsAt(WheelValue(wheel,value2),time) -> 59% value1=value2. 60% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:36 61axiom(Value1=Value2, 62 63 [ holds_at(wheelValue(Wheel, Value1), Time), 64 holds_at(wheelValue(Wheel, Value2), Time) 65 ]). 66 67 68% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:38 69% [wheel,value1,value2,time] 70% HoldsAt(WheelValueDeterminingFluent(wheel,value1),time) & 71% HoldsAt(WheelValueDeterminingFluent(wheel,value2),time) -> 72% value1=value2. 73% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:41 74axiom(Value1=Value2, 75 76 [ holds_at(wheelValueDeterminingFluent(Wheel, Value1), 77 Time), 78 holds_at(wheelValueDeterminingFluent(Wheel, Value2), 79 Time) 80 ]). 81 82 83% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:43 84% [wheel,value,time] 85% HoldsAt(WheelValueDeterminingFluent(wheel,value),time) -> 86% Initiates(Spin(wheel),WheelValue(wheel,value),time). 87% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:45 88axiom(initiates(spin(Wheel), wheelValue(Wheel, Value), Time), 89 90 [ holds_at(wheelValueDeterminingFluent(Wheel, Value), 91 Time) 92 ]). 93 94 95% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:47 96% [wheel,value1,value2,time] 97% HoldsAt(WheelValue(wheel,value1),time) & 98% HoldsAt(WheelValueDeterminingFluent(wheel,value2),time) & 99% value1!=value2 -> 100% Terminates(Spin(wheel),WheelValue(wheel,value1),time). 101% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:51 102axiom(terminates(spin(Wheel), wheelValue(Wheel, Value1), Time), 103 104 [ holds_at(wheelValue(Wheel, Value1), Time), 105 holds_at(wheelValueDeterminingFluent(Wheel, Value2), 106 Time), 107 { dif(Value1, Value2) 108 } 109 ]). 110 111 112% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:53 113% [wheel,time] 114% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:54 115% {value} % HoldsAt(WheelValueDeterminingFluent(wheel,value),time). 116 117 /* exists([Value], 118 holds_at(wheelValueDeterminingFluent(Wheel,Value), 119 Time)). 120 */ 121 122 /* holds_at(wheelValueDeterminingFluent(WheelValueDeterminingFluent_Param, Some_Param), Time4) :- 123 some(Some_Param, 124 '$kolem_Fn_124'(WheelValueDeterminingFluent_Param, Time4)). 125 */ 126axiom(holds_at(wheelValueDeterminingFluent(WheelValueDeterminingFluent_Param, Some_Param), Time4), 127 128 [ some(Some_Param, 129 '$kolem_Fn_124'(WheelValueDeterminingFluent_Param, Time4)) 130 ]). 131 132 /* not(some(Some_Param8, '$kolem_Fn_124'(Fn_124_Param, Time7))) :- 133 not(holds_at(wheelValueDeterminingFluent(Fn_124_Param, 134 Some_Param8), 135 Time7)). 136 */ 137axiom(not(some(Some_Param8, '$kolem_Fn_124'(Fn_124_Param, Time7))), 138 139 [ not(holds_at(wheelValueDeterminingFluent(Fn_124_Param, 140 Some_Param8), 141 Time7)) 142 ]). 143 144% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:56 145% wheel Wheel 146% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:57 147==> t(wheel,wheel). 148 149 150% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:58 151% HoldsAt(WheelValue(Wheel,7),0). 152axiom(initially(wheelValue(wheel, 7)), 153 []). 154 155 156% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:59 157% Happens(Spin(Wheel),0). 158axiom(happens(spin(wheel), t), 159 [is_time(0)]). 160 161 162% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:60 163% HoldsAt(WheelValueDeterminingFluent(Wheel,7),1). 164holds_at(wheelValueDeterminingFluent(wheel,7),1). 165 166% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:62 167% completion Happens 168% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:63 169==> completion(happens). 170 171% range value 7 10 172% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:65 173==> range(value,7,10). 174 175% range time 0 1 176% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:66 177==> range(time,0,1). 178 179% range offset 1 1 180% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2004b/RouletteWheel.e:67 181==> range(offset,1,1). 182%; End of file.