:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Bomb.e',183). % From E: % % :-call_pel_directive(translate(unskipped,'/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e.lps')). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e.lps')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(lps). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Bomb.e',183). % From E: % % :-call_pel_directive(translate(begining,'/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e.lps')). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e.lps')). % Sat, 10 Oct 2020 15:31:34 GMT File: (0x559e4b469300)%; %; 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 %; %; Book: book (a sort of device) %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',14). % sort page: integer % From E: % % subsort(page,integer). subsort(page,integer). %; agent opens book to page. % event BookOpenTo(agent,book,page) :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',16). % From E: % % event(bookOpenTo(agent,book,page)). events([bookOpenTo/3]). mpred_prop(bookOpenTo(agent,book,page),action). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',16). actions([bookOpenTo/3]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',19). %; agent closes book. % event BookClose(agent,book) % From E: % % event(bookClose(agent,book)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',19). events([bookClose/2]). mpred_prop(bookClose(agent,book),action). actions([bookClose/2]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',22). %; book is open to page. % fluent BookIsOpenTo(book,page) % From E: % % fluent(bookIsOpenTo(book,page)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',22). mpred_prop(bookIsOpenTo(book,page),fluent). fluents([bookIsOpenTo/2]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',25). % fluent BookClosed(book) % From E: % % fluent(bookClosed(book)). mpred_prop(bookClosed(book),fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',25). fluents([bookClosed/1]). % noninertial BookClosed % From E: % % :-call_pel_directive(noninertial(bookClosed)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',25). :- call_pel_directive(noninertial(bookClosed)). %; agent turns page of book to page. % event BookTurnPageTo(agent,book,page) :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',28). % From E: % % event(bookTurnPageTo(agent,book,page)). events([bookTurnPageTo/3]). mpred_prop(bookTurnPageTo(agent,book,page),action). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',28). actions([bookTurnPageTo/3]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',31). % [book,page1,page2,time] % HoldsAt(BookIsOpenTo(book,page1),time) & % HoldsAt(BookIsOpenTo(book,page2),time) -> % page1=page2. % From E: % % '->'( % (holds_at(bookIsOpenTo(Book,Page1),Time) , % holds_at(bookIsOpenTo(Book,Page2),Time)), % Page1=Page2). % [Time]. false not equals(Page1, Page2), bookIsOpenTo(Book, Page1), bookIsOpenTo(Book, Page2). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',31). /* d_pre([ not(equals(Page1,Page2)), bookIsOpenTo(Book,Page1), bookIsOpenTo(Book,Page2) ]). */ % "% =================================". % [book,time] % HoldsAt(BookClosed(book),time) <-> % !{page} HoldsAt(BookIsOpenTo(book,page),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',37). % From E: % % <->( % holds_at(bookClosed(Book),Time), % not( % exists( % [Page], % holds_at(bookIsOpenTo(Book,Page),Time)))). % [Time]. if bookClosed(Book)then not bookIsOpenTo(Book, Page). /* reactive_rule([bookClosed(Book)], [not(bookIsOpenTo(Book,Page))]). */ % "% =================================". if not bookIsOpenTo(Book, Page)then bookClosed(Book). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',37). /* reactive_rule([not(bookIsOpenTo(Book,Page))], [bookClosed(Book)]). */ % "% =================================". %; A precondition axiom states that %; for an agent to open a book to a page, %; the agent must be awake, %; the book must be closed, and %; the agent must be holding the book. % [agent,book,page,time] % Happens(BookOpenTo(agent,book,page),time) -> % HoldsAt(Awake(agent),time) & % HoldsAt(BookClosed(book),time) & % HoldsAt(Holding(agent,book),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',45). % From E: % % '->'( % happens_at(bookOpenTo(Agent,Book,Page),Time), % (holds_at(awake(Agent),Time) , % holds_at(bookClosed(Book),Time) , % holds_at(holding(Agent,Book),Time))). % [Time]. if bookOpenTo(Agent, Book, Page)then awake(Agent), bookClosed(Book), holding(Agent, Book). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',45). /* reactive_rule([bookOpenTo(Agent,Book,Page)], [ awake(Agent), bookClosed(Book), holding(Agent,Book) ]). */ % "% =================================". %; An effect axiom states that %; if an agent opens a book to a page, %; the book will be open to the page: % [agent,book,page,time] % Initiates(BookOpenTo(agent,book,page),BookIsOpenTo(book,page),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',54). % From E: % % initiates_at( % bookOpenTo(Agent,Book,Page), % bookIsOpenTo(Book,Page), % Time). % [Time]. bookOpenTo(Agent, Book, Page)initiates bookIsOpenTo(Book, Page). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',54). /* initiated(happens(bookOpenTo(Agent,Book,Page), Time_From, Time_Until), bookIsOpenTo(Book,Page), []). */ % "% =================================". %; A precondition axiom states that %; for an agent to close a book, %; the agent must be awake, %; the book must not already be closed, and %; the agent must be holding the book. % [agent,book,time] % Happens(BookClose(agent,book),time) -> % HoldsAt(Awake(agent),time) & % !HoldsAt(BookClosed(book),time) & % HoldsAt(Holding(agent,book),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',62). % From E: % % '->'( % happens_at(bookClose(Agent,Book),Time), % (holds_at(awake(Agent),Time) , % holds_at(not(bookClosed(Book)),Time) , % holds_at(holding(Agent,Book),Time))). % [Time]. if bookClose(Agent, Book)then awake(Agent), not bookClosed(Book), holding(Agent, Book). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',62). /* reactive_rule([bookClose(Agent,Book)], [ awake(Agent), not(bookClosed(Book)), holding(Agent,Book) ]). */ % "% =================================". %; An effect axiom states that %; if an agent closes a book, %; the book will no longer be open: % [agent,book,page,time] % Terminates(BookClose(agent,book),BookIsOpenTo(book,page),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',71). % From E: % % terminates_at( % bookClose(Agent,Book), % bookIsOpenTo(Book,Page), % Time). % [Time]. bookClose(Agent, Book)terminates bookIsOpenTo(Book, Page). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',71). /* terminated(happens(bookClose(Agent,Book), Time_From, Time_Until), bookIsOpenTo(Book,Page), []). */ % "% =================================". % [agent,book,page,time] % Happens(BookTurnPageTo(agent,book,page),time) -> % HoldsAt(Awake(agent),time) & % ({page1} page1 != page & HoldsAt(BookIsOpenTo(book,page1),time)) & % HoldsAt(Holding(agent,book),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',75). % From E: % % '->'( % happens_at(bookTurnPageTo(Agent,Book,Page),Time), % (holds_at(awake(Agent),Time) , % exists( % [Page1], % (Page1\=Page , % holds_at(bookIsOpenTo(Book,Page1),Time))) , % holds_at(holding(Agent,Book),Time))). % [Time]. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',75). bookTurnPageTo(Agent, Book, Page) -> awake(Agent), exists([Page1], (Page1\=Page, bookIsOpenTo(Book, Page1))), holding(Agent, Book). % [agent,book,page,time] % Initiates(BookTurnPageTo(agent,book,page),BookIsOpenTo(book,page),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',81). % From E: % % initiates_at( % bookTurnPageTo(Agent,Book,Page), % bookIsOpenTo(Book,Page), % Time). % [Time]. bookTurnPageTo(Agent, Book, Page)initiates bookIsOpenTo(Book, Page). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',81). /* initiated(happens(bookTurnPageTo(Agent,Book,Page), Time_From, Time_Until), bookIsOpenTo(Book,Page), []). */ % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',83). % [agent,book,page1,page2,time] % HoldsAt(BookIsOpenTo(book,page1),time) & % page1 != page2 -> % Terminates(BookTurnPageTo(agent,book,page2),BookIsOpenTo(book,page1),time). % From E: % % '->'( % (holds_at(bookIsOpenTo(Book,Page1),Time) , % Page1\=Page2), % terminates_at( % bookTurnPageTo(Agent,Book,Page2), % bookIsOpenTo(Book,Page1), % Time)). % [Time]. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',83). bookIsOpenTo(Book, Page1), Page1\=Page2 -> terminates(bookTurnPageTo(Agent, Book, Page2), bookIsOpenTo(Book, Page1)). %; End of file. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e',87). % From E: % % :-call_pel_directive(translate(ending,'/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e.lps')). :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/ecnet/Book.e.lps')).