Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- domains
- Fact = assembled; disassembled; charged; uncharged; on_table; in_hands;
- state(Fact,Fact,Fact)
- Action = disassemble; uncharge; put_on_table; take
- predicates
- nondeterm act(Fact,Action,Fact)
- nondeterm canAct(Fact)
- clauses
- act(state(assembled, charged, on_table),take,
- state(assembled, charged, in_hands)) :- write(take),nl.
- act(state(assembled, charged, in_hands),uncharge,
- state(assembled, uncharged, in_hands)) :- write(uncharge),nl.
- act(state(assembled, uncharged, in_hands),disassemble,
- state(disassembled, uncharged, in_hands)) :- write(disassemble), nl.
- act(state(disassembled, uncharged, in_hands), put_on_table,
- state(disassembled, uncharged, on_table)) :- write(put_on_table), nl.
- canAct(state(_,uncharged,_)).
- canAct(State1):- act(State1, Act, State2), canAct(State2).
- goal
- canAct (state(assembled,charged,in_
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement