1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'ecnet/Baseball.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%; @book{EthanAllen:1982,
   15%;   author = "Ethan Allen",
   16%;   year = "1982",
   17%;   title = "Baseball Play and Strategy",
   18%;   address = "Robert E. Krieger",
   19%;   publisher = "Malabar, FL",
   20%;   edition = "Third",
   21%; }
   22%;
   23%; @book{Coombs:1967,
   24%;   author = "Jack Coombs",
   25%;   year = "1967",
   26%;   title = "Baseball",
   27%;   address = "Englewood Cliffs, NJ",
   28%;   publisher = "Prentice-Hall",
   29%;   edition = "4th",
   30%;   howpublished = "revised by Danny Litwhiler",
   31%; }
   32%;
   33
   34% sort ballgame
   35==> sort(ballgame).
   36
   37% sort hardball: ball
   38==> subsort(hardball,ball).
   39
   40% sort base: physobj
   41==> subsort(base,physobj).
   42
   43% sort firstbase: base
   44==> subsort(firstbase,base).
   45%;sort secondbase: base
   46%;sort thirdbase: base
   47
   48% sort homeplate: base
   49==> subsort(homeplate,base).
   50
   51% sort mound: physobj
   52==> subsort(mound,physobj).
   53
   54% sort pitchermound: mound
   55==> subsort(pitchermound,mound).
   56%;sort furniture: physobj
   57%;sort bench: furniture
   58%;sort playerbench: bench
   59
   60% sort field: physobj
   61==> subsort(field,physobj).
   62%;sort shortstoparea: field
   63%;sort catcherarea: field
   64
   65% sort outfield: field
   66==> subsort(outfield,field).
   67%;sort leftfield: outfield
   68%;sort centerfield: outfield
   69%;sort rightfield: outfield
   70
   71% function BallOf(ballgame): hardball
   72 %  functional_predicate(ballOf(ballgame,hardball)).
   73==> mpred_prop(ballOf(ballgame,hardball),functional_predicate).
   74==> meta_argtypes(ballOf(ballgame,hardball)).
   75resultIsa(ballOf,hardball).
   76
   77% function FirstBaseOf(ballgame): firstbase
   78 %  functional_predicate(firstBaseOf(ballgame,firstbase)).
   79==> mpred_prop(firstBaseOf(ballgame,firstbase),functional_predicate).
   80==> meta_argtypes(firstBaseOf(ballgame,firstbase)).
   81resultIsa(firstBaseOf,firstbase).
   82%;function SecondBaseOf(ballgame): secondbase
   83%;function ThirdBaseOf(ballgame): thirdbase
   84
   85% function HomeplateOf(ballgame): homeplate
   86 %  functional_predicate(homeplateOf(ballgame,homeplate)).
   87==> mpred_prop(homeplateOf(ballgame,homeplate),functional_predicate).
   88==> meta_argtypes(homeplateOf(ballgame,homeplate)).
   89resultIsa(homeplateOf,homeplate).
   90
   91% function OutfieldOf(ballgame): outfield
   92 %  functional_predicate(outfieldOf(ballgame,outfield)).
   93==> mpred_prop(outfieldOf(ballgame,outfield),functional_predicate).
   94==> meta_argtypes(outfieldOf(ballgame,outfield)).
   95resultIsa(outfieldOf,outfield).
   96
   97% function PitchermoundOf(ballgame): pitchermound
   98 %  functional_predicate(pitchermoundOf(ballgame,pitchermound)).
   99==> mpred_prop(pitchermoundOf(ballgame,pitchermound),
  100	       functional_predicate).
  101==> meta_argtypes(pitchermoundOf(ballgame,pitchermound)).
  102resultIsa(pitchermoundOf,pitchermound).
  103
  104% function PlayerbenchOf(ballgame): playerbench
  105 %  functional_predicate(playerbenchOf(ballgame,playerbench)).
  106==> mpred_prop(playerbenchOf(ballgame,playerbench),
  107	       functional_predicate).
  108==> meta_argtypes(playerbenchOf(ballgame,playerbench)).
  109resultIsa(playerbenchOf,playerbench).
  110
  111% predicate HomeTeamPlayer(ballgame,agent)
  112 %  predicate(homeTeamPlayer(ballgame,agent)).
  113==> mpred_prop(homeTeamPlayer(ballgame,agent),predicate).
  114==> meta_argtypes(homeTeamPlayer(ballgame,agent)).
  115
  116% predicate VisitingTeamPlayer(ballgame,agent)
  117 %  predicate(visitingTeamPlayer(ballgame,agent)).
  118==> mpred_prop(visitingTeamPlayer(ballgame,agent),predicate).
  119==> meta_argtypes(visitingTeamPlayer(ballgame,agent)).
  120
  121% predicate Player(ballgame,agent)
  122 %  predicate(player(ballgame,agent)).
  123==> mpred_prop(player(ballgame,agent),predicate).
  124==> meta_argtypes(player(ballgame,agent)).
  125
  126% predicate OnOppositeTeams(ballgame,agent,agent)
  127 %  predicate(onOppositeTeams(ballgame,agent,agent)).
  128==> mpred_prop(onOppositeTeams(ballgame,agent,agent),predicate).
  129==> meta_argtypes(onOppositeTeams(ballgame,agent,agent)).
  130
  131% event Pitch(ballgame,agent,hardball,agent)
  132 %  event(pitch(ballgame,agent,hardball,agent)).
  133==> mpred_prop(pitch(ballgame,agent,hardball,agent),event).
  134==> meta_argtypes(pitch(ballgame,agent,hardball,agent)).
  135
  136% event PitchInStrikeZone(ballgame,agent,hardball,agent)
  137 %  event(pitchInStrikeZone(ballgame,agent,hardball,agent)).
  138==> mpred_prop(pitchInStrikeZone(ballgame,agent,hardball,agent),event).
  139==> meta_argtypes(pitchInStrikeZone(ballgame,agent,hardball,agent)).
  140
  141% event PitchOutOfStrikeZone(ballgame,agent,hardball,agent)
  142 %  event(pitchOutOfStrikeZone(ballgame,agent,hardball,agent)).
  143==> mpred_prop(pitchOutOfStrikeZone(ballgame,agent,hardball,agent),
  144	       event).
  145==> meta_argtypes(pitchOutOfStrikeZone(ballgame,agent,hardball,agent)).
  146
  147% event Swing(ballgame,agent,hardball)
  148 %  event(swing(ballgame,agent,hardball)).
  149==> mpred_prop(swing(ballgame,agent,hardball),event).
  150==> meta_argtypes(swing(ballgame,agent,hardball)).
  151
  152% event SwingMiss(ballgame,agent,hardball)
  153 %  event(swingMiss(ballgame,agent,hardball)).
  154==> mpred_prop(swingMiss(ballgame,agent,hardball),event).
  155==> meta_argtypes(swingMiss(ballgame,agent,hardball)).
  156
  157% event SwingHit(ballgame,agent,hardball)
  158 %  event(swingHit(ballgame,agent,hardball)).
  159==> mpred_prop(swingHit(ballgame,agent,hardball),event).
  160==> meta_argtypes(swingHit(ballgame,agent,hardball)).
  161
  162% event SwingHitFair(ballgame,agent,hardball)
  163 %  event(swingHitFair(ballgame,agent,hardball)).
  164==> mpred_prop(swingHitFair(ballgame,agent,hardball),event).
  165==> meta_argtypes(swingHitFair(ballgame,agent,hardball)).
  166
  167% event SwingHitFoul(ballgame,agent,hardball)
  168 %  event(swingHitFoul(ballgame,agent,hardball)).
  169==> mpred_prop(swingHitFoul(ballgame,agent,hardball),event).
  170==> meta_argtypes(swingHitFoul(ballgame,agent,hardball)).
  171
  172% event SwingHitFairFly(ballgame,agent,hardball)
  173 %  event(swingHitFairFly(ballgame,agent,hardball)).
  174==> mpred_prop(swingHitFairFly(ballgame,agent,hardball),event).
  175==> meta_argtypes(swingHitFairFly(ballgame,agent,hardball)).
  176
  177% event SwingHitFairGround(ballgame,agent,hardball)
  178 %  event(swingHitFairGround(ballgame,agent,hardball)).
  179==> mpred_prop(swingHitFairGround(ballgame,agent,hardball),event).
  180==> meta_argtypes(swingHitFairGround(ballgame,agent,hardball)).
  181
  182
  183% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:82
  184% [ballgame,agent]
  185% HomeTeamPlayer(ballgame,agent) ->
  186% !VisitingTeamPlayer(ballgame,agent).
  187% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:84
  188axiom(not(visitingTeamPlayer(Ballgame, Agent)),
  189    [homeTeamPlayer(Ballgame, Agent)]).
  190
  191
  192% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:86
  193% [ballgame,agent]
  194 % HomeTeamPlayer(ballgame,agent) -> Player(ballgame,agent).
  195axiom(player(Ballgame, Agent),
  196    [homeTeamPlayer(Ballgame, Agent)]).
  197
  198
  199% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:88
  200% [ballgame,agent]
  201 % VisitingTeamPlayer(ballgame,agent) -> Player(ballgame,agent).
  202axiom(player(Ballgame, Agent),
  203    [visitingTeamPlayer(Ballgame, Agent)]).
  204
  205
  206% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:90
  207% [ballgame,agent1,agent2]
  208% OnOppositeTeams(ballgame,agent1,agent2) <->
  209% (HomeTeamPlayer(ballgame,agent1) &
  210%  VisitingTeamPlayer(ballgame,agent2)) |
  211% (HomeTeamPlayer(ballgame,agent2) &
  212%  VisitingTeamPlayer(ballgame,agent1)).
  213
  214 /*  onOppositeTeams(Ballgame, Agent1, Agent2) <->
  215       (   homeTeamPlayer(Ballgame, Agent1),
  216           visitingTeamPlayer(Ballgame, Agent2)
  217       ;   homeTeamPlayer(Ballgame, Agent2),
  218           visitingTeamPlayer(Ballgame, Agent1)
  219       ).
  220 */
  221% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:95
  222axiom(onOppositeTeams(Ballgame, Agent1, Agent2),
  223   
  224    [ homeTeamPlayer(Ballgame, Agent1),
  225      visitingTeamPlayer(Ballgame, Agent2)
  226    ]).
  227axiom(onOppositeTeams(Ballgame, Agent1, Agent2),
  228   
  229    [ homeTeamPlayer(Ballgame, Agent2),
  230      visitingTeamPlayer(Ballgame, Agent1)
  231    ]).
  232
  233 /*   if(onOppositeTeams(Ballgame, Agent1, Agent2),
  234          (homeTeamPlayer(Ballgame, Agent1), visitingTeamPlayer(Ballgame, Agent2);homeTeamPlayer(Ballgame, Agent2), visitingTeamPlayer(Ballgame, Agent1))).
  235 */
  236
  237 /*  not(onOppositeTeams(OnOppositeTeams_Param, HomeTeamPlayer_Ret, OnOppositeTeams_Ret)) :-
  238       (   not(homeTeamPlayer(OnOppositeTeams_Param,
  239                              HomeTeamPlayer_Ret))
  240       ;   not(visitingTeamPlayer(OnOppositeTeams_Param,
  241                                  OnOppositeTeams_Ret))
  242       ),
  243       (   not(homeTeamPlayer(OnOppositeTeams_Param,
  244                              OnOppositeTeams_Ret))
  245       ;   not(visitingTeamPlayer(OnOppositeTeams_Param,
  246                                  HomeTeamPlayer_Ret))
  247       ).
  248 */
  249axiom(not(onOppositeTeams(OnOppositeTeams_Param, HomeTeamPlayer_Ret, OnOppositeTeams_Ret)),
  250   
  251    [ not(homeTeamPlayer(OnOppositeTeams_Param,
  252                         OnOppositeTeams_Ret)),
  253      not(homeTeamPlayer(OnOppositeTeams_Param, HomeTeamPlayer_Ret))
  254    ]).
  255axiom(not(onOppositeTeams(OnOppositeTeams_Param, HomeTeamPlayer_Ret, OnOppositeTeams_Ret)),
  256   
  257    [ not(visitingTeamPlayer(OnOppositeTeams_Param,
  258                             HomeTeamPlayer_Ret)),
  259      not(homeTeamPlayer(OnOppositeTeams_Param, HomeTeamPlayer_Ret))
  260    ]).
  261axiom(not(onOppositeTeams(OnOppositeTeams_Param, HomeTeamPlayer_Ret, OnOppositeTeams_Ret)),
  262   
  263    [ not(homeTeamPlayer(OnOppositeTeams_Param,
  264                         OnOppositeTeams_Ret)),
  265      not(visitingTeamPlayer(OnOppositeTeams_Param,
  266                             OnOppositeTeams_Ret))
  267    ]).
  268axiom(not(onOppositeTeams(OnOppositeTeams_Param, HomeTeamPlayer_Ret, OnOppositeTeams_Ret)),
  269   
  270    [ not(visitingTeamPlayer(OnOppositeTeams_Param,
  271                             HomeTeamPlayer_Ret)),
  272      not(visitingTeamPlayer(OnOppositeTeams_Param,
  273                             OnOppositeTeams_Ret))
  274    ]).
  275
  276 /*  homeTeamPlayer(HomeTeamPlayer_Param, HomeTeamPlayer_Ret7) :-
  277       (   not(homeTeamPlayer(HomeTeamPlayer_Param,
  278                              HomeTeamPlayer_Ret8))
  279       ;   not(visitingTeamPlayer(HomeTeamPlayer_Param,
  280                                  HomeTeamPlayer_Ret7))
  281       ),
  282       onOppositeTeams(HomeTeamPlayer_Param,
  283                       HomeTeamPlayer_Ret7,
  284                       HomeTeamPlayer_Ret8).
  285 */
  286axiom(homeTeamPlayer(HomeTeamPlayer_Param, HomeTeamPlayer_Ret7),
  287   
  288    [ not(homeTeamPlayer(HomeTeamPlayer_Param, HomeTeamPlayer_Ret8)),
  289      onOppositeTeams(HomeTeamPlayer_Param,
  290                      HomeTeamPlayer_Ret7,
  291                      HomeTeamPlayer_Ret8)
  292    ]).
  293axiom(homeTeamPlayer(HomeTeamPlayer_Param, HomeTeamPlayer_Ret7),
  294   
  295    [ not(visitingTeamPlayer(HomeTeamPlayer_Param,
  296                             HomeTeamPlayer_Ret7)),
  297      onOppositeTeams(HomeTeamPlayer_Param,
  298                      HomeTeamPlayer_Ret7,
  299                      HomeTeamPlayer_Ret8)
  300    ]).
  301
  302 /*  visitingTeamPlayer(VisitingTeamPlayer_Param, VisitingTeamPlayer_Ret) :-
  303       (   not(homeTeamPlayer(VisitingTeamPlayer_Param,
  304                              VisitingTeamPlayer_Ret))
  305       ;   not(visitingTeamPlayer(VisitingTeamPlayer_Param,
  306                                  VisitingTeamPlayer_Ret11))
  307       ),
  308       onOppositeTeams(VisitingTeamPlayer_Param,
  309                       VisitingTeamPlayer_Ret11,
  310                       VisitingTeamPlayer_Ret).
  311 */
  312axiom(visitingTeamPlayer(VisitingTeamPlayer_Param, VisitingTeamPlayer_Ret),
  313   
  314    [ not(homeTeamPlayer(VisitingTeamPlayer_Param,
  315                         VisitingTeamPlayer_Ret)),
  316      onOppositeTeams(VisitingTeamPlayer_Param,
  317                      VisitingTeamPlayer_Ret11,
  318                      VisitingTeamPlayer_Ret)
  319    ]).
  320axiom(visitingTeamPlayer(VisitingTeamPlayer_Param, VisitingTeamPlayer_Ret),
  321   
  322    [ not(visitingTeamPlayer(VisitingTeamPlayer_Param,
  323                             VisitingTeamPlayer_Ret11)),
  324      onOppositeTeams(VisitingTeamPlayer_Param,
  325                      VisitingTeamPlayer_Ret11,
  326                      VisitingTeamPlayer_Ret)
  327    ]).
  328
  329 /*  homeTeamPlayer(HomeTeamPlayer_Param12, HomeTeamPlayer_Ret13) :-
  330       (   not(homeTeamPlayer(HomeTeamPlayer_Param12,
  331                              HomeTeamPlayer_Ret14))
  332       ;   not(visitingTeamPlayer(HomeTeamPlayer_Param12,
  333                                  HomeTeamPlayer_Ret13))
  334       ),
  335       onOppositeTeams(HomeTeamPlayer_Param12,
  336                       HomeTeamPlayer_Ret14,
  337                       HomeTeamPlayer_Ret13).
  338 */
  339axiom(homeTeamPlayer(HomeTeamPlayer_Param12, HomeTeamPlayer_Ret13),
  340   
  341    [ not(homeTeamPlayer(HomeTeamPlayer_Param12,
  342                         HomeTeamPlayer_Ret14)),
  343      onOppositeTeams(HomeTeamPlayer_Param12,
  344                      HomeTeamPlayer_Ret14,
  345                      HomeTeamPlayer_Ret13)
  346    ]).
  347axiom(homeTeamPlayer(HomeTeamPlayer_Param12, HomeTeamPlayer_Ret13),
  348   
  349    [ not(visitingTeamPlayer(HomeTeamPlayer_Param12,
  350                             HomeTeamPlayer_Ret13)),
  351      onOppositeTeams(HomeTeamPlayer_Param12,
  352                      HomeTeamPlayer_Ret14,
  353                      HomeTeamPlayer_Ret13)
  354    ]).
  355
  356 /*  visitingTeamPlayer(VisitingTeamPlayer_Param15, VisitingTeamPlayer_Ret16) :-
  357       (   not(homeTeamPlayer(VisitingTeamPlayer_Param15,
  358                              VisitingTeamPlayer_Ret16))
  359       ;   not(visitingTeamPlayer(VisitingTeamPlayer_Param15,
  360                                  VisitingTeamPlayer_Ret17))
  361       ),
  362       onOppositeTeams(VisitingTeamPlayer_Param15,
  363                       VisitingTeamPlayer_Ret16,
  364                       VisitingTeamPlayer_Ret17).
  365 */
  366axiom(visitingTeamPlayer(VisitingTeamPlayer_Param15, VisitingTeamPlayer_Ret16),
  367   
  368    [ not(homeTeamPlayer(VisitingTeamPlayer_Param15,
  369                         VisitingTeamPlayer_Ret16)),
  370      onOppositeTeams(VisitingTeamPlayer_Param15,
  371                      VisitingTeamPlayer_Ret16,
  372                      VisitingTeamPlayer_Ret17)
  373    ]).
  374axiom(visitingTeamPlayer(VisitingTeamPlayer_Param15, VisitingTeamPlayer_Ret16),
  375   
  376    [ not(visitingTeamPlayer(VisitingTeamPlayer_Param15,
  377                             VisitingTeamPlayer_Ret17)),
  378      onOppositeTeams(VisitingTeamPlayer_Param15,
  379                      VisitingTeamPlayer_Ret16,
  380                      VisitingTeamPlayer_Ret17)
  381    ]).
  382
  383
  384% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:97
  385% [ballgame,agent1,hardball,agent2,pitchermound,homeplate]
  386% Happens(Pitch(ballgame,agent1,hardball,agent2),time) &
  387% PitchermoundOf(ballgame) = pitchermound &
  388% HomeplateOf(ballgame) = homeplate ->
  389% HoldsAt(Near(agent1,pitchermound),time) &
  390% HoldsAt(Near(agent2,homeplate),time) &
  391% OnOppositeTeams(ballgame,agent1,agent2).
  392
  393 /*   if((happens(pitch(Ballgame, Agent1, Hardball, Agent2), time), equals(pitchermoundOf(Ballgame), Pitchermound), equals(homeplateOf(Ballgame), Homeplate)),
  394          (holds_at(near(Agent1, Pitchermound), time), holds_at(near(Agent2, Homeplate), time), onOppositeTeams(Ballgame, Agent1, Agent2))).
  395 */
  396
  397 /*  not(happens(pitch(Pitch_Param, Near_Param, _, Near_Param8), time)) :-
  398       ( equals(pitchermoundOf(Pitch_Param), Equals_Ret),
  399         equals(homeplateOf(Pitch_Param), Equals_Ret10)
  400       ),
  401       (   not(holds_at(near(Near_Param, Equals_Ret), time))
  402       ;   not(holds_at(near(Near_Param8, Equals_Ret10), time))
  403       ;   not(onOppositeTeams(Pitch_Param,
  404                               Near_Param,
  405                               Near_Param8))
  406       ).
  407 */
  408% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:103
  409axiom(not(happens(pitch(Pitch_Param, Near_Param, _, Near_Param8), time)),
  410   
  411    [ not(holds_at(near(Near_Param, Equals_Ret), time)),
  412      equals(pitchermoundOf(Pitch_Param), Equals_Ret),
  413      equals(homeplateOf(Pitch_Param), Equals_Ret10)
  414    ]).
  415axiom(not(happens(pitch(Pitch_Param, Near_Param, _, Near_Param8), time)),
  416   
  417    [ not(holds_at(near(Near_Param8, Equals_Ret10), time)),
  418      equals(pitchermoundOf(Pitch_Param), Equals_Ret),
  419      equals(homeplateOf(Pitch_Param), Equals_Ret10)
  420    ]).
  421axiom(not(happens(pitch(Pitch_Param, Near_Param, _, Near_Param8), time)),
  422   
  423    [ not(onOppositeTeams(Pitch_Param,
  424                          Near_Param,
  425                          Near_Param8)),
  426      equals(pitchermoundOf(Pitch_Param), Equals_Ret),
  427      equals(homeplateOf(Pitch_Param), Equals_Ret10)
  428    ]).
  429
  430 /*  not(equals(pitchermoundOf(Pitch_Param11), Equals_Ret14)) :-
  431       equals(homeplateOf(Pitch_Param11), Equals_Ret15),
  432       happens(pitch(Pitch_Param11,
  433                     Near_Param12,
  434                     _,
  435                     Near_Param13),
  436               time),
  437       (   not(holds_at(near(Near_Param12, Equals_Ret14), time))
  438       ;   not(holds_at(near(Near_Param13, Equals_Ret15), time))
  439       ;   not(onOppositeTeams(Pitch_Param11,
  440                               Near_Param12,
  441                               Near_Param13))
  442       ).
  443 */
  444axiom(not(equals(pitchermoundOf(Pitch_Param11), Equals_Ret14)),
  445   
  446    [ not(holds_at(near(Near_Param12, Equals_Ret14), time)),
  447      equals(homeplateOf(Pitch_Param11), Equals_Ret15),
  448      happens(pitch(Pitch_Param11,
  449                    Near_Param12,
  450                    _,
  451                    Near_Param13),
  452              time)
  453    ]).
  454axiom(not(equals(pitchermoundOf(Pitch_Param11), Equals_Ret14)),
  455   
  456    [ not(holds_at(near(Near_Param13, Equals_Ret15), time)),
  457      equals(homeplateOf(Pitch_Param11), Equals_Ret15),
  458      happens(pitch(Pitch_Param11,
  459                    Near_Param12,
  460                    _,
  461                    Near_Param13),
  462              time)
  463    ]).
  464axiom(not(equals(pitchermoundOf(Pitch_Param11), Equals_Ret14)),
  465   
  466    [ not(onOppositeTeams(Pitch_Param11,
  467                          Near_Param12,
  468                          Near_Param13)),
  469      equals(homeplateOf(Pitch_Param11), Equals_Ret15),
  470      happens(pitch(Pitch_Param11,
  471                    Near_Param12,
  472                    _,
  473                    Near_Param13),
  474              time)
  475    ]).
  476
  477 /*  not(equals(homeplateOf(Pitch_Param16), Equals_Ret19)) :-
  478       equals(pitchermoundOf(Pitch_Param16), Equals_Ret20),
  479       happens(pitch(Pitch_Param16,
  480                     Near_Param17,
  481                     _,
  482                     Near_Param18),
  483               time),
  484       (   not(holds_at(near(Near_Param17, Equals_Ret20), time))
  485       ;   not(holds_at(near(Near_Param18, Equals_Ret19), time))
  486       ;   not(onOppositeTeams(Pitch_Param16,
  487                               Near_Param17,
  488                               Near_Param18))
  489       ).
  490 */
  491axiom(not(equals(homeplateOf(Pitch_Param16), Equals_Ret19)),
  492   
  493    [ not(holds_at(near(Near_Param17, Equals_Ret20), time)),
  494      equals(pitchermoundOf(Pitch_Param16), Equals_Ret20),
  495      happens(pitch(Pitch_Param16,
  496                    Near_Param17,
  497                    _,
  498                    Near_Param18),
  499              time)
  500    ]).
  501axiom(not(equals(homeplateOf(Pitch_Param16), Equals_Ret19)),
  502   
  503    [ not(holds_at(near(Near_Param18, Equals_Ret19), time)),
  504      equals(pitchermoundOf(Pitch_Param16), Equals_Ret20),
  505      happens(pitch(Pitch_Param16,
  506                    Near_Param17,
  507                    _,
  508                    Near_Param18),
  509              time)
  510    ]).
  511axiom(not(equals(homeplateOf(Pitch_Param16), Equals_Ret19)),
  512   
  513    [ not(onOppositeTeams(Pitch_Param16,
  514                          Near_Param17,
  515                          Near_Param18)),
  516      equals(pitchermoundOf(Pitch_Param16), Equals_Ret20),
  517      happens(pitch(Pitch_Param16,
  518                    Near_Param17,
  519                    _,
  520                    Near_Param18),
  521              time)
  522    ]).
  523
  524 /*  holds_at(near(Near_Param21, Near_Ret), time) :-
  525       happens(pitch(Pitch_Param22,
  526                     Near_Param21,
  527                     _,
  528                     Pitch_Ret),
  529               time),
  530       equals(pitchermoundOf(Pitch_Param22), Near_Ret),
  531       equals(homeplateOf(Pitch_Param22), Equals_Ret25).
  532 */
  533axiom(holds_at(near(Near_Param21, Near_Ret), time),
  534   
  535    [ happens(pitch(Pitch_Param22,
  536                    Near_Param21,
  537                    _,
  538                    Pitch_Ret),
  539              time),
  540      equals(pitchermoundOf(Pitch_Param22), Near_Ret),
  541      equals(homeplateOf(Pitch_Param22), Equals_Ret25)
  542    ]).
  543
  544 /*  holds_at(near(Near_Param26, Near_Ret28), time) :-
  545       happens(pitch(Pitch_Param27, _, _, Near_Param26),
  546               time),
  547       equals(pitchermoundOf(Pitch_Param27), Equals_Ret29),
  548       equals(homeplateOf(Pitch_Param27), Near_Ret28).
  549 */
  550axiom(holds_at(near(Near_Param26, Near_Ret28), time),
  551   
  552    [ happens(pitch(Pitch_Param27, _, _, Near_Param26),
  553              time),
  554      equals(pitchermoundOf(Pitch_Param27), Equals_Ret29),
  555      equals(homeplateOf(Pitch_Param27), Near_Ret28)
  556    ]).
  557
  558 /*  onOppositeTeams(OnOppositeTeams_Param, A, OnOppositeTeams_Ret) :-
  559       happens(pitch(OnOppositeTeams_Param,
  560                     A,
  561                     _,
  562                     OnOppositeTeams_Ret),
  563               time),
  564       equals(pitchermoundOf(OnOppositeTeams_Param), Equals_Ret32),
  565       equals(homeplateOf(OnOppositeTeams_Param), Equals_Ret33).
  566 */
  567axiom(onOppositeTeams(OnOppositeTeams_Param, A, OnOppositeTeams_Ret),
  568   
  569    [ happens(pitch(OnOppositeTeams_Param,
  570                    A,
  571                    _,
  572                    OnOppositeTeams_Ret),
  573              time),
  574      equals(pitchermoundOf(OnOppositeTeams_Param), Equals_Ret32),
  575      equals(homeplateOf(OnOppositeTeams_Param), Equals_Ret33)
  576    ]).
  577
  578
  579% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:105
  580% [ballgame,agent1,agent2,hardball,time]
  581% Happens(Pitch(ballgame,agent1,hardball,agent2),time) ->
  582% Happens(PitchInStrikeZone(ballgame,agent1,hardball,agent2),time) |
  583% Happens(PitchOutOfStrikeZone(ballgame,agent1,hardball,agent2),time).
  584
  585 /*   if(happens(pitch(Ballgame, Agent1, Hardball, Agent2),
  586                 Time),
  587          (happens(pitchInStrikeZone(Ballgame, Agent1, Hardball, Agent2), Time);happens(pitchOutOfStrikeZone(Ballgame, Agent1, Hardball, Agent2), Time))).
  588 */
  589
  590 /*  happens(pitchInStrikeZone(PitchInStrikeZone_Param, A, B, PitchInStrikeZone_Ret), Maptime) :-
  591       not(happens(pitchOutOfStrikeZone(PitchInStrikeZone_Param,
  592                                        A,
  593                                        B,
  594                                        PitchInStrikeZone_Ret),
  595                   Maptime)),
  596       happens(pitch(PitchInStrikeZone_Param,
  597                     A,
  598                     B,
  599                     PitchInStrikeZone_Ret),
  600               Maptime).
  601 */
  602% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:108
  603axiom(happens(pitchInStrikeZone(PitchInStrikeZone_Param, A, B, PitchInStrikeZone_Ret), Maptime),
  604   
  605    [ not(happens(pitchOutOfStrikeZone(PitchInStrikeZone_Param,
  606                                       A,
  607                                       B,
  608                                       PitchInStrikeZone_Ret),
  609                  Maptime)),
  610      happens(pitch(PitchInStrikeZone_Param,
  611                    A,
  612                    B,
  613                    PitchInStrikeZone_Ret),
  614              Maptime)
  615    ]).
  616
  617 /*  happens(pitchOutOfStrikeZone(PitchOutOfStrikeZone_Param, A, B, PitchOutOfStrikeZone_Ret), Maptime8) :-
  618       not(happens(pitchInStrikeZone(PitchOutOfStrikeZone_Param,
  619                                     A,
  620                                     B,
  621                                     PitchOutOfStrikeZone_Ret),
  622                   Maptime8)),
  623       happens(pitch(PitchOutOfStrikeZone_Param,
  624                     A,
  625                     B,
  626                     PitchOutOfStrikeZone_Ret),
  627               Maptime8).
  628 */
  629axiom(happens(pitchOutOfStrikeZone(PitchOutOfStrikeZone_Param, A, B, PitchOutOfStrikeZone_Ret), Maptime8),
  630   
  631    [ not(happens(pitchInStrikeZone(PitchOutOfStrikeZone_Param,
  632                                    A,
  633                                    B,
  634                                    PitchOutOfStrikeZone_Ret),
  635                  Maptime8)),
  636      happens(pitch(PitchOutOfStrikeZone_Param,
  637                    A,
  638                    B,
  639                    PitchOutOfStrikeZone_Ret),
  640              Maptime8)
  641    ]).
  642
  643 /*  not(happens(pitch(Pitch_Param, A, B, Pitch_Ret), Maptime11)) :-
  644       not(happens(pitchInStrikeZone(Pitch_Param,
  645                                     A,
  646                                     B,
  647                                     Pitch_Ret),
  648                   Maptime11)),
  649       not(happens(pitchOutOfStrikeZone(Pitch_Param,
  650                                        A,
  651                                        B,
  652                                        Pitch_Ret),
  653                   Maptime11)).
  654 */
  655axiom(not(happens(pitch(Pitch_Param, A, B, Pitch_Ret), Maptime11)),
  656   
  657    [ not(happens(pitchInStrikeZone(Pitch_Param,
  658                                    A,
  659                                    B,
  660                                    Pitch_Ret),
  661                  Maptime11)),
  662      not(happens(pitchOutOfStrikeZone(Pitch_Param,
  663                                       A,
  664                                       B,
  665                                       Pitch_Ret),
  666                  Maptime11))
  667    ]).
  668
  669
  670% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:110
  671% [ballgame,agent1,agent2,hardball,time]
  672% Happens(PitchInStrikeZone(ballgame,agent1,hardball,agent2),time) ->
  673% !Happens(PitchOutOfStrikeZone(ballgame,agent1,hardball,agent2),time).
  674% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:112
  675axiom(not(happens(pitchOutOfStrikeZone(Ballgame, Agent1, Hardball, Agent2), Time)),
  676   
  677    [ happens(pitchInStrikeZone(Ballgame,
  678                                Agent1,
  679                                Hardball,
  680                                Agent2),
  681              Time)
  682    ]).
  683
  684
  685% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:114
  686% [ballgame,agent1,agent2,hardball,time]
  687% Happens(PitchInStrikeZone(ballgame,agent1,hardball,agent2),time) ->
  688% Happens(Swing(ballgame,agent2,hardball),time+1).
  689% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:116
  690axiom(happens(swing(Ballgame, Agent2, Hardball), start),
  691   
  692    [ happens(pitchInStrikeZone(Ballgame,
  693                                Agent1,
  694                                Hardball,
  695                                Agent2),
  696              t),
  697      b(t, start),
  698      ignore(t+1=start)
  699    ]).
  700
  701
  702% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:118
  703% [ballgame,agent,hardball,time]
  704% Happens(Swing(ballgame,agent,hardball),time) ->
  705% Happens(SwingHit(ballgame,agent,hardball),time) |
  706% Happens(SwingMiss(ballgame,agent,hardball),time).
  707
  708 /*   if(happens(swing(Ballgame, Agent, Hardball), Time),
  709          (happens(swingHit(Ballgame, Agent, Hardball), Time);happens(swingMiss(Ballgame, Agent, Hardball), Time))).
  710 */
  711
  712 /*  happens(swingHit(SwingHit_Param, A, SwingHit_Ret), Maptime) :-
  713       not(happens(swingMiss(SwingHit_Param, A, SwingHit_Ret),
  714                   Maptime)),
  715       happens(swing(SwingHit_Param, A, SwingHit_Ret),
  716               Maptime).
  717 */
  718% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:121
  719axiom(happens(swingHit(SwingHit_Param, A, SwingHit_Ret), Maptime),
  720   
  721    [ not(happens(swingMiss(SwingHit_Param, A, SwingHit_Ret),
  722                  Maptime)),
  723      happens(swing(SwingHit_Param, A, SwingHit_Ret),
  724              Maptime)
  725    ]).
  726
  727 /*  happens(swingMiss(SwingMiss_Param, A, SwingMiss_Ret), Maptime7) :-
  728       not(happens(swingHit(SwingMiss_Param, A, SwingMiss_Ret),
  729                   Maptime7)),
  730       happens(swing(SwingMiss_Param, A, SwingMiss_Ret),
  731               Maptime7).
  732 */
  733axiom(happens(swingMiss(SwingMiss_Param, A, SwingMiss_Ret), Maptime7),
  734   
  735    [ not(happens(swingHit(SwingMiss_Param, A, SwingMiss_Ret),
  736                  Maptime7)),
  737      happens(swing(SwingMiss_Param, A, SwingMiss_Ret),
  738              Maptime7)
  739    ]).
  740
  741 /*  not(happens(swing(Swing_Param, A, Swing_Ret), Maptime10)) :-
  742       not(happens(swingHit(Swing_Param, A, Swing_Ret),
  743                   Maptime10)),
  744       not(happens(swingMiss(Swing_Param, A, Swing_Ret),
  745                   Maptime10)).
  746 */
  747axiom(not(happens(swing(Swing_Param, A, Swing_Ret), Maptime10)),
  748   
  749    [ not(happens(swingHit(Swing_Param, A, Swing_Ret),
  750                  Maptime10)),
  751      not(happens(swingMiss(Swing_Param, A, Swing_Ret),
  752                  Maptime10))
  753    ]).
  754
  755
  756% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:123
  757% [ballgame,agent,hardball,time]
  758% Happens(SwingHit(ballgame,agent,hardball),time) ->
  759% !Happens(SwingMiss(ballgame,agent,hardball),time).
  760% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:125
  761axiom(not(happens(swingMiss(Ballgame, Agent, Hardball), Time)),
  762    [happens(swingHit(Ballgame, Agent, Hardball), Time)]).
  763
  764
  765% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:127
  766% [ballgame,agent,hardball,time]
  767% Happens(SwingHit(ballgame,agent,hardball),time) ->
  768% Happens(SwingHitFair(ballgame,agent,hardball),time) |
  769% Happens(SwingHitFoul(ballgame,agent,hardball),time).
  770
  771 /*   if(happens(swingHit(Ballgame, Agent, Hardball), Time),
  772          (happens(swingHitFair(Ballgame, Agent, Hardball), Time);happens(swingHitFoul(Ballgame, Agent, Hardball), Time))).
  773 */
  774
  775 /*  happens(swingHitFair(SwingHitFair_Param, A, SwingHitFair_Ret), Maptime) :-
  776       not(happens(swingHitFoul(SwingHitFair_Param,
  777                                A,
  778                                SwingHitFair_Ret),
  779                   Maptime)),
  780       happens(swingHit(SwingHitFair_Param, A, SwingHitFair_Ret),
  781               Maptime).
  782 */
  783% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:130
  784axiom(happens(swingHitFair(SwingHitFair_Param, A, SwingHitFair_Ret), Maptime),
  785   
  786    [ not(happens(swingHitFoul(SwingHitFair_Param,
  787                               A,
  788                               SwingHitFair_Ret),
  789                  Maptime)),
  790      happens(swingHit(SwingHitFair_Param,
  791                       A,
  792                       SwingHitFair_Ret),
  793              Maptime)
  794    ]).
  795
  796 /*  happens(swingHitFoul(SwingHitFoul_Param, A, SwingHitFoul_Ret), Maptime7) :-
  797       not(happens(swingHitFair(SwingHitFoul_Param,
  798                                A,
  799                                SwingHitFoul_Ret),
  800                   Maptime7)),
  801       happens(swingHit(SwingHitFoul_Param, A, SwingHitFoul_Ret),
  802               Maptime7).
  803 */
  804axiom(happens(swingHitFoul(SwingHitFoul_Param, A, SwingHitFoul_Ret), Maptime7),
  805   
  806    [ not(happens(swingHitFair(SwingHitFoul_Param,
  807                               A,
  808                               SwingHitFoul_Ret),
  809                  Maptime7)),
  810      happens(swingHit(SwingHitFoul_Param,
  811                       A,
  812                       SwingHitFoul_Ret),
  813              Maptime7)
  814    ]).
  815
  816 /*  not(happens(swingHit(SwingHit_Param, A, SwingHit_Ret), Maptime10)) :-
  817       not(happens(swingHitFair(SwingHit_Param, A, SwingHit_Ret),
  818                   Maptime10)),
  819       not(happens(swingHitFoul(SwingHit_Param, A, SwingHit_Ret),
  820                   Maptime10)).
  821 */
  822axiom(not(happens(swingHit(SwingHit_Param, A, SwingHit_Ret), Maptime10)),
  823   
  824    [ not(happens(swingHitFair(SwingHit_Param,
  825                               A,
  826                               SwingHit_Ret),
  827                  Maptime10)),
  828      not(happens(swingHitFoul(SwingHit_Param,
  829                               A,
  830                               SwingHit_Ret),
  831                  Maptime10))
  832    ]).
  833
  834
  835% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:132
  836% [ballgame,agent,hardball,time]
  837% Happens(SwingHitFair(ballgame,agent,hardball),time) ->
  838% !Happens(SwingHitFoul(ballgame,agent,hardball),time).
  839% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:134
  840axiom(not(happens(swingHitFoul(Ballgame, Agent, Hardball), Time)),
  841   
  842    [ happens(swingHitFair(Ballgame, Agent, Hardball),
  843              Time)
  844    ]).
  845
  846
  847% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:136
  848% [ballgame,agent,hardball,time]
  849% Happens(SwingHitFair(ballgame,agent,hardball),time) ->
  850% Happens(SwingHitFairFly(ballgame,agent,hardball),time) |
  851% Happens(SwingHitFairGround(ballgame,agent,hardball),time).
  852
  853 /*   if(happens(swingHitFair(Ballgame, Agent, Hardball),
  854                 Time),
  855          (happens(swingHitFairFly(Ballgame, Agent, Hardball), Time);happens(swingHitFairGround(Ballgame, Agent, Hardball), Time))).
  856 */
  857
  858 /*  happens(swingHitFairFly(SwingHitFairFly_Param, A, SwingHitFairFly_Ret), Maptime) :-
  859       not(happens(swingHitFairGround(SwingHitFairFly_Param,
  860                                      A,
  861                                      SwingHitFairFly_Ret),
  862                   Maptime)),
  863       happens(swingHitFair(SwingHitFairFly_Param,
  864                            A,
  865                            SwingHitFairFly_Ret),
  866               Maptime).
  867 */
  868% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:139
  869axiom(happens(swingHitFairFly(SwingHitFairFly_Param, A, SwingHitFairFly_Ret), Maptime),
  870   
  871    [ not(happens(swingHitFairGround(SwingHitFairFly_Param,
  872                                     A,
  873                                     SwingHitFairFly_Ret),
  874                  Maptime)),
  875      happens(swingHitFair(SwingHitFairFly_Param,
  876                           A,
  877                           SwingHitFairFly_Ret),
  878              Maptime)
  879    ]).
  880
  881 /*  happens(swingHitFairGround(SwingHitFairGround_Param, A, SwingHitFairGround_Ret), Maptime7) :-
  882       not(happens(swingHitFairFly(SwingHitFairGround_Param,
  883                                   A,
  884                                   SwingHitFairGround_Ret),
  885                   Maptime7)),
  886       happens(swingHitFair(SwingHitFairGround_Param,
  887                            A,
  888                            SwingHitFairGround_Ret),
  889               Maptime7).
  890 */
  891axiom(happens(swingHitFairGround(SwingHitFairGround_Param, A, SwingHitFairGround_Ret), Maptime7),
  892   
  893    [ not(happens(swingHitFairFly(SwingHitFairGround_Param,
  894                                  A,
  895                                  SwingHitFairGround_Ret),
  896                  Maptime7)),
  897      happens(swingHitFair(SwingHitFairGround_Param,
  898                           A,
  899                           SwingHitFairGround_Ret),
  900              Maptime7)
  901    ]).
  902
  903 /*  not(happens(swingHitFair(SwingHitFair_Param, A, SwingHitFair_Ret), Maptime10)) :-
  904       not(happens(swingHitFairFly(SwingHitFair_Param,
  905                                   A,
  906                                   SwingHitFair_Ret),
  907                   Maptime10)),
  908       not(happens(swingHitFairGround(SwingHitFair_Param,
  909                                      A,
  910                                      SwingHitFair_Ret),
  911                   Maptime10)).
  912 */
  913axiom(not(happens(swingHitFair(SwingHitFair_Param, A, SwingHitFair_Ret), Maptime10)),
  914   
  915    [ not(happens(swingHitFairFly(SwingHitFair_Param,
  916                                  A,
  917                                  SwingHitFair_Ret),
  918                  Maptime10)),
  919      not(happens(swingHitFairGround(SwingHitFair_Param,
  920                                     A,
  921                                     SwingHitFair_Ret),
  922                  Maptime10))
  923    ]).
  924
  925
  926% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:141
  927% [ballgame,agent,hardball,time]
  928% Happens(SwingHitFairFly(ballgame,agent,hardball),time) ->
  929% Happens(SwingHitFairGround(ballgame,agent,hardball),time).
  930% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:143
  931axiom(happens(swingHitFairGround(Ballgame, Agent, Hardball), Time),
  932   
  933    [ happens(swingHitFairFly(Ballgame, Agent, Hardball),
  934              Time)
  935    ]).
  936
  937
  938% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:145
  939% [ballgame,agent,hardball,homeplate,firstbase,time]
  940% Happens(SwingHit(ballgame,agent,hardball),time) &
  941% HomeplateOf(ballgame) = homeplate &
  942% FirstBaseOf(ballgame) = firstbase ->
  943% Happens(RunFromTo(agent,homeplate,firstbase),time).
  944% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:149
  945axiom(happens(runFromTo(Agent, Homeplate, Firstbase), Time),
  946   
  947    [ happens(swingHit(Ballgame, Agent, Hardball), Time),
  948      equals(homeplateOf(Ballgame), Homeplate),
  949      equals(firstBaseOf(Ballgame), Firstbase)
  950    ]).
  951
  952
  953% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:151
  954% [ballgame,agent,hardball,homeplate,outfield,time]
  955% HomeplateOf(ballgame) = homeplate &
  956% OutfieldOf(ballgame) = outfield &
  957% Happens(SwingHitFairFly(ballgame,agent,hardball),time) ->
  958% Happens(HitFromTo(agent,hardball,homeplate,outfield),time).
  959% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:155
  960axiom(happens(hitFromTo(Agent, Hardball, Homeplate, Outfield), Time),
  961   
  962    [ equals(homeplateOf(Ballgame), Homeplate),
  963      equals(outfieldOf(Ballgame), Outfield),
  964      happens(swingHitFairFly(Ballgame, Agent, Hardball),
  965              Time)
  966    ]).
  967
  968
  969% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Baseball.e:157
  970%; End of file.