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.