(define (domain exam) (:requirements :strips :negative-preconditions :disjunctive-preconditions) (:predicates (exam) (open) (in-t) (in-s) (S-1 ?x ?y) (S-2 ?x ?y ?z)) (:action openAndGoIn-t :precondition (not (in-t)) :effect (and (open) (in-t) (S-2 t s exam))) (:action goOutAndClose-t :precondition (and (in-t) (not (S-1 s exam))) :effect (and (not (S-2 t s exam)) (not (in-t)) (not (open)))) (:action goIn-s :precondition (and (open) (not (in-s))) :effect (in-s)) (:action goOut-s :precondition (and (open) (in-s)) :effect (not (in-s))) (:action readExam-s :precondition (in-s) :effect (S-1 s exam)) )