
Extension Name: precond.def
Primitive Lexicon: None
Defined Lexicon:
Relations:
Definitional Extensions Required by this Extension: none
Grammar: precond.bnf

(forall (?s1 ?s2) (iff (legal_equiv ?s1 ?s2)
(iff (legal ?s1)
(legal ?s2))))
Definition 2
Two activity occurrences are precondition equivalent with respect to an activity
iff the two occurrences agree on the legality of the occurrences
of the activity.
(forall (?a ?s1 ?s2) (iff (poss_equiv ?a ?s1 ?s2) (if (and (occurrence_of ?s1 ?a) (occurrence_of ?s2 ?a)) (legal_equiv ?s1 ?s2))))Definition 3 An activity is unconstrained iff all activity occurrences in the occurrence tree are precondition equivalent.
(forall (?a) (iff (unconstrained ?a) (forall (?s1 ?s2) (if (and (activity_occurrence ?s1) (activity_occurrence ?s2)) (poss_equiv ?a ?s1 ?s2)))))Definition 4 An activity ?a is partially constrained iff all occurrences of certain activities within the occurrence tree are precondition equivalent with respect to ?a.
(forall (?a) (iff (partial_constrained ?a) (and (exists (?a1) (forall (?s1 ?s2) (if (and (occurrence_of ?s1 ?a1) (occurrence_of ?s2 ?a1)) (poss_equiv ?a ?s1 ?s2)))) (exists (?a2 ?s3 ?s4) (and (occurrence_of ?s3 ?a2) (occurrence_of ?s4 ?a2) (not (poss_equiv ?a ?s3 ?s4)))))))Definition 5 An activity ?a is constrained iff every activity has occurrences that are not precondition equivalent with respect to ?a.
(forall (?a) (iff (constrained ?a) (forall (?a1) (exists (?s1 ?s2) (and (occurrence_of ?s1 ?a1) (occurrence_of ?s2 ?a1) (not (poss_equiv ?a ?s1 ?s2)))))))