:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/ChessBoard40.e',80). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.pel')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(ecalc). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.pel')). %; %; Copyright (c) 2005 IBM Corporation and others. %; All rights reserved. This program and the accompanying materials %; are made available under the terms of the Common Public License v1.0 %; which accompanies this distribution, and is available at %; http://www.eclipse.org/legal/cpl-v10.html %; %; Contributors: %; IBM - Initial implementation %; %; @article{Kartha:1994, %; author = "G. Neelakantan Kartha", %; year = "1994", %; title = "Two counterexamples related to \uppercase{B}aker's approach to the frame problem", %; journal = "Artificial Intelligence", %; volume = "69", %; number = "1--2", %; pages = "379--391", %; } %; %; @incollection{Shanahan:1999, %; author = "Shanahan, Murray", %; year = "1999", %; title = "The Event Calculus explained", %; editor = "Michael J. Wooldridge and Manuela M. Veloso", %; booktitle = "Artificial Intelligence Today: Recent Trends and Developments", %; series = "Lecture Notes in Computer Science", %; volume = "1600", %; pages = "409--430", %; address = "Berlin", %; publisher = "Springer", %; } %; %; model finding %; %; modifications from Shanahan's formulation: %; InitiallyP -> HoldsAt %; pruning of models irrelevant to example %; timestamps %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',42). % load foundations/Root.e :- call_pel_directive(load('foundations/Root.e')). % load foundations/EC.e :- call_pel_directive(load('foundations/EC.e')). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',45). % event Toss() event(toss()). % fluent ItsHeads() fluent(itsHeads()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',47). % fluent Heads() fluent(heads()). % noninertial ItsHeads :- call_pel_directive(noninertial(itsHeads)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',50). % [time] % HoldsAt(ItsHeads(),time) -> Initiates(Toss(),Heads(),time). holds_at(itsHeads(), Time) -> initiates_at(toss(), heads(), Time). % [time] % !HoldsAt(ItsHeads(),time) -> Terminates(Toss(),Heads(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',50). holds_at(not(itsHeads()), Time) -> terminates_at(toss(), heads(), Time). % HoldsAt(Heads(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',52). holds_at(heads(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',54). % Happens(Toss(),10). happens_at(toss(),10). % Happens(Toss(),20). happens_at(toss(),20). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',56). % Happens(Toss(),30). happens_at(toss(),30). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',58). %; prune models irrelevant to example: % HoldsAt(ItsHeads(),0). holds_at(itsHeads(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',60). % HoldsAt(ItsHeads(),40). holds_at(itsHeads(),40). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',62). % completion Happens :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.e',64). % range time 0 40 :- call_pel_directive(range(time, 0, 40)). % range offset 1 1 :- call_pel_directive(range(offset, 1, 1)). %; End of file. :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss40.pel')).