1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'examples/Shanahan1997/BusRide.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{Kartha:1994,
   15%;   author = "G. Neelakantan Kartha",
   16%;   year = "1994",
   17%;   title = "Two counterexamples related to \uppercase{B}aker's approach to the frame problem",
   18%;   journal = "Artificial Intelligence",
   19%;   volume = "69",
   20%;   number = "1--2",
   21%;   pages = "379--391",
   22%; }
   23%;
   24%; \fullciteA[pp. 359--361]{Shanahan:1997}
   25%;
   26%; @book{Shanahan:1997,
   27%;   author = "Murray Shanahan",
   28%;   year = "1997",
   29%;   title = "Solving the Frame Problem",
   30%;   address = "Cambridge, MA",
   31%;   publisher = "MIT Press",
   32%; }
   33%;
   34%; modifications from Shanahan's formulation:
   35%; InitiallyN -> !HoldsAt
   36%; timestamps
   37%;
   38
   39% load foundations/Root.e
   40
   41% load foundations/EC.e
   42
   43% fluent HasTicket()
   44 %  fluent(hasTicket()).
   45==> mpred_prop(hasTicket(),fluent).
   46==> meta_argtypes(hasTicket()).
   47
   48% fluent OnRed()
   49 %  fluent(onRed()).
   50==> mpred_prop(onRed(),fluent).
   51==> meta_argtypes(onRed()).
   52
   53% fluent OnYellow()
   54 %  fluent(onYellow()).
   55==> mpred_prop(onYellow(),fluent).
   56==> meta_argtypes(onYellow()).
   57
   58% event Buy()
   59 %  event(buy()).
   60==> mpred_prop(buy(),event).
   61==> meta_argtypes(buy()).
   62
   63% event Board()
   64 %  event(board()).
   65==> mpred_prop(board(),event).
   66==> meta_argtypes(board()).
   67
   68% event BoardRed()
   69 %  event(boardRed()).
   70==> mpred_prop(boardRed(),event).
   71==> meta_argtypes(boardRed()).
   72
   73% event BoardYellow()
   74 %  event(boardYellow()).
   75==> mpred_prop(boardYellow(),event).
   76==> meta_argtypes(boardYellow()).
   77
   78
   79% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:46
   80% [time]
   81 % Happens(Board(),time) -> Happens(BoardRed(),time) | Happens(BoardYellow(),time).
   82
   83 /*   if(happens(board(), Time),
   84          (happens(boardRed(), Time);happens(boardYellow(), Time))).
   85 */
   86
   87 /*  happens(boardRed(), Maptime) :-
   88       not(happens(boardYellow(), Maptime)),
   89       happens(board(), Maptime).
   90 */
   91axiom(happens(boardRed(), Maptime),
   92    [not(happens(boardYellow(), Maptime)), happens(board(), Maptime)]).
   93
   94 /*  happens(boardYellow(), Maptime2) :-
   95       not(happens(boardRed(), Maptime2)),
   96       happens(board(), Maptime2).
   97 */
   98axiom(happens(boardYellow(), Maptime2),
   99    [not(happens(boardRed(), Maptime2)), happens(board(), Maptime2)]).
  100
  101 /*  not(happens(board(), Maptime3)) :-
  102       not(happens(boardRed(), Maptime3)),
  103       not(happens(boardYellow(), Maptime3)).
  104 */
  105axiom(not(happens(board(), Maptime3)),
  106   
  107    [ not(happens(boardRed(), Maptime3)),
  108      not(happens(boardYellow(), Maptime3))
  109    ]).
  110
  111
  112% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:48
  113% [time]
  114 % Initiates(Buy(),HasTicket(),time).
  115axiom(initiates(buy(), hasTicket(), Time),
  116    []).
  117
  118
  119% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:49
  120% [time]
  121 % HoldsAt(HasTicket(),time) -> Initiates(BoardRed(),OnRed(),time).
  122axiom(initiates(boardRed(), onRed(), Time),
  123    [holds_at(hasTicket(), Time)]).
  124
  125
  126% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:50
  127% [time]
  128 % HoldsAt(HasTicket(),time) -> Initiates(BoardYellow(),OnYellow(),time).
  129axiom(initiates(boardYellow(), onYellow(), Time),
  130    [holds_at(hasTicket(), Time)]).
  131
  132
  133% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:52
  134% [time]
  135 % !(HoldsAt(OnRed(),time) & HoldsAt(OnYellow(),time)).
  136
  137 /*   not(( holds_at(onRed(), Time),
  138            holds_at(onYellow(), Time)
  139          )).
  140 */
  141
  142 /*  not(holds_at(onRed(), Time1)) :-
  143       holds_at(onYellow(), Time1).
  144 */
  145axiom(not(holds_at(onRed(), Time1)),
  146    [holds_at(onYellow(), Time1)]).
  147
  148 /*  not(holds_at(onYellow(), Time2)) :-
  149       holds_at(onRed(), Time2).
  150 */
  151axiom(not(holds_at(onYellow(), Time2)),
  152    [holds_at(onRed(), Time2)]).
  153
  154
  155% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:53
  156% [time]
  157 % HoldsAt(OnRed(),time) -> HoldsAt(HasTicket(),time).
  158axiom(holds_at(hasTicket(), Time),
  159    [holds_at(onRed(), Time)]).
  160
  161
  162% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:54
  163% [time]
  164 % HoldsAt(OnYellow(),time) -> HoldsAt(HasTicket(),time).
  165axiom(holds_at(hasTicket(), Time),
  166    [holds_at(onYellow(), Time)]).
  167
  168
  169% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:56
  170% HoldsAt(OnRed(),2).
  171holds_at(onRed(),2).
  172
  173
  174% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:58
  175% !HoldsAt(HasTicket(),0).
  176 %  not(initially(hasTicket())).
  177axiom(not(initially(hasTicket())),
  178    []).
  179
  180
  181% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:59
  182% Happens(Buy(),0).
  183axiom(happens(buy(), t),
  184    [is_time(0)]).
  185
  186
  187% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:60
  188% Happens(Board(),1).
  189axiom(happens(board(), start),
  190    [is_time(1), b(t, start), ignore(t+1=start)]).
  191
  192
  193% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:61
  194%; ABDUCED Happens(BoardRed(), 1).
  195
  196% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:63
  197% completion Happens
  198% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:64
  199==> completion(happens).
  200
  201% range time 0 2
  202% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:66
  203==> range(time,0,2).
  204
  205% range offset 1 1
  206% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Shanahan1997/BusRide.e:67
  207==> range(offset,1,1).
  208%; End of file.