(cl:comment '') (cl:comment 'PSL Core') (cl:comment '
') (cl:comment '

') (cl:comment 'PSL Core') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: psl_core.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Functions: ') (cl:comment '') (cl:comment ' Constants: ') (cl:comment '') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: None

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 The before relation only holds between timepoints. ') (cl:comment '
')
(forall (?t1 ?t2)
	(if	(before ?t1 ?t2)
		(and 	(timepoint ?t1) 
			(timepoint ?t2))))
  (cl:comment '
') (cl:comment ' Axiom 2 The before relation is a total ordering. ') (cl:comment '
')
(forall (?t1 ?t2)
	(if	(and 	(timepoint ?t1) 
			(timepoint ?t2))
		(or 	(= ?t1 ?t2) 
			(before ?t1 ?t2) 
			(before ?t2 ?t1))))
  (cl:comment '
') (cl:comment ' Axiom 3 The before relation is irreflexive. ') (cl:comment '
')
(forall (?t1)
	(not (before ?t1 ?t1)))
  (cl:comment '
') (cl:comment ' Axiom 4 The before relation is transitive. ') (cl:comment '
')
(forall (?t1 ?t2 ?t3)
	(if	(and 	(before ?t1 ?t2) 
			(before ?t2 ?t3))
		(before ?t1 ?t3)))
  (cl:comment '
') (cl:comment ' Axiom 5 The timepoint inf- is before all other timepoints. ') (cl:comment '
')
(forall (?t)
        (if	(and 	(timepoint ?t) 
			(not (= ?t inf-)))
		(before inf- ?t)))
  (cl:comment '
') (cl:comment ' Axiom 6 Every other timepoint is before inf+. ') (cl:comment '
')
(forall (?t)
        (if	(and 	(timepoint ?t) 
			(not (= ?t inf+)))
		(before ?t inf+)))
  (cl:comment '
') (cl:comment ' Axiom 7 Given any timepoint t other than inf-, there is a timepoint between') (cl:comment 'inf- and t. ') (cl:comment '
')
(forall (?t)
	(if	(and 	(timepoint ?t) 
			(not (= ?t inf-)))
		(exists (?u) 
			(between inf- ?u ?t))))
  (cl:comment '
') (cl:comment ' Axiom 8 Given any timepoint t other than inf+, there is a timepoint between') (cl:comment 't and inf+. ') (cl:comment '
')
(forall (?t)
	(if	(and 	(timepoint ?t) 
			(not (= ?t inf+)))
		(exists (?u) 
			(between ?t ?u inf+))))
  (cl:comment '
') (cl:comment ' Axiom 9 Everything is either an activity, activity occurrence, timepoint,') (cl:comment 'or object. ') (cl:comment '
')
(forall (?x)
	(or 	(activity ?x) 
		(activity_occurrence ?x) 
		(timepoint ?x) 
		(object ?x)))
  (cl:comment '
') (cl:comment ' Axiom 10 Objects, activities, activity occurrences, and timepoints are all ') (cl:comment 'distinct kinds of things. ') (cl:comment '
')
(forall (?x)
(and (if (activity ?x)
         (not (or (activity_occurrence ?x) (object ?x) (timepoint ?x))))
     (if (activity_occurrence ?x)
         (not (or (object ?x) (timepoint ?x))))
     (if (object ?x)
         (not (timepoint ?x)))))
  (cl:comment '
') (cl:comment ' Axiom 11 The occurrence relation only holds between activities and ') (cl:comment 'activity occurrences. ') (cl:comment '
')
(forall (?a ?occ)
	(if	(occurrence_of ?occ ?a)
		(and	(activity ?a)
			(activity_occurrence ?occ))))
  (cl:comment '
') (cl:comment ' Axiom 12 Every activity occurrence is the occurrence of some activity. ') (cl:comment '
')
(forall (?occ)
	(if	(activity_occurrence ?occ)
		(exists (?a)
			(and	(activity ?a)
				(occurrence_of ?occ ?a)))))
  (cl:comment '
') (cl:comment ' Axiom 13 An activity occurrence is associated with a unique activity. ') (cl:comment '
')
(forall (?occ ?a1 ?a2)
        (if	(and	(occurrence_of ?occ ?a1)
                        (occurrence_of ?occ ?a2))
		(= ?a1 ?a2)))
  (cl:comment '
') (cl:comment ' Axiom 14 The begin and end of an activity occurrence or object are timepoints.') (cl:comment '') (cl:comment '
')
(forall (?a ?x)
	(if	(or	(occurrence_of ?x ?a)
			(object ?x))
		(and 	(timepoint (beginof ?x))
         		(timepoint (endof ?x)))))
  (cl:comment '
') (cl:comment ' Axiom 15 The begin point of every activity occurrence or object is ') (cl:comment 'before or equal to its end point. ') (cl:comment '
')
(forall (?x)
	(if	(or	(activity_occurrence ?x)
			(object ?x))
		(beforeEq (beginof ?x) (endof ?x))))
  (cl:comment '
') (cl:comment ' Axiom 16 The participates_in relation only holds between objects,') (cl:comment 'activity occurrences, and timepoints, respectively. ') (cl:comment '
')
(forall (?x ?occ ?t)
	(if	(participates_in ?x ?occ ?t)
		(and 	(object ?x) 
			(activity_occurrence ?occ) 
			(timepoint ?t))))
  (cl:comment '
') (cl:comment ' Axiom 17 An object can participate in an activity occurrence only at those timepoints') (cl:comment 'at which both the object exists and the activity is occurring. ') (cl:comment '
')
(forall (?x ?occ ?t)
	(if	(participates_in ?x ?occ ?t)
		(and 	(exists_at ?x ?t)
         		(is_occurring_at ?occ ?t))))
  (cl:comment '
') (cl:comment '

Supporting Definitions

') (cl:comment ' Definition 1 Timepoint ?t2 is between timepoints ?t1 and ?t3 if and only if ?t1 is before ') (cl:comment '?t2 and ?t2 is before ?t3. ') (cl:comment '
')
(forall (?t1 ?t2 ?t3) (iff (between ?t1 ?t2 ?t3)
  (and (before ?t1 ?t2) (before ?t2 ?t3))))
  (cl:comment '
') (cl:comment ' Definition 2 Timepoint ?t1 is beforeEq timepoint ?t2 if and only if ?t1 is before or equal') (cl:comment 'to ?t2. ') (cl:comment '
')
(forall (?t1 ?t2) (iff (beforeEq ?t1 ?t2)
  (and (timepoint ?t1) (timepoint ?t2)
       (or (before ?t1 ?t2) (= ?t1 ?t2)))))
  (cl:comment '
') (cl:comment ' Definition 3 Timepoint ?t2 is betweenEq timepoints ?t1 and ?t3 if and only if ') (cl:comment '?t1 is before or equal to ?t2, and ?t2 is before or equal to ?t3. ') (cl:comment '
')
(forall (?t1 ?t2 ?t3) (iff (betweenEq ?t1 ?t2 ?t3)
  (and (beforeEq ?t1 ?t2)
       (beforeEq ?t2 ?t3))))
  (cl:comment '
') (cl:comment ' Definition 4 An object exists at a timepoint ?t if and only if ?t is betweenEq its begin') (cl:comment 'and end points. ') (cl:comment '
')
(forall (?x ?t) (iff (exists_at ?x ?t)
  (and (object ?x)
       (betweenEq (beginof ?x) ?t (endof ?x)))))
  (cl:comment '
') (cl:comment ' Definition 5 An activity is occurring at a timepoint ?t if and only if ?t ') (cl:comment 'is betweenEq the begin and end points of the activity occurrences. ') (cl:comment '
')
(forall (?occ ?t) (iff (is_occurring_at ?occ ?t)
	(betweenEq (beginof ?occ) ?t (endof ?occ))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Activity Occurrences') (cl:comment '

') (cl:comment '

Activity Occurrences

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: act_occ.th

') (cl:comment ' Primitive Lexicon: ') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '') (cl:comment ' Theories Required by this Extension: complex.th, ') (cl:comment 'occtree.th, atomic.th, subactivity.th, psl_core.th ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom ') (cl:comment '') (cl:comment 'The subactivity_occurrence relation is between activity occurrences.') (cl:comment '') (cl:comment '
')
(forall (?o1 ?o2) 
	(if	(subactivity_occurrence ?o1 ?o2)
		(and  	(activity_occurrence ?o1)
			(activity_occurrence ?o2))))
  (cl:comment '
') (cl:comment ' Axiom 1 ') (cl:comment '') (cl:comment 'There exists an occurrence of an activity ?a for every branch of an activity') (cl:comment 'tree for ?a. All atomic subactivity occurrences on the branch are subactivity') (cl:comment 'occurrences of the occurrence of ?a.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	(min_precedes ?s1 ?s2 ?a)
		(exists (?occ)
			(and	(occurrence_of ?occ ?a)
				(subactivity_occurrence ?s1 ?occ)
				(subactivity_occurrence ?s2 ?occ)))))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment '') (cl:comment 'There exists an occurrence of an activity ?a for every branch of an activity') (cl:comment 'tree for ?a. All root subactivity occurrences on the branch are subactivity') (cl:comment 'occurrences of the occurrence of ?a.') (cl:comment '') (cl:comment '
')
(forall (?a ?s)
	(if	(root ?s ?a)
		(exists (?occ)
			(and	(occurrence_of ?occ ?a)
				(subactivity_occurrence ?s ?occ)))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment '') (cl:comment 'Every occurrence of a complex activity a contains an atomic subactivity ') (cl:comment 'occurrence that is the root of an activity tree for a.') (cl:comment '') (cl:comment '
')
(forall (?occ ?a)
	(if	(and   (occurrence_of ?occ ?a)
                       (not (atomic ?a)))
		(exists (?s)
			(and	(root ?s ?a)
				(subactivity_occurrence ?s ?occ)))))
  (cl:comment '
') (cl:comment ' Axiom 4 ') (cl:comment '') (cl:comment 'Distinct occurrences of an activity correspond to distinct branches of an activity tree.') (cl:comment '') (cl:comment '
')
(forall (?a ?s1 ?occ1 ?occ2)
	(if	(and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(not (atomic ?a))
			(not (= ?occ1 ?occ2))
			(arboreal ?s1)
			(subactivity_occurrence ?s1 ?occ1)
			(subactivity_occurrence ?s1 ?occ2))
		(exists (?s2)
			(and	(min_precedes ?s1 ?s2 ?a)
				(subactivity_occurrence ?s2 ?occ1)
				(not (subactivity_occurrence ?s2 ?occ2))))))
  (cl:comment '
') (cl:comment ' Axiom 5 ') (cl:comment ' ') (cl:comment 'All atomic subactivity occurrences of a complex activity occurrence') (cl:comment 'are elements of the same branch of the activity tree.') (cl:comment '') (cl:comment '
')
(forall (?a ?occ ?s1 ?s2)
	(if	(and	(occurrence_of ?occ ?a)
			(not (atomic ?a))
			(arboreal ?s1)
			(arboreal ?s2)
			(subactivity_occurrence ?s1 ?occ)
		  	(subactivity_occurrence ?s2 ?occ))
		(or	(min_precedes ?s1 ?s2 ?a)
		  	(min_precedes ?s2 ?s1 ?a)
			(= ?s1 ?s2))))
  (cl:comment '
') (cl:comment ' Axiom 6 ') (cl:comment ' All elements of the same branch of an activity tree are atomic') (cl:comment 'subactivity occurrences of the same activity occurrences. ') (cl:comment '
')
(forall (?a ?s1 ?s2 ?occ)
	(if	(and	(min_precedes ?s1 ?s2 ?a)
			(subactivity_occurrence ?s2 ?occ))
		(subactivity_occurrence ?s1 ?occ)))
  (cl:comment '
') (cl:comment ' Axiom 7 ') (cl:comment ' The subactivity_occurrence relation preserves the subactivity relation. ') (cl:comment '
')
(forall (?a1 ?a2 ?occ1 ?occ2)
	(if	(and	(occurrence_of ?occ1 ?a1)
			(occurrence_of ?occ2 ?a2)
			(subactivity_occurrence ?occ1 ?occ2))
		(subactivity ?a1 ?a2)))
  (cl:comment '
') (cl:comment ' Axiom 8 ') (cl:comment ' The subactivity_occurrence relation is transitive. ') (cl:comment '
')
(forall (?occ1 ?occ2 ?occ3)
        (if	(and  (subactivity_occurrence ?occ1 ?occ2)
                  	(subactivity_occurrence ?occ2 ?occ3))
		(subactivity_occurrence ?occ1 ?occ3)))
  (cl:comment '
') (cl:comment ' Axiom 9 ') (cl:comment ' Occurrences of subactivities are subactivity occurrences if the') (cl:comment 'occurrences satisfy branch containment. ') (cl:comment '
')
(forall (?a1 ?a2 ?occ1 ?occ2)
        (if	(and	(occurrence_of ?occ1 ?a1)
			(occurrence_of ?occ2 ?a2)
			(subactivity ?a1 ?a2)
			(not (subactivity_occurrence ?occ1 ?occ2)))
		(exists (?s)
			(and	(subactivity_occurrence ?s ?occ2)
				(not (subactivity_occurrence ?s ?occ1))))))
  (cl:comment '
') (cl:comment ' Axiom 10 ') (cl:comment ' The beginof timepoint for a complex activity occurrence is') (cl:comment 'equal to the beginof timepoint of its root occurrence. ') (cl:comment '
')
(forall (?occ)
	(if	(activity_occurrence ?occ)
		(= (beginof ?occ) (beginof (root_occ ?occ)))))
  (cl:comment '
') (cl:comment ' Axiom 11 ') (cl:comment ' The endof timepoint for a complex activity occurrence is') (cl:comment 'equal to the endof timepoint of its leaf occurrence. ') (cl:comment '
')
(forall (?s ?occ)
	(if	(leaf_occ ?s ?occ)
		(= (endof ?occ) (endof ?s))))
  (cl:comment '
') (cl:comment ' Axiom 12 ') (cl:comment '') (cl:comment 'The mono relation is a branch homomorphism.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a)
        (if	(mono ?s1 ?s2 ?a)
		(hom ?s1 ?s2 ?a)))
  (cl:comment '
') (cl:comment ' Axiom 13 ') (cl:comment '') (cl:comment 'If an atomic subactivity occurrence is mapped in a branch homomorphism,') (cl:comment 'then there exists another atomic subactivity occurrence that is mono with it.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a)
        (if	(and	(hom ?s1 ?s2 ?a)
			(not (mono ?s1 ?s2 ?a)))
		(exists (?s3)
			(or	(and	(min_precedes ?s3 ?s2 ?a)
					(mono ?s1 ?s3 ?a))
				(and	(min_precedes ?s3 ?s1 ?a)
					(mono ?s2 ?s3 ?a))))))
  (cl:comment '
') (cl:comment ' Axiom 14 ') (cl:comment '') (cl:comment 'The mono relation is restricted to one-to-one homomorphisms between different') (cl:comment 'branches of the activity tree.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?s3 ?a)
        (if	(and	(mono ?s1 ?s2 ?a)
			(mono ?s3 ?s2 ?a))
		(not 	(or	(min_precedes ?s1 ?s3 ?a)
				(min_precedes ?s3 ?s1 ?a)))))
  (cl:comment '
') (cl:comment ' Axiom 15 ') (cl:comment '') (cl:comment 'The mono relation is symmetric on activity occurrences.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a)
    (if   (mono ?s1 ?s2 ?a)
          (mono ?s2 ?s1 ?a)))
  (cl:comment '
') (cl:comment ' Axiom 16 ') (cl:comment '') (cl:comment 'The mono relation is transitive on activity occurrences.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?s3 ?a)
    (if   (and   (mono ?s1 ?s2 ?a)
                 (mono ?s2 ?s3 ?a))
          (mono ?s1 ?s3 ?a)))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'Two activity occurrences are occurrence isomorphic iff they are occurrences of') (cl:comment 'atomic activities with a common subactivity.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (iso_occ ?s1 ?s2 ?a)
(exists (?a1 ?a2 ?a3)
        (and    (atomic ?a1)
		(atomic ?a2)
		(atomic ?a3)
		(subactivity ?a1 ?a)
		(occurrence_of ?s1 (conc ?a1 ?a2))
                (occurrence_of ?s2 (conc ?a1 ?a3))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'For every two occurrences of the same activity on different branches of an') (cl:comment 'activity tree, there exist homomorphic occurrences on those branches.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (hom ?s1 ?s2 ?a)
(exists (?occ1 ?occ2)
	(and    (iso_occ ?s1 ?s2 ?a)
		(not (min_precedes ?s1 ?s2 ?a))
		(not (min_precedes ?s2 ?s1 ?a))
		(subactivity_occurrence ?s1 ?occ1)
		(subactivity_occurrence ?s2 ?occ2)
		(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An occurrence ?occ1 is the root occurrence of an occurrence of ?a if and only if') (cl:comment 'it is a subactivity occurrence and it is the root of an activity tree for ?a.') (cl:comment '') (cl:comment '
')
(forall (?s ?occ)
(if (and (activity_occurrence ?s)
         (activity_occurrence ?occ))
(iff (= ?s (root_occ ?occ))
(exists (?a)
    (and    (occurrence_of ?occ ?a)
            (subactivity_occurrence ?s ?occ)
            (root ?s ?a))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An occurrence ?occ1 is the leaf occurrence of an occurrence of ?a if and only if') (cl:comment 'it is a subactivity occurrence and it is the leaf of an activity tree for ?a.') (cl:comment '') (cl:comment '
')
(forall (?s ?occ) (iff (leaf_occ ?s ?occ)
(exists (?a)
	(and	(occurrence_of ?occ ?a)
		(subactivity_occurrence ?s ?occ)
		(leaf ?s ?a)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' Two complex activity occurrences are in the same grove') (cl:comment 'iff they are occurrences of the same activity and their') (cl:comment 'root occurrences are siblings. ') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (same_grove ?occ1 ?occ2)
(exists (?a)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
                (or     (and    (initial (root_occ ?occ1))
                                (initial (root_occ ?occ2)))
                        (exists (?s4 ?a1 ?a2)
                                (and    (= (root_occ ?occ1) (successor ?a1 ?s4))
                                        (= (root_occ ?occ2) (successor ?a2 ?s4)))))))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Complex Activity Occurrences') (cl:comment '

Complex Activity Occurrences

') (cl:comment 'Within the Complex Activity Theory, ') (cl:comment 'complex activity occurrences correspond to activity trees, and') (cl:comment 'consequently occurrences of complex activities are not elements of the') (cl:comment 'legal occurrence tree. The axioms of the Activity Occurrences core theory') (cl:comment 'ensure that complex activity occurrences correspond to branches of activity trees.') (cl:comment 'Each complex activity occurrence has a unique atomic root occurrence and each finite') (cl:comment 'complex activity occurrence has a unique atomic leaf occurrence.') (cl:comment 'A subactivity occurrence corresponds to a sub-branch of the branch corresponding') (cl:comment 'to the complex activity occurrence.') (cl:comment '

') (cl:comment '

') (cl:comment '


') (cl:comment '

Informal Semantics for Activity Occurrences

') (cl:comment '

') (cl:comment '(subactivity_occurrence ?occ1 ?occ2) ') (cl:comment ' is TRUE in an interpretation of the Activity Occurrence Theory if and only if the branch corresponding to the activity occurrence ?occ1 is a subset of the branch corresponding to activity occurrence ?occ2.') (cl:comment '

') (cl:comment '(root_occ ?occ1 ?occ2) ') (cl:comment ' is TRUE in an interpretation of the Activity Occurrence Theory if and only if activity occurrence ?occ1 is the root occurrence in the branch of the activity tree for ?a corresponding to the activity occurrence ?occ2.') (cl:comment '

') (cl:comment '(leaf_occ ?occ1 ?occ2) ') (cl:comment ' is TRUE in an interpretation of the Activity Occurrence Theory if and only if activity occurrence ?occ1 is the leaf occurrence in the branch of the activity tree for ?a corresponding to the activity occurrence ?occ2.') (cl:comment '

') (cl:comment ' (iso_occ ?occ1 ?occ2 ?a) ') (cl:comment 'is TRUE in an interpretation of the Activity Occurrence Theory if and only if both ?occ1 and ?occ2 are occurrences of an atomic activity that contain a common subactivity.') (cl:comment '

') (cl:comment '(same_grove ?occ1 ?occ2) ') (cl:comment 'is TRUE in an interpretation of the Activity Occurrence Theory if and only if activity occurrences ?occ1 and ?occ2 of ?a correspond to branches in the same activity tree for ?a.') (cl:comment '

') (cl:comment '(mono ?s1 ?s2 ?a) ') (cl:comment 'is TRUE in an interpretation of the Activity Occurrence Theory if and only if ') (cl:comment 'there is a one-to-one mapping between branches of an activity tree for ?a that') (cl:comment 'maps the atomic subactivity occurrence ?s1 to the atomic subactivity occurrence') (cl:comment '?s2.') (cl:comment '

') (cl:comment '(hom ?s1 ?s2 ?a) ') (cl:comment 'is TRUE in an interpretation of the Activity Occurrence Theory if and only if ') (cl:comment 'there is a mapping between branches of an activity tree for ?a that') (cl:comment 'maps the atomic subactivity occurrence ?s1 to the atomic subactivity occurrence') (cl:comment '?s2.') (cl:comment '

') (cl:comment '


') (cl:comment '

Axioms of Activity Occurrence Theory

') (cl:comment '

') (cl:comment '


') (cl:comment '

') (cl:comment 'Last Updated: Wednesday, 15-December-2003 11:42:40

') (cl:comment 'Return to the PSL homepage') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Atomic Activities') (cl:comment '
') (cl:comment '

Theory of Atomic Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: atomic.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Functions: ') (cl:comment '') (cl:comment ' Defined Lexicon: None

') (cl:comment ' Theories Required by this Extension: occtree.th,subactivity.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 Primitive activities are atomic. ') (cl:comment '
')
(forall (?a)
	(if	(primitive ?a)
		(atomic ?a)))
  (cl:comment '
') (cl:comment ' Axiom 2 The function conc is idempotent. ') (cl:comment '
')
(forall (?a)
	(= ?a (conc ?a ?a)))
  (cl:comment '
') (cl:comment ' Axiom 3 The function conc is commutative. ') (cl:comment '
')
(forall (?a1 ?a2)
	(= (conc ?a1 ?a2) (conc ?a2 ?a1)))
  (cl:comment '
') (cl:comment ' Axiom 4 The function conc is associative. ') (cl:comment '
')
(forall (?a1 ?a2 ?a3)
	(= (conc ?a1 (conc ?a2 ?a3)) (conc (conc ?a1 ?a2) ?a3)))
  (cl:comment '
') (cl:comment ' Axiom 5 The concurrent aggregation of atomic action is an atomic action.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2)
	(iff	(atomic (conc ?a1 ?a2))
		(and	(atomic ?a1)
			(atomic ?a2))))
  (cl:comment '
') (cl:comment ' Axiom 6 An atomic activity ?a1 is a subactivity of an atomic activity ?a2 if and only if') (cl:comment '?a2 is an idempotent for ?a1. ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(and	(atomic ?a1)
			(atomic ?a2))
		(iff	(subactivity ?a1 ?a2)
			(= ?a2 (conc ?a1 ?a2)))))
  (cl:comment '
') (cl:comment ' Axiom 7 An atomic action has a proper subactivity if and only if there exists another atomic ') (cl:comment 'activity which can be concurrently aggregated. ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(and	(atomic ?a2)
		  	(subactivity ?a1 ?a2)
			(not (= ?a1 ?a2)))
		(exists (?a3)
			(and	(atomic ?a3)
				(= ?a2 (conc ?a1 ?a3))
				(not (exists (?a4)
					(and	(atomic ?a4)
						(subactivity ?a4 ?a1)
						(subactivity ?a4 ?a3))))))))
  (cl:comment '
') (cl:comment ' Axiom 8 The semilattice of atomic activities is distributive. ') (cl:comment '
')
(forall (?a ?b0 ?b1)
	(if	(and	(atomic ?a)
			(atomic ?b0)
			(atomic ?b1)
			(subactivity ?a (conc ?b0 ?b1))
			(not (primitive ?a)))
		(exists (?a0 ?a1)
			(and	(subactivity ?a0 ?a)
				(subactivity ?a1 ?a)
				(= ?a (conc ?a0 ?a1))))))
  (cl:comment '
') (cl:comment ' Axiom 9 ') (cl:comment ' Only atomic activities can be generator activities.') (cl:comment 'Equivalently, only occurrences of atomic activities can be') (cl:comment 'elements of an occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?a)
	(if	(generator ?a)
		(atomic ?a)))
  (cl:comment '
') (cl:comment ' Axiom 10 ') (cl:comment ' Atomic activities are activities.') (cl:comment '') (cl:comment '
')
(forall (?a)
	(if	(atomic ?a)
		(activity ?a)))

  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Atomic Activity Theory') (cl:comment '

Atomic Activity Theory

') (cl:comment 'The core theory of Atomic Activities provides axioms for intuitions about the ') (cl:comment 'concurrent aggregation of primitive activities. ') (cl:comment '

') (cl:comment 'Although the Subactivity Theory can represent arbitrary composition of activities,') (cl:comment 'the composition of atomic activities is restricted to concurrency;') (cl:comment 'to represent complex, or nonatomic, activities requires the Complex Activity Theory.') (cl:comment '

') (cl:comment 'The basic ontological commitments of the Atomic Activity Theory are based on the ') (cl:comment 'following intuitions:') (cl:comment '

') (cl:comment ' Intuition 1:') (cl:comment '

') (cl:comment ' ') (cl:comment 'Concurrency is represented by the occurrence of one concurrent activity') (cl:comment 'rather than multiple concurrent occurrences.') (cl:comment '') (cl:comment '

') (cl:comment 'Since concurrent activities may have preconditions and effects that are not') (cl:comment 'the conjunction of the preconditions and effects of their activities,') (cl:comment 'this core theory takes the following approach:') (cl:comment '

') (cl:comment ' Intuition 2:') (cl:comment '

') (cl:comment ' ') (cl:comment 'Every concurrent activity is equivalent to the composition of a set of') (cl:comment 'primitive activities.') (cl:comment '') (cl:comment '

') (cl:comment 'Atomic activities are either primitive or concurrent (in which case they') (cl:comment 'have proper subactivities).') (cl:comment 'The Atomic Activities core theory introduces the function conc that') (cl:comment 'maps any two atomic activities to the activity that is their concurrent composition.') (cl:comment 'Essentially, what we call an atomic activity corresponds to some set of primitive') (cl:comment 'activities.') (cl:comment '

') (cl:comment '


') (cl:comment '

Informal Semantics for the Atomic Activity Theory

') (cl:comment '

') (cl:comment '(atomic ?a) is TRUE in an interpretation of the Atomic Activity ') (cl:comment 'Theory if and only if either ?a is primitive or it is the concurrent superposition ') (cl:comment 'of a set of primitive activities.') (cl:comment '

') (cl:comment '(= ?a (conc ?a1 ?a2)) is TRUE in an interpretation of the ') (cl:comment 'Atomic Activity Theory if and only if') (cl:comment '?a3 is the atomic activity that is the concurrent superposition of the two atomic ') (cl:comment 'activities ?a1 and ?a2.') (cl:comment '

') (cl:comment '(primitive ?a) is TRUE in an interpretation of the Atomic Activity ') (cl:comment 'if and only if ?a has no proper subactivities.') (cl:comment '

') (cl:comment '


') (cl:comment '

Axioms of Atomic Activity Theory

') (cl:comment '

') (cl:comment '


') (cl:comment '

') (cl:comment 'Last Updated: Wednesday, 15-December-2003 11:42:40

') (cl:comment 'Return to the PSL homepage') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Theory of Complex Activities') (cl:comment '
') (cl:comment '

Theory of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: complex.th

') (cl:comment ' Primitive Lexicon: ') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '') (cl:comment ' Theories Required by this Extension: occtree.th, atomic.th, subactivity.th,') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 ') (cl:comment ' Occurrences in the activity tree for an activity correspond to atomic subactivity') (cl:comment 'occurrences of the activity. ') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	(min_precedes ?s1 ?s2 ?a)
		(exists (?a1 ?a2)
			(and	(subactivity ?a1 ?a)
				(atomic ?a2)
				(subactivity ?a1 ?a2)
				(occurrence_of ?s1 ?a2)))))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment ' Occurrences in the activity tree for an activity correspond to atomic subactivity') (cl:comment 'occurrences of the activity. ') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	(min_precedes ?s1 ?s2 ?a)
		(exists (?a2 ?a3)
			(and	(subactivity ?a2 ?a)
				(atomic ?a3)
				(subactivity ?a2 ?a3)
				(occurrence_of ?s2 ?a3)))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment ' Root occurrences in the activity tree correspond to atomic subactivity') (cl:comment 'occurrences of the activity. ') (cl:comment '
')
(forall (?a ?s)
	(if	(root ?s ?a)
		(exists (?a2 ?a3)
			(and	(subactivity ?a2 ?a3)
				(atomic ?a3)
				(subactivity ?a2 ?a)
				(occurrence_of ?s ?a3)))))
  (cl:comment '
') (cl:comment ' Axiom 4 ') (cl:comment ' All activity trees have a root subactivity occurrence. ') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	(min_precedes ?s1 ?s2 ?a)
		(exists (?s3)
			(and	(root ?s3 ?a)
				(or	(min_precedes ?s3 ?s1 ?a)
					(= ?s3 ?s1))))))
  (cl:comment '
') (cl:comment ' Axiom 5 ') (cl:comment ' No subactivity occurrences in an activity tree occur earlier than ') (cl:comment 'the root subactivity occurrence. ') (cl:comment '
')
(forall (?s ?a)
	(if	(root ?s ?a)
		(not (exists (?s2)
			(and	(activity_occurrence ?s2)
				(min_precedes ?s2 ?s ?a))))))
  (cl:comment '
') (cl:comment ' Axiom 6 ') (cl:comment ' An activity tree is a subtree of the occurrence tree. ') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	(min_precedes ?s1 ?s2 ?a)
		(precedes ?s1 ?s2)))
  (cl:comment '
') (cl:comment ' Axiom 7 ') (cl:comment ' Root occurrences are elements of the occurrence tree. ') (cl:comment '
')
(forall (?s ?a)
	(if	(root ?s ?a)
		(legal ?s)))
  (cl:comment '
') (cl:comment ' Axiom 8 ') (cl:comment ' Every legal atomic activity occurrence is an activity tree containing only') (cl:comment 'one occurrence. ') (cl:comment '
')
(forall (?a1 ?a2 ?s)
        (if	(and    (atomic ?a1)
                        (occurrence_of ?s ?a1)
                        (legal ?s)
			(subactivity ?a2 ?a1))
		(root ?s ?a2)))
  (cl:comment '
') (cl:comment ' Axiom 9 ') (cl:comment ' Activity trees are discrete. ') (cl:comment '
')
(forall (?a ?s1 ?s2)
	(if	(min_precedes ?s1 ?s2 ?a)
		(exists (?s3)
			(and	(next_subocc ?s1 ?s3 ?a)
				(or	(min_precedes ?s3 ?s2 ?a)
					(= ?s3 ?s2))))))
  (cl:comment '
') (cl:comment ' Axiom 10 ') (cl:comment ' Subactivity occurrences on the same branch of the occurrence tree are') (cl:comment 'on the same branch of the activity tree. ') (cl:comment '
')
(forall (?a ?s1 ?s2 ?s3)
	(if	(and	(min_precedes ?s1 ?s2 ?a)
			(min_precedes ?s1 ?s3 ?a)
			(precedes ?s2 ?s3))
		(min_precedes ?s2 ?s3 ?a)))
  (cl:comment '
') (cl:comment ' Axiom 11 ') (cl:comment ' The activity tree for a complex subactivity occurrence') (cl:comment 'is a subtree of the activity tree for the activity occurrence. ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(subactivity ?a1 ?a2)
		(not (exists (?s)
			(and	(activity_occurrence ?s)
				(subtree ?s ?a2 ?a1))))))
  (cl:comment '
') (cl:comment ' Axiom 12 ') (cl:comment ' Only complex activities can be arguments to the min_precedes relation. ') (cl:comment '
')
(forall (?s1 ?s2 ?a)
        (if	(min_precedes ?s1 ?s2 ?a)
                (not (atomic ?a))))
  (cl:comment '
') (cl:comment ' Axiom 13 ') (cl:comment ' Subactivity occurrences on the same branch of the activity tree are linearly ordered by the min_precedes relation. ') (cl:comment '
')
(forall (?a ?s1 ?s2 ?s3)
	(if	(and	(min_precedes ?s2 ?s1 ?a)
			(min_precedes ?s3 ?s1 ?a)
			(precedes ?s2 ?s3))
		(min_precedes ?s2 ?s3 ?a)))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An occurrence is the leaf of an activity tree if and only if there exists an earlier') (cl:comment 'atomic subactivity occurrence but there does not exist a later atomic ') (cl:comment 'subactivity occurrence. ') (cl:comment '
')
(forall (?s ?a) (iff (leaf ?s ?a)
(exists (?s1)
	(and	(arboreal ?s1)
		(or	(root ?s ?a)
			(min_precedes ?s1 ?s ?a))
		(not (exists (?s2)
			(min_precedes ?s ?s2 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' The do relation specifies the initial and final atomic subactivity occurrences') (cl:comment 'of an occurrence of an activity. ') (cl:comment '
')
(forall (?a ?s1 ?s2) (iff (do ?a ?s1 ?s2)
(and	(root ?s1 ?a)
	(leaf ?s2 ?a)
	(or	(min_precedes ?s1 ?s2 ?a)
		(= ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity occurrence ?s2 is the next subactivity occurrence after ?s1') (cl:comment 'in an activity tree for ?a if and only of ?s1 precedes ?s2') (cl:comment 'in the tree and there does not exist a subactivity occurrence that is between') (cl:comment 'them in the tree. ') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (next_subocc ?s1 ?s2 ?a)
(and    (min_precedes ?s1 ?s2 ?a)
        (not (exists (?s3)
                (and    (activity_occurrence ?s3)
			(min_precedes ?s1 ?s3 ?a)
                        (min_precedes ?s3 ?s2 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' The activity tree for ?a1 with root occurrence ?s1') (cl:comment 'contains an activity tree for ?a2 as a subtree if and only if') (cl:comment 'every atomic subactivity occurrence in the activity tree for ?a2') (cl:comment 'is an element of the activity tree for ?a1, and there is an atomic subactivity') (cl:comment 'occurrence in the activity tree for ?a1 that is not in the activity tree for ?a2.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?a1 ?a2) (iff (subtree ?s1 ?a1 ?a2)
    (and  (root ?s1 ?a1)
          (exists (?s2 ?s3)
             (and    (root ?s2 ?a2)
                     (min_precedes ?s1 ?s2 ?a1)
                     (min_precedes ?s1 ?s3 ?a1)
                     (not (min_precedes ?s2 ?s3 ?a2)))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' ') (cl:comment 'The atomic subactivity occurrences ?s1 and ?s2 are siblings') (cl:comment 'in an activity tree for ?a iff they either have a common') (cl:comment 'predecessor in the activity tree or they are both roots of') (cl:comment 'activity trees that have a common predecessor in the occurrence') (cl:comment 'tree.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (sibling ?s1 ?s2 ?a)
(or	(exists (?s3)
		(and	(next_subocc ?s3 ?s1 ?a)
			(next_subocc ?s3 ?s2 ?a)))
	(and	(root ?s1 ?a)
		(root ?s2 ?a)
		(or	(and	(initial ?s1)
				(initial ?s2))
			(exists (?s4 ?a1 ?a2)
				(and	(= ?s1 (successor ?a1 ?s4))
					(= ?s2 (successor ?a2 ?s4)))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Complex Activities') (cl:comment '

Complex Activities

') (cl:comment 'This core theory provides the foundation for representing and reasoning about ') (cl:comment 'complex activities and the relationship between occurrences of an activity and ') (cl:comment 'occurrences of its subactivities.') (cl:comment 'Occurrences of complex activities correspond to sets of occurrences of') (cl:comment 'subactivities; in particular, these sets are subtrees of the occurrence tree.') (cl:comment '

') (cl:comment '

') (cl:comment 'The basic ontological commitments of the Complex Activities Theory are based on the ') (cl:comment 'following intuitions:') (cl:comment '

') (cl:comment ' Intuition 1:') (cl:comment '

') (cl:comment ' ') (cl:comment 'An activity tree consists of all possible sequences') (cl:comment 'of atomic subactivity occurrences beginning from a root subactivity occurrence.') (cl:comment '') (cl:comment '

') (cl:comment 'In a sense, activity trees are a microcosm of the occurrence tree, in which') (cl:comment 'we consider all of the ways in which the world unfolds in the context of') (cl:comment 'an occurrence of the complex activity.') (cl:comment '

') (cl:comment 'Any activity tree is actually') (cl:comment 'isomorphic to multiple copies of a minimal activity tree arising from the fact ') (cl:comment 'that other external activities may be occurring during the complex activity.') (cl:comment '

') (cl:comment ' Intuition 2:') (cl:comment '

') (cl:comment ' ') (cl:comment 'Different subactivities may occur on different branches of the activity tree i.e.') (cl:comment 'different occurrences of an activity may have different subactivity occurrences') (cl:comment 'or different orderings on the same subactivity occurrences.') (cl:comment '') (cl:comment '

') (cl:comment 'In this sense, branches of the activity tree characterize the nondeterminism that') (cl:comment 'arises from different ordering constraints or iteration.') (cl:comment '

') (cl:comment ' Intuition 3:') (cl:comment '

') (cl:comment ' ') (cl:comment 'An activity will in general have multiple activity trees within an occurrence') (cl:comment 'tree, and not all activity trees for an activity need be isomorphic.') (cl:comment 'Different activity trees for the same activity can have different subactivity ') (cl:comment 'occurrences.') (cl:comment '') (cl:comment '

') (cl:comment 'Following this intuition,') (cl:comment 'the Complex Activities Theory does not constrain which subactivities occur.') (cl:comment 'For example, conditional activities are characterized by cases in which the state') (cl:comment 'that holds prior to the activity occurrence determines which subactivities occur.') (cl:comment 'In fact, an activity may have subactivities that do not occur; the only constraint') (cl:comment 'is that any subactivity occurrence must correspond to a subtree of the activity tree') (cl:comment 'that characterizes the occurrence of the activity.') (cl:comment '

') (cl:comment ' Intuition 4:') (cl:comment '

') (cl:comment ' ') (cl:comment 'Not every occurrence of a subactivity is a subactivity occurrence. There may') (cl:comment 'be other external activities that occur during an occurrence of an activity.') (cl:comment '') (cl:comment '

') (cl:comment 'This theory does not force the existence of complex activities;') (cl:comment 'there may be subtrees of the occurrence tree that contain occurrences of subactivities,') (cl:comment 'yet not be activity trees.') (cl:comment 'This allows for the existence of activity attempts, intended effects, and temporal') (cl:comment 'constraints; subtrees that do not satisfy the desired constraints will simply not') (cl:comment 'correspond to activity trees for the activity.') (cl:comment '

') (cl:comment '


') (cl:comment '

Informal Semantics for Complex Activities

') (cl:comment '

') (cl:comment '(min_precedes ?s1 ?s2 ?a) is TRUE in an interpretation of the ') (cl:comment 'Complex Activity Theory if and only if ?s1 and ?s2 are subactivity occurrences ') (cl:comment 'in the activity tree for ?a, and ?s1 precedes ?s2 in the subtree. ') (cl:comment 'Any occurrence of an activity ?a corresponds to an activity tree (which is a subtree') (cl:comment 'of the occurrence tree). The activity occurrences within this subtree are the ') (cl:comment 'subactivity occurrences of the occurrence of ?a.') (cl:comment '

') (cl:comment '(root ?s ?a) is TRUE in an interpretation of the Complex Activity ') (cl:comment 'Theory if and only if the activity occurrence ?s is the root of an activity tree for ?a.') (cl:comment '

') (cl:comment ' (subtree ?a1 ?a2) ?occ2) is TRUE in an interpretation of the Complex ') (cl:comment 'Activity Theory if and only if every atomic subactivity occurrence in the activity ') (cl:comment 'tree for ?a1 is an element of the activity tree for ?a2.') (cl:comment '

') (cl:comment '(do ?a ?s1 ?s2) is TRUE in an interpretation of the Complex ') (cl:comment 'Activity Theory if and only if ?s1 is the root of an activity tree and ?s2 ') (cl:comment 'is a leaf of the same activity tree such that both activity occurrences are ') (cl:comment 'elements of the same branch of the activity tree.') (cl:comment '

') (cl:comment '(leaf ?s ?a) is TRUE in an interpretation of the Complex Activity ') (cl:comment 'Theory if and only if the activity occurrence ?s is the leaf of an activity tree for ?a.') (cl:comment '

') (cl:comment '(next_subocc ?s1 ?s2 ?a) is TRUE in an interpretation of the ') (cl:comment 'Complex Activity Theory if and only if ?s1 precedes ?s2 in the tree and there does ') (cl:comment 'not exist a subactivity occurrence that is between them in the tree.') (cl:comment '

') (cl:comment '


') (cl:comment '

Axioms of Complex Activities

') (cl:comment '

') (cl:comment '


') (cl:comment '

') (cl:comment 'Last Updated: Wednesday, 15-December-2003 11:42:40

') (cl:comment 'Return to the PSL homepage') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Discrete States') (cl:comment '
') (cl:comment '

') (cl:comment 'Discrete States') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: disc_state.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Defined Lexicon: none') (cl:comment '

') (cl:comment ' Theories Required by this Extension: occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 States are objects. ') (cl:comment '
')
(forall (?f)
	(if	(state ?f)
		(object ?f)))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment ' The holds relation is only between states and arboreal ctivity occurrences.') (cl:comment 'Intuitively, it means that the fluent (property of the world) is true after') (cl:comment 'the activity occurrence ?occ. ') (cl:comment '
')
(forall (?f ?occ)
	(if	(holds ?f ?occ)
		(and	(state ?f)
			(arboreal ?occ))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment ' The prior relation is only between states and arboreal activity occurrences.') (cl:comment 'Intuitively, it means that the fluent (property of the world) is true before') (cl:comment 'the activity occurrence ?occ. ') (cl:comment '
')
(forall (?f ?occ)
	(if	(prior ?f ?occ)
		(and	(state ?f)
			(arboreal ?occ))))
  (cl:comment '
') (cl:comment ' Axiom 4 ') (cl:comment ' All initial occurrences agree on the states that hold prior to them. ') (cl:comment '
')
(forall (?occ1 ?occ2 ?f)
	(if	(and	(initial ?occ1)
			(initial ?occ2))
		(iff	(prior ?f ?occ1)
			(prior ?f ?occ2))))
  (cl:comment '
') (cl:comment ' Axiom 5 ') (cl:comment ' A state holds after an arboreal activity occurrence if and only if it ') (cl:comment 'holds prior to the successor occurrence. ') (cl:comment '
')
(forall (?f ?a ?occ)
        (iff    (prior ?f (successor ?a ?occ))
                (and    (holds ?f ?occ)
                        (generator ?a))))
  (cl:comment '
') (cl:comment ' Axiom 6 ') (cl:comment ' If a fluent holds after some activity occurrence, then there exists') (cl:comment 'an earliest activity occurrence along the branch where the fluent holds.') (cl:comment '') (cl:comment '
')
(forall (?occ1 ?f)
	(if	(holds ?f ?occ1)
		(exists (?occ2)
			(and	(earlierEq ?occ2 ?occ1)
				(holds ?f ?occ2)
				(or	(initial ?occ2)
					(not (prior ?f ?occ2)))
				(forall (?occ3)
					(if	(and	(earlier ?occ2 ?occ3)
							(earlier ?occ3 ?occ1))
						(holds ?f ?occ3)))))))
  (cl:comment '
') (cl:comment ' Axiom 7 ') (cl:comment ' If a fluent does not hold after some activity occurrence, then there exists') (cl:comment 'an earliest activity occurrence along the branch where the fluent does not hold.') (cl:comment '') (cl:comment '
')
(forall (?occ1 ?f)
	(if	(and	(state ?f)
			(arboreal ?occ1)
			(not (holds ?f ?occ1)))
		(exists (?occ2)
			(and	(earlierEq ?occ2 ?occ1)
				(not (holds ?f ?occ2))
				(or	(initial ?occ2)
					(prior ?f ?occ2))
				(not (exists (?occ3)
					(and	(earlier ?occ2 ?occ3)
						(earlier ?occ3 ?occ1)
						(holds ?f ?occ3))))))))
  (cl:comment '
') (cl:comment 'Axiom 8') (cl:comment '') (cl:comment 'If a fluent holds, there exists an earliest activity occurrence where it') (cl:comment 'holds.') (cl:comment '') (cl:comment '
')
(forall (?f ?s1)
	(if	(holds ?f ?s1)
		(exists (?s2)
			(and	(holds ?f ?s2)
				(earlierEq ?s2 ?s1)
				(forall (?s3)
					(if	(holds ?f ?s3)
						(not (earlier ?s3 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Discrete State') (cl:comment '

Discrete State

') (cl:comment 'Most applications of process ontologies are used to represent dynamic behaviour') (cl:comment 'in the world so that intelligent agents may make predictions about the future and') (cl:comment 'explanations about the past. In particular, these predictions and explanations') (cl:comment 'are often concerned with the state of the world and how that state changes.') (cl:comment 'The Discrete State core theory is intended to capture the basic intuitions') (cl:comment 'about states and their relationship to activities.') (cl:comment '

') (cl:comment 'The definitional extensions of this theory') (cl:comment 'use different constraints on possible activity occurrences') (cl:comment 'as a way of classifying activities with respect to preconditions and effects.') (cl:comment '

') (cl:comment 'The basic ontological commitments of the Discrete State Theory are based on the ') (cl:comment 'following intuitions:') (cl:comment '

') (cl:comment ' Intuition 1:') (cl:comment '

') (cl:comment ' ') (cl:comment 'State is changed by the occurrence of activities.') (cl:comment '') (cl:comment '

') (cl:comment 'Intuitively, a change in state is captured by a state that') (cl:comment 'is either achieved or falsified by an activity occurrence.') (cl:comment 'We therefore need a relation that specifies the state that is') (cl:comment 'intuitively true prior to an activity occurrence and also a') (cl:comment 'relation that specifies the state that is') (cl:comment 'intuitively true after an activity occurrence.') (cl:comment '

') (cl:comment ' Intuition 2:') (cl:comment '

') (cl:comment ' ') (cl:comment 'State can only be changed by the occurrence of activities.') (cl:comment '') (cl:comment '

') (cl:comment 'Thus, if some state holds after an activity occurrence,') (cl:comment 'but after an activity occurrence later along the branch it is false,') (cl:comment 'then an activity must occur at some point between that changes the state.') (cl:comment 'This also leads to the requirement') (cl:comment 'that the state holding after an activity occurrence will be the same') (cl:comment 'state holding prior to any immediately succeeding occurrence, since') (cl:comment 'there cannot be an activity occurring between the two by definition.') (cl:comment '

') (cl:comment ' Intuition 3:') (cl:comment '

') (cl:comment ' ') (cl:comment 'State does not change during the occurrence of an activity in the') (cl:comment 'occurrence tree.') (cl:comment '') (cl:comment '

') (cl:comment 'The Discrete State Theory cannot represent phenomena in which') (cl:comment 'some feature of the world is changing as some continuous function of') (cl:comment 'time (hence the name "Discrete State" for the extension).') (cl:comment 'State can change during an activity occurrence only if the activity is complex.') (cl:comment '

') (cl:comment '


') (cl:comment '

Informal Semantics for Occurrence Trees

') (cl:comment '

') (cl:comment '(state ?f) is TRUE in an interpretation of the Discrete State Theory ') (cl:comment 'if and only if ?f is a member of the set of states in the universe of discourse of ') (cl:comment 'the interpretation. States are a subcategory of object.') (cl:comment 'They intuitively represent properties and relationships in the domain that can change ') (cl:comment 'as the result of the occurrence of activities.') (cl:comment '

') (cl:comment '(holds ?f ?occ) is TRUE in an interpretation of the Discrete ') (cl:comment 'State Theory if and only if the state ?f is true after the activity occurrence ?occ.') (cl:comment '

') (cl:comment '(prior ?f ?occ) is TRUE in an interpretation of the Discrete State ') (cl:comment 'Theory if and only if the state ?f is true prior to the activity occurrence ?occ.') (cl:comment '

') (cl:comment '

') (cl:comment '


') (cl:comment '

Axioms of Discrete State

') (cl:comment '

') (cl:comment '


') (cl:comment '

') (cl:comment 'Last Updated: Wednesday, 15-December-2003 11:42:40

') (cl:comment 'Return to the PSL homepage') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Occurrence Trees') (cl:comment '
') (cl:comment '

') (cl:comment 'Occurrence Trees') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: occtree.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Functions: ') (cl:comment '') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment '

') (cl:comment ' Theories Required by this Extension: psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 The earlier relation is restricted to ') (cl:comment 'arboreal activity occurrences (that is, activity occurrences that') (cl:comment 'are elements of the occurrence tree). ') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2)
	(if	(earlier ?s1 ?s2)
		(and	(arboreal ?s1)
			(arboreal ?s2))))
  (cl:comment '
') (cl:comment ' Axiom 2 The ordering relation over occurrences is irreflexive. ') (cl:comment '
')
(forall (?s1 ?s2)
	(if	(earlier ?s1 ?s2)
		(not (earlier ?s2 ?s1))))
  (cl:comment '
') (cl:comment ' Axiom 3 The ordering relation over occurrences is transitive. ') (cl:comment '
')
(forall (?s1 ?s2 ?s3)
	(if	(and	(earlier ?s1 ?s2)
			(earlier ?s2 ?s3))
		(earlier ?s1 ?s3)))
  (cl:comment '
') (cl:comment ' Axiom 4 A branch in the occurrence tree is totally ordered. ') (cl:comment '
')
(forall (?s1 ?s2 ?s3)
	(if	(and	(earlier ?s1 ?s2)
			(earlier ?s3 ?s2))
		(or	(earlier ?s1 ?s3)
			(earlier ?s3 ?s1)
			(= ?s3 ?s1))))
  (cl:comment '
') (cl:comment ' Axiom 5 No occurrence in the occurrence tree is earlier than an initial occurrence. ') (cl:comment '
')
(forall (?s)
	(iff	(initial ?s)
		(and	(arboreal ?s)
			(not (exists (?sp)
				(earlier ?sp ?s))))))
  (cl:comment '
') (cl:comment ' Axiom 6 Every branch of the occurrence tree has an initial occurrence. ') (cl:comment '
')
(forall (?s1 ?s2)
	(if	(earlier ?s1 ?s2)
		(exists (?sp)
			(and	(initial ?sp)
				(earlierEq ?sp ?s1)))))
  (cl:comment '
') (cl:comment ' Axiom 7 There is an initial occurrence of each activity. ') (cl:comment '
')
(forall (?s ?a)
        (if	(occurrence_of ?s ?a)
		(iff	(arboreal ?s)
			(generator ?a))))
  (cl:comment '
') (cl:comment ' Axiom 8 ') (cl:comment ' No two initial activity occurrences in the occurrence tree are occurrences') (cl:comment 'of the same activity. ') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	(and	(initial ?s1)
			(initial ?s2)
			(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a))
		(= ?s1 ?s2)))
  (cl:comment '
') (cl:comment ' Axiom 9 The successor of an arboreal activity occurrence is an occurrence of a generator activity. ') (cl:comment '
')
(forall (?a ?o)
        (iff    (occurrence_of (successor ?a ?o) ?a)
                (and    (generator ?a)
                        (arboreal ?o))))
  (cl:comment '
') (cl:comment ' Axiom 10 Every non-initial activity occurrence is the successor of ') (cl:comment 'another activity occurrence. ') (cl:comment '
')
(forall (?s1 ?s2)
        (if	(earlier ?s1 ?s2)
		(exists (?a ?s3)
                        (and    (generator ?a)
                                (= ?s2 (successor ?a ?s3))))))
  (cl:comment '
') (cl:comment ' Axiom 11 An occurrence ?s1 is earlier than the successor occurrence ') (cl:comment 'of ?s2 if and only if the occurrence ?s2 is later than ?s1. ') (cl:comment '
')
(forall (?a ?s1 ?s2)
        (if	(generator ?a)
		(iff	(earlier ?s1 (successor ?a ?s2))
			(earlierEq ?s1 ?s2))))
  (cl:comment '
') (cl:comment ' Axiom 12 The legal relation restricts arboreal activity occurrences. ') (cl:comment '
')
(forall (?s)
	(if	(legal ?s)
		(arboreal ?s)))
  (cl:comment '
') (cl:comment ' Axiom 13 If an activity occurrence is legal, all earlier activity') (cl:comment 'occurrences in the occurrence tree are also legal. ') (cl:comment '
')
(forall (?s1 ?s2)
	(if	(and	(legal ?s1)
			(earlier ?s2 ?s1))
		(legal ?s2)))
  (cl:comment '
') (cl:comment ' Axiom 14 The endof an activity occurrence is before to the beginof ') (cl:comment 'the successor of the activity occurrence. ') (cl:comment '
')
(forall (?s1 ?s2)
	(if	(earlier ?s1 ?s2)
		(before (endof ?s1) (beginof ?s2))))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity occurrence ?s1 precedes another activity occurrence ?s2 ') (cl:comment 'if and only if ?s1 is earlier than ?s2 in the occurrence tree and ?s2 is legal. ') (cl:comment '
')
(forall (?s1 ?s2) (iff (precedes ?s1 ?s2)
(and	(earlier ?s1 ?s2)
	(legal ?s2))))
  (cl:comment '
') (cl:comment ' Definition 2 An activity occurrence ?s1 is EarlierEq than') (cl:comment 'an activity occurrence ?s2 if and only if it is either earlier than') (cl:comment '?s2 or it is equal to ?s2. ') (cl:comment '
')
(forall (?s1 ?s2) (iff (earlierEq ?s1 ?s2)
(and	(arboreal ?s1)
	(arboreal ?s2)
	(or	(earlier ?s1 ?s2)
		(= ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An activity is poss at some occurrence if and only if the successor') (cl:comment 'occurrence of the activity is legal.') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (poss ?a ?s)
(legal (successor ?a ?s))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment '') (cl:comment 'An activity is a generator iff it has an initial occurrence in the') (cl:comment 'occurrence tree.') (cl:comment '') (cl:comment ' ;;
')
(forall (?a) (iff  (generator ?a)
(exists (?s)
        (and    (initial ?s)
                (occurrence_of ?s ?a)))))
  (cl:comment '  ;; 
') (cl:comment ' Definition 5 ') (cl:comment '') (cl:comment 'An activity occurrence is arboreal iff it is an element of an occurrence tree.') (cl:comment '') (cl:comment ' ;;
')
(forall (?s) (iff  (arboreal ?s)
(exists (?sp)
        (earlier ?s ?sp))))
  (cl:comment '  ;; 
') (cl:comment '

') (cl:comment '') (cl:comment ' ') (cl:comment ' ') (cl:comment ' Occurrence Trees') (cl:comment '

Occurrence Trees

') (cl:comment ' An occurrence tree is the set of all discrete sequences of activity occurrences. ') (cl:comment ' They are isomorphic to substructures of the situation tree from situation calculus,') (cl:comment ' the primary difference being that rather than a unique initial ') (cl:comment ' situation, each occurrence tree has a unique initial activity occurrence. ') (cl:comment ' As in the situation calculus, the poss relation is introduced to allow the ') (cl:comment ' statement of constraints on activity occurrences within the occurrence tree. ') (cl:comment ' Since the occurrence trees include sequences that modellers of a domain will consider ') (cl:comment ' impossible, the poss relation "prunes" away branches from the occurrences tree that ') (cl:comment ' correspond to such impossible activity occurrences.') (cl:comment '

') (cl:comment ' It should be noted that the occurrence tree is not the structure that represents the ') (cl:comment ' occurrences of subactivities of an activity. The occurrence tree is not representing ') (cl:comment ' a particular occurrence of an activity, but rather all possible occurrences of all ') (cl:comment ' activities in the domain.') (cl:comment '

') (cl:comment ' The basic ontological commitments of the Occurrence Tree Theory are based on the ') (cl:comment ' following intuitions:') (cl:comment '

') (cl:comment ' Intuition 1:') (cl:comment '

') (cl:comment ' ') (cl:comment ' An occurrence tree is a partially ordered set of activity occurrences,') (cl:comment ' such that for a given set of activities, all discrete sequences of their occurrences') (cl:comment ' are branches of the tree.') (cl:comment ' ') (cl:comment '

') (cl:comment ' An occurrence tree contains all occurrences of all activities; it is') (cl:comment ' not simply the set of occurrences of a particular (possibly complex) activity.') (cl:comment ' Because the tree is discrete, each activity occurrence in the tree has a unique') (cl:comment ' successor occurrence of each activity.') (cl:comment '

') (cl:comment ' Intuition 2:') (cl:comment '

') (cl:comment ' ') (cl:comment ' There are constraints on which activities can possibly occur in some domain.') (cl:comment ' ') (cl:comment '

') (cl:comment ' This intuition is the cornerstone for characterizing the semantics of classes of') (cl:comment ' activities and process descriptions.') (cl:comment ' Although occurrence trees characterize all sequences of activity occurrences,') (cl:comment ' not all of these sequences will intuitively be physically possible within the') (cl:comment ' domain. We will therefore want to consider the subtree of the occurrence') (cl:comment ' tree that consists only of possible sequences of activity occurrences;') (cl:comment ' this subtree is referred to as the legal occurrence tree.') (cl:comment '

') (cl:comment ' The definitional extensions of the PSL Ontology') (cl:comment ' use different constraints on possible activity occurrences') (cl:comment ' as a way of classifying activities.') (cl:comment '

') (cl:comment ' Intuition 3:') (cl:comment '

') (cl:comment ' ') (cl:comment ' Every sequence of activity occurrences has an initial occurrence (which is the') (cl:comment ' root of an occurrence tree).') (cl:comment ' ') (cl:comment '

') (cl:comment ' This intuition is closely related to the properties of occurrence trees.') (cl:comment ' For example, one could consider occurrences to form a semilinear ordering') (cl:comment '(which need not have a root element) rather than a tree (which must have a root') (cl:comment ' element).') (cl:comment ' However, we are using occurrence trees to characterize the semantics of') (cl:comment ' different classes of activities, rather than using the occurrence tree') (cl:comment ' to represent history (which may not have an explicit initial event).') (cl:comment ' In our case, it is sufficient to consider all possible interactions between') (cl:comment ' the set of activities in the domain, and') (cl:comment ' we lose nothing by restricting our attention') (cl:comment ' to initial occurrences of the activities.') (cl:comment ' For example, given the query "Can the factory produce 1000 widgets by Friday?",') (cl:comment ' one can take the initial state to be the current state, and the initial activity') (cl:comment ' occurrences being the activities that could be performed at the current time.') (cl:comment '

') (cl:comment ' Intuition 4:') (cl:comment '

') (cl:comment ' ') (cl:comment ' The ordering of activity occurrences in a branch of an occurrence tree') (cl:comment ' respects the temporal ordering.') (cl:comment ' ') (cl:comment '

') (cl:comment ' Within the theory of occurrence trees, the ordering over') (cl:comment ' activity occurrences and the ordering over timepoints are distinct.') (cl:comment ' The set of activity occurrences') (cl:comment ' is partially ordered (hence the intuition about occurrence trees), but') (cl:comment ' timepoints are linearly ordered (since this theory is an extension of PSL-Core).') (cl:comment ' However, every branch of an occurrence tree is totally ordered, and the intuition') (cl:comment ' requires that the beginof timepoint for an activity occurrence along a branch is') (cl:comment ' before the beginof timepoints of all following activity occurrences on that branch.') (cl:comment '

') (cl:comment '


') (cl:comment '

Informal Semantics for Occurrence Trees

') (cl:comment '

') (cl:comment ' (initial ?occ) is TRUE in an interpretation of the Occurrence Tree ') (cl:comment ' Theory if and only if the activity occurrence ?occ is a root of the occurrence tree.') (cl:comment '

') (cl:comment ' (earlier ?occ1 ?occ2) is TRUE in an interpretation of the ') (cl:comment ' Occurrence Tree Theory if and only if the two activity occurrences ?occ1 and ?occ2 ') (cl:comment ' are on the same branch of the tree and ?occ1 is closer to the root of the ') (cl:comment ' tree than ?occ2. ') (cl:comment ' In other words, the earlier relation specifies the partial ordering ') (cl:comment ' over the activity occurrences in this tree.') (cl:comment '

') (cl:comment ' (= (successor ?a ?occ) ?occ2) is TRUE in an interpretation of the ') (cl:comment ' Occurrence Tree Theory if and only if ?occ2 denotes the occurrence of ?a that ') (cl:comment ' follows consecutively after the activity occurrence ?occ in the occurrence tree.') (cl:comment '

') (cl:comment ' (arboreal ?s) is TRUE in an interpretation of the Occurrence') (cl:comment ' Tree Theory if and only if ?s is an element of the occurrence tree.') (cl:comment '

') (cl:comment ' (generator ?a) is TRUE in an interpretation of the Occurrence') (cl:comment ' Tree Theory if and only if ?a is an activity whose occurrences are') (cl:comment ' elements of the occurrence tree.') (cl:comment '

') (cl:comment ' (legal ?occ) is TRUE in an interpretation of the') (cl:comment ' Occurrence Tree Theory if and only if the activity occurrence ?occ is') (cl:comment ' an element of the legal occurrence tree.') (cl:comment '

') (cl:comment ' (poss ?a ?occ) is TRUE in an interpretation of the Occurrence ') (cl:comment ' Tree Theory if and only if the activity ?a can possibly occur after the ') (cl:comment ' activity occurrence ?occ.') (cl:comment '

') (cl:comment ' (precedes ?occ1 ?occ2) is TRUE in an interpretation of the ') (cl:comment ' Occurrence Tree Theory if and only if the activity occurrence ?occ1 is earlier ') (cl:comment ' than the activity occurrence ?occ2 in the occurrence tree and such that all ') (cl:comment ' activity occurrences between them correspond to activities that are possible. ') (cl:comment ' This relation specfies the sub-tree of the occurrence tree in which every activity ') (cl:comment ' occurrence is the occurrence of an activity that is possible') (cl:comment '

') (cl:comment '


') (cl:comment '

Axioms for Occurrence Trees

') (cl:comment '

') (cl:comment '


') (cl:comment '

') (cl:comment ' Last Updated: Wednesday, 15-December-2003 11:42:40

') (cl:comment ' Return to the PSL homepage') (cl:comment '

') (cl:comment ' ') (cl:comment ' ') (cl:comment '') (cl:comment 'Subactivities') (cl:comment '
') (cl:comment '

Theory of Subactivities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: subactivity.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment '

') (cl:comment ' Theories Required by this Extension: psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 subactivity is a relation over activities ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(subactivity ?a1 ?a2)
		(and	(activity ?a1)
			(activity ?a2))))
  (cl:comment '
') (cl:comment ' Axiom 2 The subactivity relation is reflexive. ') (cl:comment '
')
(forall (?a)
	(if	(activity ?a)
		(subactivity ?a ?a)))
  (cl:comment '
') (cl:comment ' Axiom 3 The subactivity relation is antisymmetric. ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(and	(subactivity ?a1 ?a2)
			(subactivity ?a2 ?a1))
		(= ?a1 ?a2)))
  (cl:comment '
') (cl:comment ' Axiom 4 The subactivity relation is transitive. ') (cl:comment '
')
(forall (?a1 ?a2 ?a3)
	(if	(and	(subactivity ?a1 ?a2)
			(subactivity ?a2 ?a3))
		(subactivity ?a1 ?a3)))
  (cl:comment '
') (cl:comment ' Axiom 5 The subactivity relation is a discrete ordering, so every') (cl:comment 'activity has an upwards successor in the ordering. ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(and	(subactivity ?a1 ?a2)
			(not (= ?a1 ?a2)))
		(exists (?a3)
			(and	(subactivity ?a1 ?a3)
				(subactivity ?a3 ?a2)
				(not (= ?a3 ?a1))
				(forall (?a4)
					(if	(and	(subactivity ?a1 ?a4)
							(subactivity ?a4 ?a3))
						(or	(= ?a4 ?a1)
							(= ?a4 ?a3))))))))
  (cl:comment '
') (cl:comment ' Axiom 6 The subactivity relation is a discrete ordering, so every') (cl:comment 'activity has a downwards successor in the ordering. ') (cl:comment '
')
(forall (?a1 ?a2)
	(if	(and	(subactivity ?a1 ?a2)
			(not (= ?a1 ?a2)))
		(exists (?a3)
			(and	(subactivity ?a1 ?a3)
				(subactivity ?a3 ?a2)
				(not (= ?a3 ?a2))
				(forall (?a4)
					(if	(and	(subactivity ?a3 ?a4)
							(subactivity ?a4 ?a2))
						(or	(= ?a4 ?a2)
							(= ?a4 ?a3))))))))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' Definition 1 An activity is primitive iff it has no proper') (cl:comment 'subactivities. ') (cl:comment '
')
(forall (?a) (iff (primitive ?a)
(and    (activity ?a)
	(forall (?a1)
		(if	(subactivity ?a1 ?a)
			(= ?a1 ?a))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Subactivity Theory') (cl:comment '

Subactivity Theory

') (cl:comment 'The PSL Ontology uses the subactivity relation') (cl:comment 'to capture the basic intuitions for the composition of activities.') (cl:comment '

') (cl:comment 'The core theory subactivity.th alone does not specify any relationship') (cl:comment 'between the occurrence of an activity and occurrences of its subactivities.') (cl:comment 'For example, the specification of subactivities alone does not allow us to') (cl:comment 'distinguish between a nondeterministic activity and a deterministic activity.') (cl:comment '

') (cl:comment 'The basic ontological commitments of the Subactivity Theory are based on the ') (cl:comment 'following intuitions:') (cl:comment '

') (cl:comment ' Intuition 1:') (cl:comment '

') (cl:comment ' ') (cl:comment 'The composition relation is a discrete partial ordering, in which') (cl:comment 'primitive activities are the minimal elements.') (cl:comment '') (cl:comment '

') (cl:comment '


') (cl:comment '

Informal Semantics for the Subactivity Theory

') (cl:comment '

') (cl:comment '(subactivity ?a1 ?a2) is TRUE in an interpretation of Subactivity ') (cl:comment 'Theory if and only if activity ?a1 is a subactivity of activity ?a2.') (cl:comment '

') (cl:comment '(primitive ?a) is TRUE in an interpretation of Subactivity Theory ') (cl:comment 'if and only if the activity ?a has no proper subactivities.') (cl:comment '

') (cl:comment '


') (cl:comment '

Axioms of Subactivity Theory

') (cl:comment '

') (cl:comment '


') (cl:comment '

') (cl:comment 'Last Updated: Wednesday, 15-December-2003 11:42:40

') (cl:comment 'Return to the PSL homepage') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment 'Duration') (cl:comment '') (cl:comment '
') (cl:comment '

Duration Theory

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: duration.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Functions: ') (cl:comment '') (cl:comment ' Constants: ') (cl:comment '') (cl:comment ' Theories Required by this Extension: pslcore.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Functions: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: none') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 ') (cl:comment ' ') (cl:comment 'zero, max+, and max- are all timedurations.') (cl:comment '') (cl:comment '
')
(and	(timeduration zero)
	(timeduration max+)
	(timeduration max-))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment '') (cl:comment 'The result of adding two timedurations is a timeduration.') (cl:comment '') (cl:comment '
')
(forall (?d1 ?d2)
(if	  (and	(timeduration ?d1)
		(timeduration ?d2))
	  (timeduration (add ?d1 ?d2))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment '') (cl:comment 'The add function is associative.') (cl:comment '') (cl:comment '
')
(forall (?d1 ?d2 ?d3)
(if	  (and	(timeduration ?d1)
		(timeduration ?d2)
		(timeduration ?d3))
          (= (add (add ?d1 ?d2) ?d3) (add ?d1 (add ?d2 ?d3)))))
  (cl:comment '
') (cl:comment ' Axiom 4 ') (cl:comment '') (cl:comment 'zero is the additive identity.') (cl:comment '') (cl:comment '
')
(forall (?d)
(if	  (timeduration ?d)
          (= (add ?d zero) ?d)))
  (cl:comment '
') (cl:comment ' Axiom 5 ') (cl:comment '') (cl:comment 'For any timeduration, there exists an additive inverse.') (cl:comment '') (cl:comment '
')
(forall (?d1)
(if	  (timeduration ?d1)
          (exists (?d2)
		(and 	(timeduration ?d2)
                	(= (add ?d1 ?d2) zero)))))
  (cl:comment '
') (cl:comment ' Axiom 6 ') (cl:comment '') (cl:comment 'The add function is commutative.') (cl:comment '') (cl:comment '
')
(forall (?d1 ?d2)
(if	  (and	(timeduration ?d1)
		(timeduration ?d2))
          (= (add ?d1 ?d2) (add ?d2 ?d1))))
  (cl:comment '
') (cl:comment ' Axiom 7 ') (cl:comment '') (cl:comment 'The result of multiplying a timeduration by a scalar value is') (cl:comment 'a timeduration.') (cl:comment '') (cl:comment '
')
(forall (?d ?r)
(if	  (timeduration ?d)
	  (timeduration (mult ?r ?d))))
  (cl:comment '
') (cl:comment ' Axiom 8 ') (cl:comment '') (cl:comment 'Multiplication by scalars:') (cl:comment '') (cl:comment '
')
(forall (?d1 ?d2 ?r)
        (= (mult ?r (add ?d1 ?d2)) (add (mult ?r ?d1) (mult ?r ?d2))))
  (cl:comment '
') (cl:comment ' Axiom 9 ') (cl:comment '
')
(forall (?d ?r ?s)
        (= (mult (add ?r ?s) ?d) (add (mult ?r ?d) (mult ?s ?d))))
  (cl:comment '
') (cl:comment ' Axiom 10 ') (cl:comment '
')
(forall (?d ?r ?s)
        (= (mult (mult ?r ?s) ?d) (mult ?r (mult ?s ?d))))
  (cl:comment '
') (cl:comment ' Axiom 11 ') (cl:comment '') (cl:comment 'one is the multiplicative identity.') (cl:comment '') (cl:comment '
')
(forall (?d)
        (= ?d (mult one ?d)))
  (cl:comment '
') (cl:comment ' Axiom 12 ') (cl:comment ' Ordering Axioms for timedurations. ') (cl:comment '
')
(forall (?d1 ?d2 ?d3)
(if	(and	(timeduration ?d1)
		(timeduration ?d2)
		(timeduration ?d3))
        (iff    (lesser ?d1 ?d2)
                (lesser (add ?d1 ?d3) (add ?d2 ?d3)))))
  (cl:comment '
') (cl:comment ' Axiom 13 ') (cl:comment '
')
(forall (?d1 ?d2 ?d3)
(if	(and	(timeduration ?d1)
		(timeduration ?d2)
		(timeduration ?d3))
        (iff    (= ?d1 ?d2)
                (= (add ?d1 ?d3) (add ?d2 ?d3)))))
  (cl:comment '
') (cl:comment ' Axiom 14 ') (cl:comment '') (cl:comment 'max- is lesser than any timeduration, and') (cl:comment 'max+ is greater than any timeduration.') (cl:comment '') (cl:comment '
')
(forall (?d)
	(if	  (timeduration ?d)
		  (and	(lesser ?d max+)
			(lesser max- ?d))))
  (cl:comment '
') (cl:comment ' Axiom 15 ') (cl:comment '') (cl:comment 'The result of adding any duration other than max+ to max- is max-, ') (cl:comment 'and vice versa, the "sum" of max- and max+ is zero.') (cl:comment '') (cl:comment '
')
(forall (?d)
(if	  (timeduration ?d)
	  (and 	(if	  (not (= ?d max-)) (= max+ (add ?d max+)))
		(if	  (not (= ?d max+)) (= max- (add ?d max-)))
		(= zero (add max+ max-)))))
  (cl:comment '
') (cl:comment ' Axiom 16 ') (cl:comment '') (cl:comment 'The duration function assigns a timeduration to every pair') (cl:comment 'of timepoints.') (cl:comment '') (cl:comment '
')
(forall (?t1 ?t2)
	(if	  (and	(timepoint ?t1)
			(timepoint ?t2))
		  (timeduration (duration ?t1 ?t2))))
  (cl:comment '
') (cl:comment ' Axiom 17 ') (cl:comment '') (cl:comment 'Every timeduration is equal to the value of the duration') (cl:comment 'function for some pair of timepoints.') (cl:comment '') (cl:comment '
')
(forall (?d)
	(if	  (timeduration ?d)
        	  (exists (?t1 ?t2)
			(and	(timepoint ?t1)
				(timepoint ?t2)
	                	(= ?d (duration ?t1 ?t2))))))
  (cl:comment '
') (cl:comment ' Axiom 18 ') (cl:comment '') (cl:comment 'The value of the duration function is zero if and only if') (cl:comment 'the two timepoints are equal.') (cl:comment '') (cl:comment '
')
(forall (?t1 ?t2)
(if	  (and	(timepoint ?t1)
		(timepoint ?t2))
	  (iff	(= zero (duration ?t1 ?t2))
		(= ?t1 ?t2))))
  (cl:comment '
') (cl:comment ' Axiom 19 ') (cl:comment '') (cl:comment 'The value of the duration function between ?t1 and ?t2 is the additive') (cl:comment 'inverse of the value of the duration function between ?t2 and ?t1.') (cl:comment '') (cl:comment '
')
(forall (?t1 ?t2)
(if	  (and	(timepoint ?t1)
		(timepoint ?t2))
	  (= zero (add (duration ?t1 ?t2) (duration ?t2 ?t1)))))
  (cl:comment '
') (cl:comment ' Axiom 20 ') (cl:comment '') (cl:comment 'Given a point i other than inf- or inf+, the duration from i to any point is ') (cl:comment 'unique.') (cl:comment '') (cl:comment '
')
(forall (?t1 ?t2 ?t3)
	(if	  (and	(timepoint ?t1)
			(timepoint ?t2)
			(timepoint ?t3)
			(not (= ?t1 inf-))
			(not (= ?t2 inf+))
			(= (duration ?t1 ?t2) (duration ?t1 ?t3)))
		  (= ?t1 ?t2)))
  (cl:comment '
') (cl:comment ' Axiom 21 ') (cl:comment '') (cl:comment 'The duration from any point other than inf- to inf- is max- and from any point ') (cl:comment 'other than inf+ to inf+ is max+.') (cl:comment '') (cl:comment '
')
(forall (?t)
(and 	(if	  (and	(timepoint ?t)
			(not (= ?t inf-)))
		  (= max+ (duration inf- ?t)))
	(if	  (and	(timepoint ?t)
			(not (= ?t inf+)))
		  (= max- (duration inf+ ?t)))))
  (cl:comment '
') (cl:comment ' Axiom 22 ') (cl:comment '') (cl:comment 'The duration from inf- to any point other than inf- is max+ and from inf+ to any') (cl:comment 'point other than inf+ is max-.') (cl:comment '') (cl:comment '
')
(forall (?t)
(and 	(if	  (and	(timepoint ?t)
			(not (= ?t inf-)))
		  (= max- (duration ?t inf-)))
	(if	  (and	(timepoint ?t)
			(not (= ?t inf+)))
		  (= max+ (duration ?t inf+)))))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment '
')
(forall (?t1 ?t2 ?d)
(iff	(= ?t2 (time_add ?t1 ?d))
	(and	(timepoint ?t1)
		(timepoint ?t2)
		(timeduration ?d)
		(= ?d (duration ?t2 ?t1)))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment '') (cl:comment ' Envelopes and Umbrae ') (cl:comment '
') (cl:comment '

Envelopes and Umbrae

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: envelope.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Defined Lexicon: None

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, ') (cl:comment 'subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: embedding.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 ') (cl:comment '') (cl:comment 'Every activity tree has an envelope activity.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?s)
	(if	  (root ?s ?a1)
		  (exists (?a2)
			(envelope ?a2 ?a1 ?s))))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment '') (cl:comment 'Every activity tree has an umbra activity.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?s)
	(if	  (root ?s ?a1)
		  (exists (?a2)
			(umbra ?a2 ?a1 ?s))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment ' ') (cl:comment 'Any branch that is a live branch of the envelope is not a dead branch ') (cl:comment 'of the original activity.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2 ?s ?s1)
	(if	  (and	(envelope ?a2 ?a1 ?s)
			(live_branch ?s1 ?s ?a2))
		  (not (dead_branch ?s1 ?s ?a1))))
  (cl:comment '
') (cl:comment ' Axiom 4 ') (cl:comment ' ') (cl:comment 'Any branch that is a live branch of the umbra is not a live branch ') (cl:comment 'of the original activity.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2 ?s ?s1)
	(if	  (and	(umbra ?a2 ?a1 ?s)
			(live_branch ?s1 ?s ?a2))
		  (not (live_branch ?s1 ?s ?a1))))
  (cl:comment '
') (cl:comment ' Axiom 5 ') (cl:comment ' ') (cl:comment 'Any live branch of an activity is a live branch of the envelope.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2 ?s ?s1)
	(if	  (and	(envelope ?a2 ?a1 ?s)
			(live_branch ?s1 ?s ?a1))
		  (live_branch ?s1 ?s ?a2)))
  (cl:comment '
') (cl:comment ' Axiom 6 ') (cl:comment ' ') (cl:comment 'Any dead branch of an activity is a live branch of the umbra.') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2  ?s ?s1)
	(if	  (and	(umbra ?a2 ?a1 ?s)
			(dead_branch ?s1 ?s ?a1))
		  (live_branch ?s1 ?s ?a2)))
  (cl:comment '
') (cl:comment ' Axiom 7 ') (cl:comment ' The envelope for ?a1 is unconstrained on the live branches for ?a1. ') (cl:comment '
')
(forall (?a1 ?a2 ?s ?o)
	(if	  (and	(envelope ?a2 ?a1 ?s)
			(occurrence_of ?o ?a2)
			(= ?s (root_occ ?o)))
		  (unrestricted ?o)))
  (cl:comment '
') (cl:comment ' Axiom 8 ') (cl:comment ' The umbra for ?a1 is unconstrained on the dead branches for ?a1. ') (cl:comment '
 ')
(forall (?a1 ?a2 ?s ?o)
	(if	  (and	(umbra ?a2 ?a1 ?s)
			(occurrence_of ?o ?a2)
			(= ?s (root_occ ?o)))
		  (unrestricted ?o)))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Occurrence Tree Automorphisms') (cl:comment '
') (cl:comment '

Occurrence Tree Automorphisms

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: preserve.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: actocc.th, complex.th,') (cl:comment 'atomic.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: occ_precond.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 ') (cl:comment '
')
(forall (?a1 ?a2 ?s1 ?s2)
	(if	  (and	(ubiquitous ?a1 ?a2)
			(min_precedes ?s1 ?s2 ?a2))
		  (exists (?s3 ?s4 ?s5 ?s6)
			(and	(tree_equiv ?s1 ?s2)
				(tree_equiv ?s3 ?s4)
				(occurrence_of ?s5 ?a1)
				(occurrence_of ?s6 ?a1)
				(legal_equiv ?s5 ?s6)
				(end_iso ?s3 ?s4 ?s5 ?s6)))))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2 ?s1 ?s2)
	(if	  (and	(ubiquitous ?a1 ?a2)
			(min_precedes ?s1 ?s2 ?a2))
		  (not (exists (?s3 ?s4)
			(and	(occurrence_of ?s3 ?a1)
				(occurrence_of ?s4 ?a1)
				(legal_equiv ?s3 ?s4)
				(end_iso ?s1 ?s2 ?s3 ?s4))))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2 ?s1 ?s2 ?s3 ?s4)
	(if	  (and	(ubiquitous ?a1 ?a2)
			(occurrence_of ?s3 ?a1)
			(occurrence_of ?s4 ?a1)
			(legal_equiv ?s3 ?s4)
			(end_iso ?s1 ?s2 ?s3 ?s4))
		  (exists (?o1 ?o2)
			(and	(occurrence_of ?o1 ?a1)
				(occurrence_of ?o2 ?a1)
				(subactivity_occurrence ?s1 ?o1)
				(subactivity_occurrence ?s2 ?o1)))))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?s3 ?s4) (iff (end_iso ?s1 ?s2 ?s3 ?s4)
(exists (?s5 ?s6)
	(and	(precedes ?s5 ?s1)
		(precedes ?s5 ?s3)
		(precedes ?s6 ?s2)
		(precedes ?s6 ?s4)
		(tree_equiv ?s1 ?s2)
		(tree_equiv ?s3 ?s4)
		(tree_equiv ?s5 ?s6)))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Subactivity Occurrence Ordering') (cl:comment '
') (cl:comment '

Subactivity Occurrence Ordering

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: soo.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Functions: ') (cl:comment '') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, ') (cl:comment 'subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: none') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Axiom 1 ') (cl:comment ' ') (cl:comment 'The soo_precedes relation orders elements of the subactivity') (cl:comment 'occurrence ordering.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a)
	(if	  (soo_precedes ?s1 ?s2 ?a)
		  (and	(soo ?s1 ?a)
			(soo ?s2 ?a))))
  (cl:comment '
') (cl:comment ' Axiom 2 ') (cl:comment ' ') (cl:comment 'Elements of the subactivity occurrence ordering are elements') (cl:comment 'of the activity tree.') (cl:comment '') (cl:comment '
')
(forall (?a ?s)
	(if	  (soo ?s ?a)
		  (or	(root ?s ?a)
			(exists (?s1)
				(min_precedes ?s1 ?s ?a)))))
  (cl:comment '
') (cl:comment ' Axiom 3 ') (cl:comment ' ') (cl:comment 'The function soomap maps the activity tree to the subactivity occurrence ordering.') (cl:comment '') (cl:comment '
')
(forall (?s ?occ ?a)
(if     (and    (occurrence_of ?occ ?a)
                (subactivity_occurrence ?s ?occ)
                (arboreal ?s))
         (soo (soomap ?s) ?a)))
  (cl:comment '
') (cl:comment ' Axiom 4 ') (cl:comment ' ') (cl:comment 'The elements of the subactivity occurrence ordering are fixed by soomap.') (cl:comment '') (cl:comment '
')
(forall (?s ?a)
	(if	  (soo ?s ?a)
		  (= ?s (soomap ?s))))
  (cl:comment '
') (cl:comment ' Axiom 5 ') (cl:comment ' ') (cl:comment 'The function soomap is a branch monomorphism.') (cl:comment '') (cl:comment '
')
(forall (?s ?a)
	(or	(mono ?s (soomap ?s) ?a)
		(= ?s (soomap ?s))))
  (cl:comment '
') (cl:comment ' Axiom 6 ') (cl:comment ' ') (cl:comment 'The activity tree is order-homomorphic to the subactivity') (cl:comment 'occurrence ordering.') (cl:comment '') (cl:comment '
')
(forall (?a ?s1 ?s2)
	(if	  (min_precedes ?s1 ?s2 ?a)
		  (iff	(soo_precedes (soomap ?s1) (soomap ?s2) ?a)
			(not (exists (?s3 ?s4)
				(and	(min_precedes ?s4 ?s3 ?a)
					(= (soomap ?s3) (soomap ?s1))
					(= (soomap ?s4) (soomap ?s2))))))))
  (cl:comment '
') (cl:comment ' Axiom 7 ') (cl:comment ' soo_precedes is not symmetric. ') (cl:comment '
')
(forall (?a ?s1 ?s2)
	(if	  (soo_precedes ?s1 ?s2 ?a)
		  (not (soo_precedes ?s2 ?s1 ?a))))
  (cl:comment '
') (cl:comment ' Axiom 8 ') (cl:comment ' soo_precedes is transitive. ') (cl:comment '
')
(forall (?a ?s1 ?s2 ?s3)
	(if	  (and	(soo_precedes ?s1 ?s2 ?a)
			(soo_precedes ?s2 ?s3 ?a))
		  (soo_precedes ?s1 ?s3 ?a)))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity occurrence is a root of a subactivity occurrence ordering for an activity ?a') (cl:comment 'if and only if it is an element of the ordering and there does not exist an activity') (cl:comment 'occurrence that precedes it in the ordering. ') (cl:comment '
')
(forall (?s ?a) (iff (root_soo ?s ?a)
(and	(soo ?s ?a)
	(not (exists (?s1)
		(soo_precedes ?s1 ?s ?a))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity occurrence is a leaf of a subactivity occurrence ordering for an activity ?a') (cl:comment 'if and only if it is an element of the ordering and there does not exist an activity') (cl:comment 'occurrence that follows it in the ordering. ') (cl:comment '
')
(forall (?s ?a) (iff (leaf_soo ?s ?a)
(and	(soo ?s ?a)
	(not (exists (?s1)
		(soo_precedes ?s ?s1 ?a))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity occurrence ?s2 is the next subactivity occurrence after ?s1') (cl:comment 'in a subactivity occurrence ordering for ?a if and only of ?s1 precedes ?s2 ') (cl:comment 'in the ordering and there does not exist a subactivity occurrence that is between') (cl:comment 'them in the ordering. ') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (next_subactivity ?s1 ?s2 ?a) 
(and    (soo_precedes ?s1 ?s2 ?a)
        (not (exists (?s3)
                (and    (soo_precedes ?s1 ?s3 ?a)
                        (soo_precedes ?s3 ?s2 ?a)))))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Theory of Resource Requirements') (cl:comment '
') (cl:comment '

') (cl:comment 'Theory of Resource Requirements') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: requires.th

') (cl:comment ' Primitive Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Functions: ') (cl:comment '') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th,') (cl:comment 'subactivity.th, disc_state.th, occtree.th, psl_core.th, additive.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment 'Axiom 1: ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a ?a1 ?r ?s)
	(if  (and	(requires ?a ?r)
			(subactivity ?a1 ?a)
			(atomic ?a1)
			(holds (available ?r ?a1) ?s))
		  (exists (?occ)
			(and	(occurrence_of ?occ ?a)
				(subactivity_occurrence (successor ?a1 ?s) ?occ)))))
  (cl:comment '
') (cl:comment ' Axiom 2: ') (cl:comment ' An activity requires a resource if and only if there exists an') (cl:comment 'atomic subactivity that requires the resource.') (cl:comment '') (cl:comment '
')
(forall (?a ?r)
        (iff    (requires ?a ?r)
                (exists (?a1)
                        (and    (atomic ?a1)
                                (subactivity ?a1 ?a)
                                (requires ?a1 ?r)))))
  (cl:comment '
') (cl:comment ' Axiom 3: ') (cl:comment ' A resource is available for an activity iff the available quantity of the') (cl:comment 'resource for the activity exceeds the difference') (cl:comment 'between the quantity of the resource point and the sum of the aggregate demand') (cl:comment 'for the resource and the demand for the resource by the activity. ') (cl:comment '
')
(forall (?r ?a ?s)
	(iff	(prior (available ?r ?a) ?s)
		(exists (?q1 ?q2 ?q3)
                        (and	(prior (resource_point ?r ?q1) ?s)
                                (prior (agg_demand ?r ?q3) ?s)
                                (prior (demand ?r ?a ?q2) ?s)
                                (greater ?q1 (plus ?q2 ?q3))))))
  (cl:comment '
') (cl:comment ' Axiom 4: ') (cl:comment ' The demand of an activity for a resource must be greater than zero. ') (cl:comment '
')
(forall (?r ?a ?q ?s)
	(if  (prior (demand ?r ?a ?q) ?s)
		  (greater ?q zero)))
  (cl:comment '
') (cl:comment ' Axiom 5: ') (cl:comment '') (cl:comment 'The demand of a concurrent superposition of activities for a resource ') (cl:comment 'is the sum of the demand of all of its subactivities for the resource. ') (cl:comment '') (cl:comment '
')
(forall (?a1 ?a2 ?r ?q ?s)
	(iff	(prior (demand (conc ?a1 ?a2) ?r ?q) ?s)
		(exists (?q1 ?q2)
                        (and    (prior (demand ?a1 ?r ?q1) ?s)
                                (prior (demand ?a2 ?r ?q2) ?s)
                                (= ?q (plus ?q1 ?q2))))))
  (cl:comment '
') (cl:comment ' Axiom 6: ') (cl:comment ' The aggregation of demand for a resource is the sum of demand by all') (cl:comment 'activities which require the resource. Thus, when an activity is initiated, the') (cl:comment 'aggregate demand is incremented by the amount equal to the demand of that') (cl:comment 'acivity for the resource. When the activity is terminated, the aggregate') (cl:comment 'demand is decremented by the amount equal to the demand of the activity for the') (cl:comment 'resource. ') (cl:comment '
')
(forall (?r ?q ?s)
	(iff	(holds (agg_demand ?r ?q) ?s)
		(or	(exists (?a1 ?q1 ?q2)
				(and	(occurrence_of ?s ?a1)
					(prior (demand ?r ?a1 ?q1) ?s)
					(prior (agg_demand ?r ?q2) ?s)
					(= ?q (plus ?q1 ?q2))))
			(exists (?a2 ?q1 ?q2)
				(and	(occurrence_of ?s ?a2)
					(prior (demand ?r ?a2 ?q1) ?s)
					(prior (agg_demand ?r ?q2) ?s)
					(= ?q1 (plus ?q ?q2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Resource Sets') (cl:comment '

') (cl:comment '

') (cl:comment 'Resource Sets') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: res_set.th

') (cl:comment ' Primitive Lexicon: ') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '') (cl:comment ' Theories Required by this Extension: requires.th, act_occ.th, complex.th,') (cl:comment 'occtree.th, disc_state.th, atomic.th, subactivity.th, psl_core.th') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Axioms

') (cl:comment ' Resource sets are sets whose elements are resources and which are themselves resources') (cl:comment 'for some activity. This is denoted by the fluent function (resource_set ?i ?r), which') (cl:comment 'associates the set ?i with the resource ?r. The actual set associated with the resource may') (cl:comment 'change, as new resources are added or removed. Each resource which is a resource set is') (cl:comment 'associated with a unique set of resources. ') (cl:comment '
')
(forall (?i ?r ?occ)
        (if     (holds (resource_set ?i ?r) ?occ)
                (forall (?rp)
                        (if     (set_member ?rp ?i)
                                (exists (?a)
                                        (requires ?a ?rp))))))
  (cl:comment '
') (cl:comment '
')
(forall (?i ?r1 ?r2 ?a ?occ)
        (if     (and    (holds (resource_set ?i ?r1) ?occ)
                        (set_member ?r2 ?i)
                        (requires ?a ?r2))
                (requires ?a ?r1)))
  (cl:comment '
') (cl:comment '
')
(forall (?i1 ?i2 ?r ?occ)
        (if     (and    (holds (resource_set ?i1 ?r) ?occ)
                        (holds (resource_set ?i2 ?r) ?occ))
                (= ?i1 ?i2)))
  (cl:comment '
') (cl:comment '

Definitions

') (cl:comment ' A resource ?r1 is in the resource set ?r2 iff ?r1 is an element of the set ?i ') (cl:comment 'associated with ?r2. ') (cl:comment '
')
(forall (?r1 ?r2 ?occ)
        (iff    (holds (in_resource_set ?r1 ?r2) ?occ)
                (exists (?i)
                        (and    (set_member ?r1 ?i)
                                (holds (resource_set ?i ?r2) ?occ)))))
  (cl:comment '
') (cl:comment '') (cl:comment 'A resource set ?r1 is a resource subset of a resource set ?r2 iff every element of the set') (cl:comment 'associated with ?r1 is an element of the set associated with ?r2. ') (cl:comment '
')
(forall (?r1 ?r2 ?occ)
        (iff    (holds (resource_subset ?r1 ?r2) ?occ)
                (forall (?r ?i1 ?i2)
                   (if  (and    (holds (resource_set ?i1 ?r1) ?occ)
                                (holds (resource_set ?i2 ?r2) ?occ)
                                (set_member ?r ?i1))
                        (set_member ?r ?i2)))))
  (cl:comment '
') (cl:comment '') (cl:comment ' Spectrum for Atomic Activities') (cl:comment '
') (cl:comment '

Spectrum for Atomic Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: atomic_spectra.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: precond.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (global_ideal ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a ?a1)
			(poss ?a ?s1)
			(poss ?a ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (global_nonideal ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a ?a1)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2)))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a global filter activity iff every subactivity is ') (cl:comment 'has equivalent preconditions whenever the activity is possible. ') (cl:comment '
')
(forall (?a) (iff (global_filter ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a1 ?a)
			(poss ?a ?s1)
			(poss ?a ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (global_nonfilter ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a1 ?a)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2)))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Permuting Activity Trees') (cl:comment '

') (cl:comment '

Permuting Activity Trees

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: branchwise.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: permute.def

') (cl:comment ' Grammar: branchwise.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is reordered iff the set of atomic subactivity occurrences') (cl:comment 'on each branch of one minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on a branch in another activity tree for ?a. ') (cl:comment '
')
(forall (?a) (iff (reordered ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a))
		  (branch_automorphic ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is nondeterministically reordered iff the set of atomic ') (cl:comment 'subactivity occurrences on each branch of one minimal activity tree for ?a') (cl:comment 'is a permutation of the atomic subactivity occurrences on some branch of another ') (cl:comment 'minimal activity tree for ?a. ') (cl:comment '
')
(forall (?a) (iff (nondet_reordered ?a)
(forall (?occ1)
	(if	  (occurrence_of ?occ1 ?a)
		  (exists (?occ2)
			(and	(occurrence_of ?occ2 ?a)
				(not (same_grove ?occ1 ?occ2))
				(branch_automorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is partially reordered iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences is a permutation of the atomic') (cl:comment 'subactivity occurrences on some other branch, and there exists a branch that') (cl:comment 'is not a permutation of any other branch. ') (cl:comment '
')
(forall (?a) (iff (partial_reordered ?a)
(exists (?occ1 ?occ2 ?occ3)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
		(not (same_grove ?occ1 ?occ2))
		(branch_automorphic ?occ1 ?occ2)
		(occurrence_of ?occ3 ?a)
		(same_grove ?occ1 ?occ3)
		(forall (?occ4)
			(if	  (and	(occurrence_of ?occ4 ?a)
					(not (= ?occ2 ?occ4))
					(same_grove ?occ2 ?occ4))
				  (not (branch_automorphic ?occ2 ?occ4))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is nonorderable iff none of the branches in an activity tree are ') (cl:comment 'branch automorphic to any other branches in other activity trees in the ') (cl:comment 'spectrum. ') (cl:comment '
')
(forall (?a) (iff (unorderable ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(not (same_grove ?occ1 ?occ2)))
		  (not (branch_automorphic ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Compacting Branch Structure') (cl:comment '

') (cl:comment '

Compacting Branch Structure

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: compacted.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: permute.def

') (cl:comment ' Grammar: compacted.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is compacted iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on the first branch. ') (cl:comment '
')
(forall (?a) (iff (compacted ?a)
(exists (?occ1)
	(and	(occurrence_of ?occ1 ?a)
		(forall (?occ2)
			(if	  (and	(occurrence_of ?occ2 ?a)
					(not (same_grove ?occ1 ?occ2)))
				  (branch_homomorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is nondeterministically compacted iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on the first branch. ') (cl:comment '
')
(forall (?a) (iff (nondet_compacted ?a)
(forall (?occ1)
	(if	  (occurrence_of ?occ1 ?a)
		  (exists (?occ2)
			(and	(occurrence_of ?occ2 ?a)
				(not (same_grove ?occ1 ?occ2))
				(branch_homomorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is partially compacted iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on the first branch. ') (cl:comment '
')
(forall (?a) (iff (partial_compacted ?a)
(exists (?occ1 ?occ2 ?occ3)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
		(not (same_grove ?occ1 ?occ2))
		(branch_homomorphic ?occ1 ?occ2)
		(occurrence_of ?occ3 ?a)
		(same_grove ?occ3 ?occ1)
		(forall (?occ4)
			(if	  (and	(occurrence_of ?occ4 ?a)
					(not (= ?occ2 ?occ4))
					(same_grove ?occ2 ?occ4))
				  (not (branch_homomorphic ?occ2 ?occ4))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is stiff iff none of the branches in an activity tree for ?a are ') (cl:comment 'branch epimorphic to the branches of any other activity tree for ?a. ') (cl:comment '
')
(forall (?a) (if (stiff ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(not (same_grove ?occ1 ?occ2)))
		  (not (branch_homomorphic ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Classes of Atomic Activities') (cl:comment '

') (cl:comment '

Classes of Atomic Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: concurrent.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' An activity is a superposition activity iff every subactivity is possible') (cl:comment 'whenever the activity itself is possible. ') (cl:comment '
')
(forall (?a ?s) (iff (superpose ?a ?s)
(forall (?a1)
	(if	  (and	(subactivity ?a1 ?a)
			(poss ?a ?s))
		  (poss ?a1 ?s)))))
  (cl:comment '
') (cl:comment ' An activity is an assistance activity iff ') (cl:comment '
')
(forall (?a ?s) (iff (assistance ?a ?s)
(forall (?a1 ?a2)
	(if	  (and	(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
			(poss ?a ?s))
		  (poss (conc ?a1 ?a2) ?s)))))
  (cl:comment '
') (cl:comment '
')
(forall (?a ?s) (iff (team ?a ?s)
(exists (?a1 ?a2)
	(and	(subactivity ?a1 ?a)
		(subactivity ?a2 ?a)
		(poss ?a ?s)
		(not (poss (conc ?a1 ?a2) ?s))))))
  (cl:comment '
') (cl:comment '
')
(forall (?a ?s) (iff (ghost ?a ?s)
(forall (?a1)
	(if	  (and	(subactivity ?a1 ?a)
			(poss ?a1 ?s))
		  (poss ?a ?s)))))
  (cl:comment '
') (cl:comment '
')
(forall (?a ?s) (iff (conflict ?a ?s)
(forall (?a1 ?a2)
	(if	  (and	(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
			(not (poss ?a1 ?s))
			(poss (conc ?a1 ?a2) ?s))
		  (poss ?a ?s)))))
  (cl:comment '
') (cl:comment '
')
(forall (?a ?s) (iff (dysfunction ?a ?s)
(exists (?a1 ?a2)
	(and	(subactivity ?a1 ?a)
		(subactivity ?a2 ?a)
		(not (poss ?a1 ?s))
		(not (poss ?a ?s))
		(poss (conc ?a1 ?a2) ?s)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Embedding Constraints for Activities') (cl:comment '

') (cl:comment '

Embedding Constraints for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: embedding.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'An atomic activity occurrence ?s2 is on a live branch of an embedded activity') (cl:comment 'tree for ?a with root ?s1 iff it is a subactivity occurrence on the branch.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (live_branch ?s1 ?s2 ?a)
(exists (?occ)
	(and	(occurrence_of ?occ ?a)
		(= ?s1 (root_occ ?occ))
		(min_precedes ?s1 ?s2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity occurrence is an element of the positive maximal embedded subtree') (cl:comment 'iff it is an external activity occurrence that is between two subactivity') (cl:comment 'occurrences on a branch of the occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (embedded ?s1 ?s2 ?a)
(exists (?s3)
	(and	(root ?s2 ?a)
		(min_precedes ?s2 ?s3 ?a)
		(precedes ?s2 ?s1)
		(precedes ?s1 ?s3)
		(not (min_precedes ?s1 ?s3 ?a))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An occurrence ?s2 is on a dead branch with respect to an activity tree for ?a with') (cl:comment 'root occurrence ?s1 iff ?s2 is on a branch that is occurrence isomorphic to a') (cl:comment 'branch of the embedded activity tree.') (cl:comment 'The activity occurrence ?s2 is the earliest dead occurrence with') (cl:comment 'respect to the activity tree for ?a with root occurrence ?s1 ') (cl:comment 'if and only if it is the successor of a non-leaf subactivity occurrence') (cl:comment 'in the activity tree but there are no subactivity occurrences of') (cl:comment 'the tree that are later than ?s2.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (dead_branch ?s1 ?s2 ?a)
(exists (?a1 ?s3)
	(and	(root ?s1 ?a)
		(min_precedes ?s1 ?s3 ?a)
		(not (leaf ?s3 ?a))
		(= ?s2 (successor ?a1 ?s3))
		(not (exists (?s4)
			(and	(precedes ?s3 ?s4)
				(min_precedes ?s3 ?s4 ?a))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment '') (cl:comment 'An external activity occurrence ?s2 is a dead occurrence with respect') (cl:comment 'to the activity tree for ?a with root occurrence ?s1 iff ?s2 is between') (cl:comment 'two activity occurrences on a dead branch for ?a.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (dead_occurrence ?s1 ?s2 ?a)
(exists (?s3)
	(and	(dead_branch ?s1 ?s3 ?a)
		(precedes ?s1 ?s2)
		(precedes ?s2 ?s3)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment '') (cl:comment '?s1 and ?s2 are occurrences of subactivities of ?a that are elements of') (cl:comment 'the same embedded activity tree for ?a with root ?s3.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?s3 ?a) (iff (embed_tree ?s1 ?s2 ?s3 ?a)
(exists (?a1 ?a2)
	(and	(subactivity ?a1 ?a)
		(subactivity ?a2 ?a)
		(occurrence_of ?s1 ?a1)
		(occurrence_of ?s2 ?a2)
		(or	(live_branch ?s3 ?s1 ?a)
			(dead_branch ?s3 ?s1 ?a))
		(or	(live_branch ?s3 ?s2 ?a)
			(dead_branch ?s3 ?s2 ?a))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment '') (cl:comment 'Two activity occurrences ?s1,?s2 are subocc equivalent with respect to ?a') (cl:comment 'iff they are elements of the same maximal embedded subtree for ?a with') (cl:comment 'root occurrence ?s3, they are occurrences of subactivities,') (cl:comment 'and they agree on whether or not they') (cl:comment 'are subactivity occurrences of an occurrence of ?a.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?s3 ?a) (iff (subocc_equiv ?s1 ?s2 ?s3 ?a)
(and	(embed_tree ?s1 ?s2 ?s3 ?a)
	(iff	(min_precedes ?s3 ?s1 ?a)
		(min_precedes ?s3 ?s2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is unrestricted iff every branch') (cl:comment 'in the maximal embedded subtree is a live branch.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (unrestricted ?occ)
(forall (?a ?s1 ?s2 ?s3)
        (if	  (and    (occurrence_of ?occ ?a)
                          (= ?s3 (root_occ ?occ))
                          (embed_tree ?s1 ?s2 ?s3 ?a))
                  (subocc_equiv ?s1 ?s2 ?s3 ?a)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Folding Branch Structure') (cl:comment '

') (cl:comment '

Folding Branch Structure

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: folded.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: folded.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' One branch of a minimal activity tree is branch-homomorphic to another iff') (cl:comment 'there exists a mapping of') (cl:comment 'the set of atomic activity occurrences in the one branch into') (cl:comment 'the set of atomic activity occurrences on the other branch. ') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (branch_homomorphic ?occ1 ?occ2)
(and    (same_grove ?occ1 ?occ2)
        (forall (?s1 ?a)
           (if     (and    (occurrence_of ?occ1 ?a)
                           (subactivity_occurrence ?s1 ?occ1))
                   (exists (?s2)
                           (and    (subactivity_occurrence ?s2 ?occ2)
                                   (hom ?s1 ?s2 ?a))))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is folded iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on the first branch. ') (cl:comment '
')
(forall (?occ) (iff (folded ?occ)
(exists (?occ1)
	(and	(same_grove ?occ1 ?occ)
		(forall (?occ2)
			(if	  (same_grove ?occ2 ?occ)
				  (branch_homomorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is nondeterministically folded iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on the first branch. ') (cl:comment '
')
(forall (?occ) (iff (nondet_folded ?occ)
(forall (?occ1)
	(if	  (same_grove ?occ1 ?occ)
		  (exists (?occ2)
			(and	(same_grove ?occ2 ?occ)
				(not (= ?occ1 ?occ2))
				(branch_homomorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is partially folded iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on the first branch. ') (cl:comment '
')
(forall (?occ) (iff (partial_folded ?occ)
(exists (?occ1 ?occ2 ?occ3)
	(and	(same_grove ?occ1 ?occ)
		(same_grove ?occ2 ?occ)
		(not (= ?occ1 ?occ2))
		(branch_homomorphic ?occ1 ?occ2)
		(same_grove ?occ3 ?occ)
		(forall (?occ4)
			(if	  (and	(same_grove ?occ4 ?occ)
					(not (= ?occ3 ?occ4)))
				  (not (branch_homomorphic ?occ3 ?occ4))))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity is rigid iff none of the branches in an activity tree are ') (cl:comment 'branch homomorphic. ') (cl:comment '
')
(forall (?occ) (iff (rigid ?occ)
(forall (?occ1 ?occ2)
	(if	  (and	(same_grove ?occ1 ?occ)
			(same_grove ?occ2 ?occ)
			(not (= ?occ1 ?occ2)))
		  (not (branch_homomorphic ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Branch Structure and Ordering') (cl:comment '

') (cl:comment '

Branch Structure and Ordering

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: ordered.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: ordered.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'The subtree rooted in ?s1 can be monomorphically embedded into the') (cl:comment 'subtree rooted in ?s2.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (mono_tree ?s1 ?s2 ?a) 
(forall (?s3 ?s4 ?s5)
	(if	  (and	(min_precedes ?s1 ?s3 ?a)
			(min_precedes ?s2 ?s4 ?a)
			(mono ?s3 ?s4 ?a)
			(min_precedes ?s3 ?s5 ?a))
		  (exists (?s6)
			(and	(mono ?s5 ?s6 ?a)
				(min_precedes ?s4 ?s6 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'This relation holds iff ') (cl:comment 'there exists an order automorphism that maps the subtree rooted in') (cl:comment '?s1 to the subtree rooted in ?s2.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (order_tree ?s1 ?s2 ?a)
(and	(mono_tree ?s1 ?s2 ?a)
	(forall (?s3 ?s4 ?s5 ?s6)
		(if	  (and	(min_precedes ?s1 ?s3 ?a)
				(min_precedes ?s2 ?s4 ?a)
				(cousin ?s3 ?s4 ?a)
				(min_precedes ?s3 ?s5 ?a)
				(cousin ?s5 ?s6 ?a))
			  (iff	(iso_occ ?s3 ?s5 ?a)
				(iso_occ ?s4 ?s6 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' Two activity occurrences are root automorphic iff') (cl:comment 'there exist atomic subactivity occurrences of each activity occurrence') (cl:comment 'that are the roots of isomorphic subtrees.') (cl:comment '') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (root_automorphic ?occ1 ?occ2) 
(exists (?a ?s1 ?s2)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
		(subactivity_occurrence ?s1 ?occ1)
		(subactivity_occurrence ?s2 ?occ2)
		(order_tree ?s1 ?s2 ?a)
		(order_tree ?s2 ?s1 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment 'An activity occurrence is ordered iff it is') (cl:comment 'root automorphic with every other activity occurrence in the same tree.') (cl:comment '') (cl:comment '
')
(forall (?occ1) (iff (ordered ?occ1) 
(forall (?occ2)
	(if	  (same_grove ?occ1 ?occ2)
		  (root_automorphic ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity occurrence is nondeterministically ordered iff each ') (cl:comment 'activity occurrence in the same tree is root automorphic to ') (cl:comment 'some other activity occurrence in the same tree. ') (cl:comment '
')
(forall (?occ1) (iff (nondet_ordered ?occ1)
(forall (?occ2)
	(if	  (same_grove ?occ1 ?occ2)
		  (exists (?occ3)
			(and	(same_grove ?occ1 ?occ3)
				(not (= ?occ3 ?occ2))
				(root_automorphic ?occ2 ?occ3)))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity is broken ordered iff there exist activity occurrences ') (cl:comment 'in the same tree that are root automorphic to some other activity') (cl:comment 'occurrences in the same tree, and there also exist activity ') (cl:comment 'occurrences in same tree that are not root automorphic ') (cl:comment 'to any other activity occurrence. ') (cl:comment '
')
(forall (?occ1) (iff (broken_ordered ?occ1)
(exists (?occ2)
	(and	(same_grove ?occ1 ?occ2)
		(not (= ?occ1 ?occ2))
		(root_automorphic ?occ1 ?occ2)
		(forall (?occ3)
			(if	  (and	(same_grove ?occ3 ?occ1)
					(not (= ?occ3 ?occ2)))
				  (not (root_automorphic ?occ3 ?occ2))))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' An activity occurrence is unordered iff none of the activity ') (cl:comment 'occurrences in the same tree are root automorphic. ') (cl:comment '
')
(forall (?occ1) (iff (unordered ?occ1)
(forall (?occ2)
	(if	  (and	(same_grove ?occ1 ?occ2)
			(not (= ?occ1 ?occ2)))
		  (not (root_automorphic ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Permuting Branch Structure') (cl:comment '

') (cl:comment '

Permuting Branch Structure

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: permute.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: permute.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' One branch of a minimal activity tree is branch-monomorphic to another iff') (cl:comment 'there exists a one-to-one mapping of') (cl:comment 'the set of atomic activity occurrences in the one branch into') (cl:comment 'the set of atomic activity occurrences on the other branch. ') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (branch_monomorphic ?occ1 ?occ2)
(forall (?s1 ?a)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(subactivity_occurrence ?s1 ?occ1))
		  (exists (?s2)
			(and	(subactivity_occurrence ?s2 ?occ2)
				(mono ?s1 ?s2 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' Two branches of a minimal activity tree are branch-automorphic iff') (cl:comment 'the set of atomic activity occurrences on one branch is a permutation of the') (cl:comment 'the set of atomic activity occurrences on the other branch. ') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (branch_automorphic ?occ1 ?occ2)
(and    (branch_monomorphic ?occ1 ?occ2)
	(branch_monomorphic ?occ2 ?occ1))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity occurrences is permuted iff the set of atomic subactivity occurrences') (cl:comment 'on each branch of the minimal activity tree is a permutation of the atomic') (cl:comment 'subactivity occurrences on every other branch. ') (cl:comment '
')
(forall (?occ) (iff (permuted ?occ)
(forall (?occ1 ?occ2)
	(if	  (and	(same_grove ?occ1 ?occ)
			(same_grove ?occ2 ?occ))
		  (branch_automorphic ?occ1 ?occ)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity occurrence is nondeterministically permuted iff the set of atomic ') (cl:comment 'subactivity occurrences on each branch of the minimal activity tree is a permutation ') (cl:comment 'of the atomic subactivity occurrences on some other branch. ') (cl:comment '
')
(forall (?occ) (iff (nondet_permuted ?occ)
(forall (?occ1)
	(if	  (same_grove ?occ1 ?occ)
		  (exists (?occ2)
			(and	(same_grove ?occ1 ?occ2)
				(not (= ?occ1 ?occ2))
				(branch_automorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity occurrence is partially permuted iff there exists a branch such that') (cl:comment 'the set of atomic subactivity occurrences is a permutation of the atomic') (cl:comment 'subactivity occurrences on some other branch, and there exists a branch that') (cl:comment 'is not a permutation of any other branch. ') (cl:comment '
')
(forall (?occ) (iff (partial_permuted ?occ)
(exists (?occ1 ?occ2 ?occ3)
	(and	(same_grove ?occ1 ?occ)
		(same_grove ?occ2 ?occ)
		(not (= ?occ1 ?occ2))
		(branch_automorphic ?occ1 ?occ2)
		(same_grove ?occ3 ?occ)
		(forall (?occ4)
			(if	  (and	(same_grove ?occ3 ?occ4)
					(branch_automorphic ?occ3 ?occ4))
				  (= ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity occurrence is simple iff none of the branches in an activity tree are ') (cl:comment 'branch automorphic. ') (cl:comment '
')
(forall (?occ) (iff (simple ?occ)
(forall (?occ1 ?occ2)
	(if	  (and	(same_grove ?occ1 ?occ)
			(same_grove ?occ2 ?occ)
			(branch_automorphic ?occ1 ?occ2))
		  (= ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Repetitive Branch Structure') (cl:comment '

') (cl:comment '

Repetitive Branch Structure

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: repetitive.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: repetitive.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'The sub-branch of a minimal activity with initial atomic subactivity') (cl:comment 'occurrence ?s1 and final atomic subactivity occurrence ?s2 is ') (cl:comment 'occurrence-isomorphic to the sub-branch with initial atomic subactivity') (cl:comment 'occurrence ?s3 and final atomic subactivity occurrence ?s4.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?s3 ?s4 ?a) (iff (branch_mono ?s1 ?s2 ?s3 ?s4 ?a)
(forall (?s5 ?s6)
        (if	  (and  (min_precedes ?s1 ?s5 ?a)
                        (min_precedes ?s6 ?s2 ?a)
                        (next_subocc ?s5 ?s6 ?a))
                  (exists (?s7 ?s8)
                        (and    (min_precedes ?s3 ?s7 ?a)
                                (min_precedes ?s8 ?s4 ?a)
                                (next_subocc ?s7 ?s8 ?a)
                                (iso_occ ?s5 ?s7 ?a)
                                (iso_occ ?s6 ?s8 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'Every atomic subactivity occurrence in ?occ can be embedded in a branch') (cl:comment 'of the subtree whose root occurrence is ?s.') (cl:comment '') (cl:comment '
')
(forall (?s ?occ) (iff (reptree ?s ?occ)
(forall (?s1 ?a)
	(if	  (and	(occurrence_of ?occ ?a)
			(subactivity_occurrence ?s1 ?occ))
		  (exists (?s2 ?s3 ?s4 ?occ1)
			(and	(same_tree ?occ ?occ1)
				(leaf_occ ?s2 ?occ1)
				(min_precedes ?s3 ?s1 ?a)
				(min_precedes ?s1 ?s4 ?a)
				(branch_mono ?s3 ?s4 ?s ?s2 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity occurrence is repetitive iff every branch in the same') (cl:comment 'activity tree can be embedded in a unique subtree. Intuitively, this is ') (cl:comment 'equivalent to the existence of a unique repeating subtree. ') (cl:comment '
')
(forall (?occ) (iff (repetitive ?occ)
(exists (?s ?occ2)
	(and	(same_tree ?occ ?occ2)
		(subactivity_occurrence ?s ?occ2)
		(forall (?occ1)
			(if	  (same_tree ?occ ?occ1)
				  (and	(reptree ?s ?occ1)
					(not (= ?s (root_occ ?occ1))))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is nondeterministically repetitive iff ') (cl:comment 'every branch in the same activity tree can be embedded in some subtree. ') (cl:comment 'Intuitively, this is equivalent to the existence of multiple') (cl:comment 'nonisomorphic repeating subtrees. ') (cl:comment '
')
(forall (?occ) (iff (nondet_repetitive ?occ)
(forall (?occ1)
	(if	  (same_tree ?occ ?occ1)
		  (exists (?s ?occ2) 
			(and	(same_tree ?occ ?occ2)
				(subactivity_occurrence ?s ?occ2)
				(reptree ?s ?occ1)
				(not (= ?s (root_occ ?occ1)))))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity occurrence is partially repetitive iff there exist repeating subtrees,') (cl:comment 'but there also exist branches in the same tree that cannot be mapped to any') (cl:comment 'repeating subtree. ') (cl:comment '
')
(forall (?occ) (iff (partial_repetitive ?occ)
(and	(exists (?occ1 ?occ2 ?s)
		(and 	(same_tree ?occ ?occ1)
			(same_tree ?occ ?occ2)
			(subactivity_occurrence ?s ?occ2)
			(rep_tree ?s ?occ1)
			(not (= ?s (root_occ ?occ1)))))
	(exists (?occ1)
		(forall (?s1)
			(if	  (reptree ?s1 ?occ1)
				  (= ?s1 (root_occ ?occ1))))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity occurrence is amorphous iff there are no repeating subtrees') (cl:comment 'in the same activity tree. ') (cl:comment '
')
(forall (?occ) (iff (amorphous ?occ)
(forall (?occ1 ?s)
	(if	  (and	(same_tree ?occ1 ?occ)
			(reptree ?s ?occ1))
		  (= ?s (root_occ ?occ1))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Skeletal Activity Trees') (cl:comment '

') (cl:comment '

Skeletal Activity Trees

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: skeletal.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: embedding.def

') (cl:comment ' Grammar: skeletal.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is fused if and only if every activity') (cl:comment 'occurrence between a root and a leaf occurrence is also a') (cl:comment 'subactivity occurrence of ?occ. ') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (fused ?occ) 
(forall (?s1 ?s2 ?s3)
	(if	  (and	(= ?s1 (root_occ ?occ))
			(subactivity_occurrence ?s2 ?occ)
			(precedes ?s1 ?s3)
			(precedes ?s3 ?s2))
		  (subactivity_occurrence ?s3 ?occ)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' The branch of the occurrence tree containing the activity occurrence ?occ') (cl:comment 'can be embedded into a dead branch in the same maximal embedded subtree. ') (cl:comment '
')
(forall (?occ) (iff (embed_occ ?occ)
(forall (?a ?s ?s1 ?s2 ?s3)
	(if	  (and	(occurrence_of ?occ ?a)
			(= ?s (root_occ ?occ))
			(next_subocc ?s1 ?s2 ?occ)
			(precedes ?s1 ?s3)
			(precedes ?s3 ?s2))
		  (exists (?s4 ?s5 ?s6)
			(and	(precedes ?s4 ?s5)
				(precedes ?s5 ?s6)
				(iso_occ ?s4 ?s1 ?a)
				(iso_occ ?s5 ?s3 ?a)
				(iso_occ ?s6 ?s3 ?a)
				(dead_branch ?s1 ?s4 ?a)
				(dead_branch ?s1 ?s6 ?a)))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity occurrence is free if and only if there exist') (cl:comment 'activity occurrences in the same tree that are fused and there') (cl:comment 'exist activity occurrences that are not fused. This is') (cl:comment 'equivalent to saying that there do not exist necessary external activity') (cl:comment 'occurrences. ') (cl:comment '
')
(forall (?occ) (iff (free ?occ)
(exists (?occ1 ?occ2)
	(and	(same_tree ?occ ?occ1)
		(same_tree ?occ ?occ2)
		(not (fused ?occ1))
		(fused ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity occurrence is assisted if and only if every') (cl:comment 'activity occurrence in the same tree are not fused. This is') (cl:comment 'equivalent to saying that there exist necessary external activity') (cl:comment 'occurrences. ') (cl:comment '
')
(forall (?occ) (iff (assisted ?occ)
(forall (?occ1)
	(if	  (same_tree ?occ ?occ1)
		  (not (fused ?occ1))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity is helpless if and only if between any two subactivity') (cl:comment 'occurrences, there exists an external activity occurrence. This is') (cl:comment 'equivalent to saying that external activities are always necessary. ') (cl:comment '
')
(forall (?occ) (iff (helpless ?occ)
(forall (?s1 ?s2)
	(if	  (next_subocc ?s1 ?s2 ?occ)
		  (exists (?s3)
			(and	(precedes ?s1 ?s3)
				(precedes ?s3 ?s2)
				(not (subactivity_occurrence ?s3 ?occ))))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity occurrence is unbound if and only if none of the activity') (cl:comment 'occurrences in the same tree can be embedded into dead branches. This is') (cl:comment 'equivalent to the nonexistence of forbidden external activities.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (unbound ?occ)
(forall (?occ1)
	(if	  (same_tree ?occ1 ?occ)
		  (not (embed_occ ?occ1))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' An activity occurrence is bound if and only if there exist activity') (cl:comment 'occurrences in the same tree that can be embedded into dead branches. This is') (cl:comment 'equivalent to the existence of forbidden external activities.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (bound ?occ)
(exists (?occ1 ?occ2)
	(and	(same_tree ?occ1 ?occ)
		(not (embed_occ ?occ1))
		(same_tree ?occ2 ?occ)
		(embed_occ ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 8 ') (cl:comment ' An activity occurrence is strict if and only if all accurrences') (cl:comment 'in the same tree are fused. This is equivalent to saying that all') (cl:comment 'external activity occurrences are forbidden. ') (cl:comment '
')
(forall (?occ) (iff (strict ?occ)
(forall (?occ1)
	(if	  (same_tree ?occ ?occ1)
		  (fused ?occ1)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Spectrum and Subtree Containment ') (cl:comment '

') (cl:comment '

Spectrum and Subtree Containment

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: subtree.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: subtree.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' One minimal activity tree for ?a can be embedded into another as a subtree iff') (cl:comment 'any atomic subactivity occurrence in the tree rooted in ?s1 can be mapped') (cl:comment 'to an atomic subactivity occurrence in the tree rooted in ?s2 in such a way') (cl:comment 'that the ordering is preserved. ') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (subtree_embed ?s1 ?s2 ?a)
(forall (?s3)
        (if	  (min_precedes ?s1 ?s3 ?a)
                  (exists (?s4)
                        (and    (min_precedes ?s2 ?s4 ?a)
				(iso_occ ?s4 ?s3 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is multiple outcome iff any two activity trees can be') (cl:comment 'embedded into one another. ') (cl:comment '
')
(forall (?a) (iff (multiple_outcome ?a)
(forall (?s1 ?s2)
	(if	  (and	(root ?s1 ?a)
			(root ?s2 ?a))
		  (or	(subtree_embed ?s1 ?s2 ?a)
			(subtree_embed ?s2 ?s1 ?a))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity ?a is weak outcome iff there exists a minimal activity') (cl:comment 'tree that can be embedded into all other minimal activity trees of ?a. ') (cl:comment '
')
(forall (?a) (iff (weak_outcome ?a)
(exists (?s1)
	(and	(root ?s1 ?a)
		(forall (?s2)
			(if	  (root ?s2 ?a)
				  (subtree_embed ?s2 ?s1 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity ?a has a nondeterministic outcome iff there exists a minimal activity') (cl:comment 'tree that can be embedded into other minimal activity trees of ?a, and there also') (cl:comment 'exists branches that cannot be embedded. ') (cl:comment '
')
(forall (?a) (iff (nondet_outcome ?a)
(exists (?s1 ?s2 ?s3)
	(and	(root ?s1 ?a)
		(root ?s2 ?a)
		(subtree_embed ?s2 ?s1 ?a)
		(root ?s3 ?a)
		(forall (?s4)
			(if	  (root ?s4 ?a)
				  (not (or	(subtree_embed ?s3 ?s4 ?a)
						(subtree_embed ?s4 ?s3 ?a)))))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity is imiscible iff no tree in the spectrum can be embedded') (cl:comment 'into any other. ') (cl:comment '
')
(forall (?a) (iff (imiscible ?a)
(forall (?s1 ?s2)
	(if	  (and	(root ?s1 ?a)
			(root ?s2 ?a))
		  (not (or	(subtree_embed ?s1 ?s2 ?a)
				(subtree_embed ?s2 ?s1 ?a)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Activity Trees and Reordering') (cl:comment '

') (cl:comment '

Activity Trees and Reordering

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: treeordered.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ordered.def

') (cl:comment ' Grammar: treeordered.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'An activity is treeordered iff the root subactivity occurrence of one') (cl:comment 'occurrence is root automorphic with every other root subactivity occurrence of ') (cl:comment 'other occurrences of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (treeordered ?a)
(forall (?occ1 ?occ2)
        (if	  (and  (occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(not (same_grove ?occ1 ?occ2)))
                  (root_automorphic ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity occurrence is nondeterministically treeordered iff each ') (cl:comment 'root subactivity occurrence of the minimal activity tree is root automorphic ') (cl:comment 'to some other root subactivity occurrence in the occurrence tree. ') (cl:comment '
')
(forall (?a) (iff (nondet_treeordered ?a)
(forall (?occ1)
        (if	  (occurrence_of ?occ1 ?a)
                  (exists (?occ2)
                        (and    (occurence_of ?occ2 ?a)
                                (not (same_grove ?occ1 ?occ2))
                                (root_automorphic ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is partially treeordered iff there exist root subactivity') (cl:comment 'occurrences of the minimal activity tree that are root automorphic to some other ') (cl:comment 'root subactivity occurrences in the occurrence tree,') (cl:comment 'and there also exist root subactivity occurrences that are not root automorphic') (cl:comment 'to any other root subactivity occurrence.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_treeordered ?a)
(exists (?occ1 ?occ2)
        (and    (occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
                (not (same_grove ?occ1 ?occ2))
                (root_automorphic ?occ1 ?occ2)
                (forall (?occ3)
                        (if	  (and  (occurrence_of ?occ3 ?a)
                                        (not (same_grove ?occ3 ?occ2)))
                                  (not (root_automorphic ?occ3 ?occ2))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is scrambled iff none of the branches in an activity tree are ') (cl:comment 'root automorphic to any other activity tree. ') (cl:comment '
')
(forall (?a) (iff (scrambled ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(not (same_grove ?occ1 ?occ2)))
		  (not (root_automorphic ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Classes of Atomic Activities') (cl:comment '

') (cl:comment '

Classes of Atomic Activities: Upwards Concurrency

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: up_concurrent.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is natural iff it is a subactivity of any activity that is') (cl:comment 'possible whenever it is possible. ') (cl:comment '
')
(forall (?a ?s) (iff (natural ?a ?s)
(forall (?a1)
	(if	  (and	(poss ?a ?s)
			(poss ?a1 ?s))
		  (subactivity ?a ?a1)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is an artificial activity iff ') (cl:comment '
')
(forall (?a ?s) (iff (artificial ?a ?s)
(forall (?a1)
	(if	  (and	(poss ?a ?s)
			(poss ?a1 ?s)
			(not (subactivity ?a1 ?a)))
		  (poss (conc ?a ?a1) ?s)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a performed activity iff ') (cl:comment '
')
(forall (?a ?s) (iff (performed ?a ?s)
(exists (?a1 ?a2)
	(and	(subactivity ?a1 ?a)
		(subactivity ?a2 ?a)
		(poss ?a ?s)
		(not (poss (conc ?a1 ?a2) ?s))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is an up_ghost activity iff ') (cl:comment '
')
(forall (?a ?s) (iff (up_ghost ?a ?s)
(forall (?a1)
	(if	  (and	(poss ?a1 ?s)
			(subactivity ?a ?a1))
		  (poss ?a ?s)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity is an up_conflict activity iff ') (cl:comment '
')
(forall (?a ?s) (iff (up_conflict ?a ?s)
(forall (?a1)
	(if	  (poss (conc ?a ?a1) ?s)
		  (or	(poss ?a ?s)
			(poss ?a1 ?s)
			(subactivity ?a ?a1))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity is a quark activity iff ') (cl:comment '
')
(forall (?a ?s) (iff (quark ?a ?s)
(exists (?a1)
	(and	(atomic ?a1)
		(subactivity ?a ?a1)
		(poss ?a1 ?s)
		(not (poss ?a ?s))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Fluent Trees ') (cl:comment '

') (cl:comment '

Fluent Trees

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: achieve.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, psl_core.th') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' A fluent ?f is achieved by an occurrence ?occ iff it does not hold before') (cl:comment 'the occurrence, but it does hold after the occurrence. ') (cl:comment '
')
(forall (?f ?occ) (iff (achieved ?f ?occ)
(and    (holds ?f ?occ)
        (not (prior ?f ?occ)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' A fluent ?f is falsified by an occurrence ?occ iff it holds in before the') (cl:comment 'occurrence but it does not hold after the occurrence. ') (cl:comment '
')
(forall (?f ?occ) (iff (falsified ?f ?occ)
(and    (not (holds ?f ?occ))
        (prior ?f ?occ))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' A fluent is irreversible iff it is never falsified. ') (cl:comment '
')
(forall (?f) (iff (irreversible ?f)
(not (exists (?occ)
	(falsified ?f ?occ)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' A fluent is unachievable iff it is never achieved. ') (cl:comment '
')
(forall (?f) (iff (unachievable ?f)
(not (exists (?occ)
	(achieved ?f ?occ)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment '
')
(forall (?f) (iff (bounded ?f)
(exists (?occ1 ?occ2)
	(and	(achieved ?f ?occ1)
		(falsified ?f ?occ2)))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment ' Effects for Concurrent Activities ') (cl:comment '
') (cl:comment '

Effects for Concurrent Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: clobber.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: atomic.th, disc_state.th, ') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: none') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'The effects of an activity ?a1 are preserved by an activity ?a') (cl:comment 'if the effects of any superactivity of ?a are equivalent to the') (cl:comment 'effects of that superactivity concurrently with ?a1.') (cl:comment '') (cl:comment '
')
(forall (?a ?a1 ?s) (iff (preserved_effects ?a ?a1 ?s) 
(forall (?a2 ?f)
	(if  (subactivity ?a ?a2)
		  (iff	(holds ?f (successor ?a2 ?s))
			(holds ?f (successor (conc ?a2 ?a1) ?s)))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' ') (cl:comment 'An activity ?a is nonclobbering iff it preserves the effects') (cl:comment 'of any atomic activity.') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (nonclobbering ?a ?s) 
(forall (?a1)
	(if  (atomic ?a1)
		  (preserved_effects ?a ?a1 ?s)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity ?a is clobbering iff there exists an atomic activity') (cl:comment 'whose effects are not preserved by ?a.') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (clobbering ?a ?s) 
(exists (?a1)
	(and	(atomic ?a1)
		(not (preserved_effects ?a ?a1 ?s))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment 'An activity ?a is meddling iff it does not preserve the effects') (cl:comment 'of any atomic activity.') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (meddling ?a ?s) 
(forall (?a1)
	(if  (atomic ?a1)
		  (not (preserved_effects ?a ?a1 ?s))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' ') (cl:comment 'An activity is a global clobber iff it preserves effects') (cl:comment 'at all occurrences in the occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (global_clobber ?a) 
(forall (?a1)
	(if  (atomic ?a1)
		  (forall (?s1 ?s2)
			(iff	(preserved_effects ?a ?a1 ?s1)
				(preserved_effects ?a ?a1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Distribution of Complex Activities') (cl:comment '

') (cl:comment '

Distribution of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: distribution.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, disc_state.th, ') (cl:comment 'complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: none

') (cl:comment ' Grammar: distribution.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'The activity occurrence ?occ is an element of the profile for the activity ?a') (cl:comment 'iff ?occ is the initial occurrence in a branch of the occurrence') (cl:comment 'tree that is occurrence-isomorphic to a branch of an activity tree for ?a.') (cl:comment '') (cl:comment '
')
(forall (?occ ?a) (iff (profile ?occ ?a)
(exists (?occ1 ?occ2 ?a1)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ ?a1)
		(occurrence_of ?occ2 ?a1)
		(= ?occ2 (root_occ ?occ1))
		(forall (?occ3 ?a2)
			(if	  (and	(subactivity_occurrence ?occ3 ?occ1)
					(occurrence_of ?occ3 ?a2))
				  (exists (?occ4)
					(and	(occurrence_of ?occ4 ?a2)
						(precedes ?occ ?occ4)))))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' Two activity occurrences ?occ1 and ?occ2 in the occurrence tree are ') (cl:comment 'root-equivalent with respect to an activity ?a if and only if there') (cl:comment 'exist occurrences of ?a succeeding both ?occ1 and ?occ2. ') (cl:comment '
')
(forall (?a ?occ1 ?occ2) (iff (root_equiv ?a ?occ1 ?occ2)
(if	  (and	(profile ?occ1 ?a)
		(profile ?occ2 ?a))
	  (iff	(root ?occ1 ?a)
		(root ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is universal iff it occurs whenever it is possible. ') (cl:comment '
')
(forall (?a) (iff (universal ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(profile ?occ1 ?a)
			(profile ?occ2 ?a))
		  (root_equiv ?a ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is restricted iff there exist activities that are') (cl:comment 'root equivalent. ') (cl:comment '
')
(forall (?a) (iff (restricted ?a)
(and    (exists (?a1)
                (forall (?occ1 ?occ2)
                        (if	  (and    (occurrence_of ?occ1 ?a1)
                                          (occurrence_of ?occ2 ?a1)
					  (profile ?occ1 ?a)
					  (profile ?occ2 ?a))
                                  (root_equiv ?a ?occ1 ?occ2))))
        (exists (?a2 ?occ3 ?occ4)
                (and    (occurrence_of ?occ3 ?a2)
                        (occurrence_of ?occ4 ?a2)
			(profile ?occ3 ?a)
			(profile ?occ4 ?a)
                        (not (root_equiv ?a ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity is constrained iff every activity has occurrences') (cl:comment 'that are not root equivalent. ') (cl:comment '
')
(forall (?a) (iff (local ?a)
(forall (?a1)
        (exists (?occ1 ?occ2)
                (and    (occurrence_of ?occ1 ?a1)
                        (occurrence_of ?occ2 ?a1)
			(profile ?occ1 ?a)
			(profile ?occ2 ?a)
                        (not (root_equiv ?a ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Variation for Downwards Atomic Activities') (cl:comment '

') (cl:comment '

Variation for Downwards Atomic Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: up_variation.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: precond.def,') (cl:comment 'state_precond.def, time_precond.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a global ideal activity iff every subactivity is ') (cl:comment 'has equivalent preconditions whenever the activity is possible. ') (cl:comment '
')
(forall (?a) (iff (state_ideal ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a ?a1)
			(poss ?a ?s1)
			(poss ?a ?s2)
			(state_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_state_ideal ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a ?a1)
                        		(poss ?a ?s1)
                        		(poss ?a ?s2)
					(state_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a ?a2)
			(poss ?a ?s3)
			(poss ?a ?s4)
			(state_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_state_ideal ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (state_equiv ?s1 ?s2)
			(subactivity ?a ?a1)
			(poss ?a ?s1)
			(poss ?a ?s2)
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (time_ideal ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a ?a1)
			(poss ?a ?s1)
			(poss ?a ?s2)
			(begin_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_time_ideal ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a ?a1)
                        		(poss ?a ?s1)
                        		(poss ?a ?s2)
					(begin_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a ?a2)
			(poss ?a ?s3)
			(poss ?a ?s4)
			(begin_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_time_ideal ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (begin_equiv ?s1 ?s2)
			(poss ?a ?s1)
			(poss ?a ?s2)
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' An activity is a global ideal activity iff every subactivity is ') (cl:comment 'has equivalent preconditions whenever the activity is possible. ') (cl:comment '
')
(forall (?a) (iff (state_nonideal ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a ?a1)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
			(state_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 8 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_state_nonideal ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a ?a1)
                        		(not (poss ?a ?s1))
                        		(not (poss ?a ?s2))
					(state_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a ?a2)
			(not (poss ?a ?s3))
			(not (poss ?a ?s4))
			(state_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 9 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_state_nonideal ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (state_equiv ?s1 ?s2)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 10 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (time_nonideal ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a ?a1)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
			(begin_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 11 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_time_nonideal ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a ?a1)
                        		(not (poss ?a ?s1))
                        		(not (poss ?a ?s2))
					(begin_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a ?a2)
			(not (poss ?a ?s3))
			(not (poss ?a ?s4))
			(begin_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 12 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_time_nonideal ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (begin_equiv ?s1 ?s2)
			(subactivity ?a ?a1)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Effects of Activities ') (cl:comment '

') (cl:comment '

Effects of Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: effects.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, psl_core.th ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: none

') (cl:comment ' Grammar: effects.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' Two occurrences of an atomic activity are effects equivalent iff the same states hold') (cl:comment 'after the occurrences. ') (cl:comment '
')
(forall (?a ?s1 ?s2) (iff (effects_equiv ?a ?s1 ?s2)
(and    (occurrence_of ?s1 ?a)
        (occurrence_of ?s2 ?a)
        (forall (?f)
                (iff	(holds ?f ?s1)
			(holds ?f ?s2))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is context-free iff any fluent changed by one occurrence') (cl:comment 'of the activity is changed by all occurrences of the activity. ') (cl:comment '
')
(forall (?a) (iff (context_free ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is null iff it does not have any effects, that is,') (cl:comment 'none of its occurrences either achieves or falsfies any fluent. ') (cl:comment '
')
(forall (?a) (iff (null ?a)
(forall (?s)
        (if	  (occurrence_of ?s ?a)
		  (forall (?f)
			(iff    (holds ?f ?s)
                                (prior ?f ?s)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Historical Preconditions for Activities ') (cl:comment '

') (cl:comment '

Historical Preconditions for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: spoilage.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'occ_precond.def, state_precond.def, time_precond.def, precond.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (historical ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(state_equiv ?s1 ?s2)
			(begin_equiv ?s1 ?s2)
			(tree_equiv ?s1 ?s2))
		  (legal_equiv ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (possibly_historical ?a)
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(state_equiv ?s1 ?s2)
					(begin_equiv ?s1 ?s2)
					(tree_equiv ?s1 ?s2))
				  (legal_equiv ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (nonhistorical ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(state_equiv ?s1 ?s2)
				(begin_equiv ?s1 ?s2)
				(tree_equiv ?s1 ?s2)
				(not (legal_equiv ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Preconditions for Concurrent Activities ') (cl:comment '

') (cl:comment '

Preconditions for Concurrent Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: interfere.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: atomic.th, disc_state.th, ') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: none') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a ?a1 ?s) (iff (preserved_filter ?a ?a1 ?s)
(forall (?a2)
	(if	  (subactivity ?a ?a2)
		  (iff	(poss ?a2 ?s)
			(poss (conc ?a2 ?a1) ?s))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (noninterfering ?a ?s)
(forall (?a1)
	(if	  (atomic ?a1)
		  (preserved_filter ?a ?a1 ?s)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (interfering ?a ?s)
(exists (?a1)
	(and	(atomic ?a1)
		(not (preserved_filter ?a ?a1 ?s))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a ?s) (iff (imperial ?a ?s)
(forall (?a1)
	(if	  (atomic ?a1)
		  (not (preserved_filter ?a ?a1 ?s))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (global_interfere ?a)
(forall (?a1)
	(if	  (atomic ?a1)
		  (forall (?s1 ?s2)
			(iff	(preserved_filter ?a ?a1 ?s1)
				(preserved_filter ?a ?a1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Mixed Distribution of Complex Activities') (cl:comment '

') (cl:comment '

Mixed Distribution of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: mixed_distribution.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, disc_state.th, ') (cl:comment 'complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: distribution.def, ') (cl:comment 'precond.def, start.def

') (cl:comment ' Grammar: mixed_distribution.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a conditional launch activity if and only if whenever ') (cl:comment 'two occurrences agree on state and their beginof timepoints, ') (cl:comment 'then they agree on the occurrences of the activity. ') (cl:comment '
 ')
(forall (?a) (iff (conditional_launch ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(profile ?occ1 ?a)
			(profile ?occ2 ?a)
			(state_equiv ?occ1 ?occ2)
			(begin_equiv ?occ1 ?occ2))
		  (root_equiv ?a ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partial conditional launch activity if and only if') (cl:comment 'there exist occurrences such that whenever they') (cl:comment 'agree on state and their beginof timepoints, ') (cl:comment 'then they also agree on the occurrences of the activity.') (cl:comment '') (cl:comment '
 ')
(forall (?a) (iff (partial_conditional_launch ?a)
(and    (exists (?occ1)
                (forall (?occ2)
                        (if	  (and	(profile ?occ1 ?a)
					(profile ?occ2 ?a)
					(state_equiv ?occ1 ?occ2)
					(begin_equiv ?occ1 ?occ2))
                                  (root_equiv ?a ?occ1 ?occ2))))
        (exists (?occ3 ?occ4)
                (and    (profile ?occ3 ?a)
			(profile ?occ4 ?a)
			(state_equiv ?occ3 ?occ4)
			(begin_equiv ?occ3 ?occ4)
                        (not (root_equiv ?a ?occ3 ?occ4)))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a nontrigger activity if and only if the only') (cl:comment 'occurrence-preserving automorphism that also preserves both state and time') (cl:comment 'is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (unconditional_launch ?a)
(forall (?occ1)
	(if	  (profile ?occ1 ?a)
        	  (exists (?occ2)
                	(and    (profile ?occ2 ?a)
				(state_equiv ?occ1 ?occ2)
				(begin_equiv ?occ1 ?occ2)
                        	(not (root_equiv ?a ?occ1 ?occ2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Preconditions based on State and Time') (cl:comment '

') (cl:comment '

Preconditions based on State and Time

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: mixed_precond.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: state_precond.def,') (cl:comment 'time_precond.def

') (cl:comment ' Grammar: mixed_precond.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a mixed preconditional activity iff whenever') (cl:comment 'two occurrences agree on state and their beginof timepoints, ') (cl:comment 'then they agree on the extension of poss for the activity. ') (cl:comment '
')
(forall (?a) (iff (mixed_precond ?a)
(forall (?s1 ?s2)
        (if	  (and	(state_equiv ?s1 ?s2)
			(begin_equiv ?s1 ?s2))
                  (poss_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partially mixed constrained activity') (cl:comment 'if and only if there exist occurrence-preserving automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_mixed ?a)
(and    (exists (?s1)
                (forall (?s2)
                        (if	  (and	(state_equiv ?s1 ?s2)
					(begin_equiv ?s1 ?s2))
                                  (poss_equiv ?a ?s1 ?s2))))
        (exists (?s3 ?s4)
                (and    (state_equiv ?s3 ?s4)
			(begin_equiv ?s3 ?s4)
                        (not (poss_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a rigid mixed activity if and only if the only ') (cl:comment 'occurrence-preserving automorphism that is both a fluent automorphism ') (cl:comment 'and a timeline automorphism, is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (rigid_mixed ?a)
(forall (?s1)
        (exists (?s2)
                (and    (state_equiv ?s1 ?s2)
			(begin_equiv ?s1 ?s2)
                        (not (poss_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Mixed Variation of Complex Activities') (cl:comment '

') (cl:comment '

Mixed Variation of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: mixed_variation.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: variation.def,') (cl:comment 'precond.def, start.def

') (cl:comment ' Grammar: mixed_variation.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is mixed conditional if and only if ') (cl:comment 'any two of its minimal activity trees are isomorphic if and only if ') (cl:comment 'the roots agree on state and the timepoint and which they begin. ') (cl:comment '
')
(forall (?a) (iff (mixed_conditional ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(root ?occ1 ?a)
			(root ?occ2 ?a)
			(begin_equiv ?occ1 ?occ2)
			(state_equiv ?occ1 ?occ2))
		  (min_equiv ?occ1 ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is partial mixed conditional if and only if ') (cl:comment 'there exist minimal activity trees that are isomorphic if and only if ') (cl:comment 'the roots agree on state and the timepoint and which they begin.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_mixed_conditional ?a)
(and	(exists (?occ1)
		(forall (?occ2)
			(if	  (and	(root ?occ1 ?a)
					(root ?occ2 ?a)
					(begin_equiv ?occ1 ?occ2)
					(state_equiv ?occ1 ?occ2))
				  (min_equiv ?occ1 ?occ2 ?a))))
	(exists (?occ3 ?occ4)
		(and	(root ?occ3 ?a)
			(root ?occ4 ?a)
			(begin_equiv ?occ3 ?occ4)
			(state_equiv ?occ3 ?occ4)
			(not (min_equiv ?occ3 ?occ4 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is rigid mixed conditional if and only if ') (cl:comment 'the only automorphisms that preserve occurrences, timepoints, and state') (cl:comment 'are the trivial ones.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_mixed_conditional ?a)
(forall (?occ1)
	(exists (?occ2)
		(and	(root ?occ1 ?a)
			(root ?occ2 ?a)
			(begin_equiv ?occ1 ?occ2)
			(state_equiv ?occ1 ?occ2)
			(not (min_equiv ?occ1 ?occ2 ?a)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Occurrence-based Effects for Activities ') (cl:comment '

') (cl:comment '

Occurrence-based Effects for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: occ_effects.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: effects.def,') (cl:comment 'occ_precond.def

') (cl:comment ' Grammar: occ_effects.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'An activity has occurrence constrained effects if and only if') (cl:comment 'the effects of the activity are preserved by occurrence tree') (cl:comment 'endomorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (occ_effects ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(tree_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity has occurrence dependent effects if and only if') (cl:comment 'there exist occurrence tree endomorphisms that preserve ') (cl:comment 'the effects of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (occ_depend_effects ?a)
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(tree_equiv ?s1 ?s2))
				  (effects_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity has no occurrence dependent effects if and only if') (cl:comment 'the only occurrence tree endomorphism that preserve') (cl:comment 'the effects of the activity is the trivial one.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (nonocc_effects ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(tree_equiv ?s1 ?s2)
				(not (effects_equiv ?a ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Occurrence-based Preconditions for Activities ') (cl:comment '

') (cl:comment '

Occurrence-based Preconditions for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: occ_precond.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: precond.def

') (cl:comment ' Grammar: occ_precond.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' Two activity occurrences are tree equivalent if only if they are in the') (cl:comment 'same orbit of the group space in which the tree-preserving group acts') (cl:comment 'on the legal occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?a ?s1 ?s2)
(iff	(tree_equiv (successor ?a ?s1) (successor ?a ?s2))
	(and	(legal_equiv ?s1 ?s2)
		(or	(tree_equiv ?s1 ?s2)
			(initial ?s1)
			(initial ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' ') (cl:comment 'An activity is occurrence constrained if and only if all occurrence') (cl:comment 'tree endomorphisms preserve legal occurrences of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (occurrence_constrained ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(tree_equiv ?s1 ?s2))
		  (legal_equiv ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An activity is occurrence dependent if and only if there exist occurrence') (cl:comment 'tree endomorphisms that preserve legal occurrences of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (occurrence_dependent ?a)
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(tree_equiv ?s1 ?s2))
				  (legal_equiv ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment 'An activity is occurrence independent if and only if there is no') (cl:comment 'nontrivial occurrence tree endomorphism that preserves ') (cl:comment 'legal occurrences of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (occurrence_independent ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(tree_equiv ?s1 ?s2)
				(not (legal_equiv ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Periodic Preconditions for Activities ') (cl:comment '

') (cl:comment '

Periodic Preconditions for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: periodic.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'occ_precond.def, time_precond.def, precond.def

') (cl:comment ' Grammar: periodic.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'An activity is periodic if and only if legal occurrences depend') (cl:comment 'on the timepoints at which other activities occur. In particular,') (cl:comment 'activity occurrences that are in the same orbit of occurrence tree') (cl:comment 'endormorphisms are also in the same orbit of timeline automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (periodic ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(begin_equiv ?s1 ?s2)
			(tree_equiv ?s1 ?s2))
		  (legal_equiv ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity is intermittent if and only if legal occurrences depend') (cl:comment 'on the timepoints at which other activities occur. In particular,') (cl:comment 'there exist activity occurrences that are in the same orbit of occurrence tree') (cl:comment 'endormorphisms and that are also in the same orbit of timeline automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (intermittent ?a)
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(begin_equiv ?s1 ?s2)
					(tree_equiv ?s1 ?s2))
				  (legal_equiv ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity is aperiodic if and only if there is no relationship') (cl:comment 'between legal occurrences and the timepoints at which other activities occur.') (cl:comment 'In particular, the only occurrence tree endomorphism that preserves') (cl:comment 'the beginof other activity occurrences is the trivial one.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (aperiodic ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(begin_equiv ?s1 ?s2)
				(tree_equiv ?s1 ?s2)
				(not (legal_equiv ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Plans') (cl:comment '

') (cl:comment '

Embedded Activities: Plans

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: plan.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: embedding.def, ') (cl:comment 'state_precond.def

') (cl:comment ' Grammar: plan.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'An activity tree with root occurrence ?s is a plan if and only if') (cl:comment 'all occurrences of subactivities in the maximal embedded subtree that ') (cl:comment 'agree on state also agree on being subactivity occurrences.') (cl:comment '') (cl:comment '
')
(forall (?s) (iff (plan ?s)
(forall (?a ?s1 ?s2)
	(if	  (and	(root ?s ?a)
			(embed_tree ?s1 ?s2 ?s ?a)
			(state_equiv ?s1 ?s2))
		  (subocc_equiv ?s1 ?s2 ?s ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity tree with root occurrence ?s is a nondeterministic plan if and only if') (cl:comment 'there exist occurrences of subactivities in the maximal embedded subtree that ') (cl:comment 'agree on state and that also agree on being subactivity occurrences.') (cl:comment '') (cl:comment '
')
(forall (?s) (iff (nondet_plan ?s)
(exists (?a ?s1 ?s3 ?s4)
	(and 	(root ?s ?a)
		(forall (?s2)
			(if	  (and	(embed_tree ?s1 ?s2 ?s ?a)
					(state_equiv ?s1 ?s2))
				  (subocc_equiv ?s1 ?s2 ?s ?a)))
		(state_equiv ?s3 ?s4)
		(embed_tree ?s3 ?s4 ?s ?a)
		(not (subocc_equiv ?s3 ?s4 ?s ?a))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An activity tree with root occurrence ?s is an unplan if and only if') (cl:comment 'for every subactivity occurrence, there exists another occurrence of') (cl:comment 'the subactivity that agrees on state but that is not a subactivity occurrence.') (cl:comment '') (cl:comment '
')
(forall (?s) (iff (unplan ?s)
(forall (?s1 ?a)
	(if	  (root ?s ?a)
		  (exists (?s2)
			(and	(embed_tree ?s1 ?s2 ?s ?a)
				(state_equiv ?s1 ?s2)
				(not (subocc_equiv ?s1 ?s2 ?s ?a))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Preconditions ') (cl:comment '

') (cl:comment '

Preconditions for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: precond.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: none

') (cl:comment ' Grammar: precond.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' Two atomic activity occurrences are legal equivalent with respect to an ') (cl:comment 'activity iff the two occurrences agree on their membership in the legal ') (cl:comment 'occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2) (iff (legal_equiv ?s1 ?s2)
(iff    (legal ?s1)
        (legal ?s2))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' Two activity occurrences are precondition equivalent with respect to an activity') (cl:comment 'iff the two occurrences agree on the legality of the occurrences') (cl:comment 'of the activity. ') (cl:comment '
')
(forall (?a ?s1 ?s2) (iff (poss_equiv ?a ?s1 ?s2)
(if	  (and	(occurrence_of ?s1 ?a)
		(occurrence_of ?s2 ?a))
	  (legal_equiv ?s1 ?s2))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is unconstrained iff all activity occurrences in the occurrence') (cl:comment 'tree are precondition equivalent. ') (cl:comment '
')
(forall (?a) (iff (unconstrained ?a)
(forall (?s1 ?s2)
	(if	  (and	(activity_occurrence ?s1)
			(activity_occurrence ?s2))
		  (poss_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity ?a is partially constrained iff all occurrences of certain') (cl:comment 'activities within the occurrence tree are precondition equivalent with respect') (cl:comment 'to ?a. ') (cl:comment '
')
(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)))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity ?a is constrained iff every activity has occurrences ') (cl:comment 'that are not precondition equivalent with respect to ?a. ') (cl:comment '
')
(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)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Preventable Preconditions for Activities ') (cl:comment '

') (cl:comment '

Preventable Preconditions for Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: preventable.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'occ_precond.def, state_precond.def, precond.def

') (cl:comment ' Grammar: preventable.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'An activity is preventable if and only if legal occurrences depend') (cl:comment 'on the fluents that hold at other activity occurrences in the tree. ') (cl:comment 'In particular, activity occurrences that are in the same orbit of occurrence tree') (cl:comment 'endormorphisms are also in the same orbit of fluent automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (preventable ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(state_equiv ?s1 ?s2)
			(tree_equiv ?s1 ?s2))
		  (legal_equiv ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity is possibly preventable if and only if legal occurrences depend') (cl:comment 'on the fluents that hold at other activity occurrences in the tree. ') (cl:comment 'In particular, there exist activity occurrences that are in the same ') (cl:comment 'orbit of occurrence tree endormorphisms that are also in the same ') (cl:comment 'orbit of fluent automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (possibly_preventable ?a) 
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(state_equiv ?s1 ?s2)
					(tree_equiv ?s1 ?s2))
				  (legal_equiv ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity is unpreventable if and only if there is no relationship') (cl:comment 'between legal occurrences and the fluents that hold at other activity') (cl:comment 'occurrences. In particular, the only occurrence tree endomorphism that ') (cl:comment 'preserves fluents is the trivial one.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (unpreventable ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(state_equiv ?s1 ?s2)
				(tree_equiv ?s1 ?s2)
				(not (legal_equiv ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Effects of Activities: Occurrence Constraints ') (cl:comment '

') (cl:comment '

Effects of Activities: Occurrence Constraints

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: quantum.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'occ_precond.def, effects.def, state_precond.def

') (cl:comment ' Grammar: quantum.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'An activity is a quantum activity if and only if its effects depend') (cl:comment 'on the fluents that hold at other activity occurrences in the tree.') (cl:comment 'In particular, effects are preserved by occurrence tree endomorphisms') (cl:comment 'that also preserve fluents.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (quantum ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(state_equiv ?s1 ?s2)
			(tree_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity is a semiclassical activity if and only if ') (cl:comment 'there exist occurrence tree endomorphisms') (cl:comment 'that also preserve fluents and the effects of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (semiclassical ?a)
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(state_equiv ?s1 ?s2)
					(tree_equiv ?s1 ?s2))
				  (effects_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity is classical if and only if its effects are independent') (cl:comment 'of the occurrences of any other activities in the occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (classical ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(state_equiv ?s1 ?s2)
				(tree_equiv ?s1 ?s2)
				(not (effects_equiv ?a ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Effects of Activities: Temporal and Occurrence Constraints ') (cl:comment '

') (cl:comment '

Effects of Activities: Temporal and Occurrence Constraints

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: relativistic.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'occ_precond.def, effects.def, time_precond.def

') (cl:comment ' Grammar: relativistic.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'An activity is relativistic if and only if its effects depend') (cl:comment 'on the timepoints at which other activities occur in the tree.') (cl:comment 'In particular, effects are preserved by occurrence tree endomorphisms') (cl:comment 'that also preserve the timeline.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (relativistic ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(begin_equiv ?s1 ?s2)
			(tree_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity is a seminewton activity if and only if') (cl:comment 'there exist occurrence tree endomorphisms') (cl:comment 'that also preserve the timeline and the effects of the activity.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (seminewton ?a)
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(begin_equiv ?s1 ?s2)
					(tree_equiv ?s1 ?s2))
				  (effects_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity is newtonian if and only if its effects are independent') (cl:comment 'of the beginof timepoints of occurrences of any other activities in ') (cl:comment 'the occurrence tree.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (newtonian ?a)
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(begin_equiv ?s1 ?s2)
				(tree_equiv ?s1 ?s2)
				(not (effects_equiv ?a ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Temporal Spread') (cl:comment '

') (cl:comment '

Embedded Activities: Temporal Spread

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: spread.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: embedding.def, ') (cl:comment 'time_precond.def

') (cl:comment ' Grammar: spread.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is spread if and only if') (cl:comment 'every subactivity occurrence of ?occ is temporally constrained.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (spread ?occ)
(forall (?a ?s1 ?s2 ?s3)
	(if	  (and	(occurrence_of ?occ ?a)
			(= ?s3 (root_occ ?occ))
			(subactivity_occurrence ?s1 ?occ)
			(iso_occ ?s1 ?s2 ?a)
			(embed_tree ?s1 ?s2 ?s3 ?a)
			(begin_equiv ?s1 ?s2))
		  (subocc_equiv ?s1 ?s2 ?s3 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is partially spread if and only if') (cl:comment 'some subactivity occurrences of ?occ are temporally constrained.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (partial_spread ?occ)
(exists (?a ?s ?s1 ?s3 ?s4)
	(and 	(occurrence_of ?occ ?a)
		(= ?s (root_occ ?occ))
		(subactivity_occurrence ?s1 ?occ)
		(forall (?s2)
			(if	  (and	(iso_occ ?s1 ?s2 ?a)
					(embed_tree ?s1 ?s2 ?s ?a)
					(begin_equiv ?s1 ?s2))
				  (subocc_equiv ?s1 ?s2 ?s ?a)))
		(subactivity_occurrence ?s3 ?occ)
		(iso_occ ?s3 ?s4 ?a)
		(begin_equiv ?s3 ?s4)
		(embed_tree ?s3 ?s4 ?s ?a)
		(not (subocc_equiv ?s3 ?s4 ?s ?a))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is partially tight if and only if') (cl:comment 'none of the subactivity occurrences of ?occ are temporally constrained.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (tight ?occ)
(forall (?s ?s1 ?a)
	(if	  (and	(occurrence_of ?occ ?a)
			(= ?s (root_occ ?occ))
			(subactivity_occurrence ?s1 ?occ))
		  (exists (?s2)
			(and	(iso_occ ?s1 ?s2 ?a)
				(embed_tree ?s1 ?s2 ?s ?a)
				(begin_equiv ?s1 ?s2)
				(not (subocc_equiv ?s1 ?s2 ?s ?a))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'State-based Distribution of Complex Activities') (cl:comment '

') (cl:comment '

State-based Distribution of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: state_distribution.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: distribution.def, ') (cl:comment 'state_precond.def

') (cl:comment ' Grammar: state_distribution.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a trigger activity iff whenever ') (cl:comment 'two occurrences agree on state, then they agree on the occurrences of the') (cl:comment 'activity. ') (cl:comment '
 ')
(forall (?a) (iff (trigger ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(profile ?occ1 ?a)
			(profile ?occ2 ?a)
			(state_equiv ?occ1 ?occ2))
		  (root_equiv ?a ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partial trigger activity iff there exist') (cl:comment 'occurrences that agree on state and on the occurrence of the ') (cl:comment 'activity.') (cl:comment '') (cl:comment '
 ')
(forall (?a) (iff (partial_trigger ?a)
(and    (exists (?occ1)
                (forall (?occ2)
                        (if	  (and	(profile ?occ1 ?a)
					(profile ?occ2 ?a)
					(state_equiv ?occ1 ?occ2))
                                  (root_equiv ?a ?occ1 ?occ2))))
        (exists (?occ3 ?occ4)
                (and    (profile ?occ3 ?a)
			(profile ?occ4 ?a)
			(state_equiv ?occ3 ?occ4)
                        (not (root_equiv ?a ?occ3 ?occ4)))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a nontrigger activity if and only if the only') (cl:comment 'occurrence-preserving fluent automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (nontrigger ?a)
(forall (?occ1)
	(if	  (profile ?occ1 ?a)
        	  (exists (?occ2)
                	(and    (profile ?occ2 ?a)
				(state_equiv ?occ1 ?occ2)
                        	(not (root_equiv ?a ?occ1 ?occ2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'State-based Effects of Activities') (cl:comment '

') (cl:comment '

State-based Effects of Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: state_effects.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: effects.def, ') (cl:comment 'state_precond.def

') (cl:comment ' Grammar: state_effects.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a Markovian effect activity iff whenever') (cl:comment 'any two occurrences of the activity agree on state, then they agree on the effects (i.e.') (cl:comment 'the states that hold after the occurrence. ') (cl:comment '
 ')
(forall (?a) (iff (markov_effects ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(state_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partially state constrained activity') (cl:comment 'if and only if there exist effect-preserving fluent automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_state_effects ?a)
(and    (exists (?s1)
                (forall (?s2)
                        (if	  (state_equiv ?s1 ?s2)
				  (effects_equiv ?a ?s1 ?s2))))
        (exists (?s3 ?s4)
                (and    (state_equiv ?s3 ?s4)
                        (not (effects_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a rigid state activity if and only if the only') (cl:comment 'effects-preserving fluent automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (rigid_state_effects ?a)
(forall (?s1)
        (exists (?s2)
                (and    (state_equiv ?s1 ?s2)
                        (not (effects_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'State-based Preconditions ') (cl:comment '

') (cl:comment '

State-based Preconditions

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: state_precond.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: precond.def

') (cl:comment ' Grammar: state_precond.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' Two activity occurrences are state equivalent iff the same states hold after') (cl:comment 'the occurrences. ') (cl:comment '
')
(forall (?s1 ?s2) (iff (state_equiv ?s1 ?s2)
(forall (?f)
	(iff    (prior ?f ?s1)
                (prior ?f ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a markov preconditional activity iff whenever') (cl:comment 'two occurrences agree on state, then they agree on the extension of poss for the') (cl:comment 'activity. ') (cl:comment '
')
(forall (?a) (iff (markov_precond ?a)
(forall (?s1 ?s2)
        (if	  (state_equiv ?s1 ?s2)
                  (poss_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a partially state constrained activity') (cl:comment 'if and only if there exist occurrence-preserving fluent automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_state ?a)
(and 	(exists (?s1) 
		(forall (?s2)
			(if	  (state_equiv ?s1 ?s2)
				  (poss_equiv ?a ?s1 ?s2))))
	(exists (?s3 ?s4)
		(and	(state_equiv ?s3 ?s4)
			(not (poss_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is a rigid state activity if and only if the only ') (cl:comment 'occurrence-preserving fluent automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (rigid_state ?a)
(forall (?s1)
	(exists (?s2)
		(and	(state_equiv ?s1 ?s2)
			(not (poss_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'State-based Variation of Complex Activities') (cl:comment '

') (cl:comment '

State-based Variation of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: state_variation.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: variation.def, ') (cl:comment 'precondition.def

') (cl:comment ' Grammar: state_variation') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is conditional iff any two of its minimal activity trees') (cl:comment 'are isomorphic iff the roots agree on state. ') (cl:comment '
')
(forall (?a) (iff (conditional ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(root ?occ1 ?a)
			(root ?occ2 ?a)
			(state_equiv ?occ1 ?occ2))
		(min_equiv ?occ1 ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is partial conditional iff there exist isomorphic') (cl:comment 'minimal activity trees that agree on state.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_conditional ?a)
(and	(exists (?occ1)
		(forall (?occ2)
			(if	  (and	(root ?occ1 ?a)
					(root ?occ2 ?a)
					(state_equiv ?occ1 ?occ2))
				  (min_equiv ?occ1 ?occ2 ?a))))
	(exists (?occ3 ?occ4)
		(and	(root ?occ3 ?a)
			(root ?occ4 ?a)
			(state_equiv ?occ3 ?occ4)
			(not (min_equiv ?occ3 ?occ4 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is rigid conditional iff for every root occurrence') (cl:comment 'of a minimal activity tree for ?a, there exists another occurrence') (cl:comment 'that agrees on state but which is the root of a nonisomorphic') (cl:comment 'minimal activity tree.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_conditional ?a)
(forall (?occ1)
	(exists (?occ2)
		(and	(root ?occ1 ?a)
			(root ?occ2 ?a)
			(state_equiv ?occ1 ?occ2)
			(not (min_equiv ?occ1 ?occ2 ?a)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Temporal Distribution of Complex Activities') (cl:comment '

') (cl:comment '

Temporal Distribution of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: time_distribution.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: act_occ.th, disc_state.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: distribution.def, ') (cl:comment 'start.def

') (cl:comment ' Grammar: time_distribution.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a launch activity if and only if whenever ') (cl:comment 'two occurrences agree on their beginof timepoints, ') (cl:comment 'then they agree on the occurrences of the activity. ') (cl:comment '
 ')
(forall (?a) (iff (launch ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(profile ?occ1 ?a)
			(profile ?occ2 ?a)
			(begin_equiv ?occ1 ?occ2))
		  (root_equiv ?a ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partial launch activity if and only if there exist') (cl:comment 'occurrences that agree on their beginof timepoints and on the occurrence of the') (cl:comment 'activity.') (cl:comment '') (cl:comment '
 ')
(forall (?a) (iff (partial_launch ?a)
(and    (exists (?occ1)
                (forall (?occ2)
                        (if	  (and	(profile ?occ1 ?a)
					(profile ?occ2 ?a)
					(begin_equiv ?occ1 ?occ2))
                                  (root_equiv ?a ?occ1 ?occ2))))
        (exists (?occ3 ?occ4)
                (and    (profile ?occ3 ?a)
			(profile ?occ4 ?a)
			(begin_equiv ?occ3 ?occ4)
                        (not (root_equiv ?a ?occ3 ?occ4)))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a rigid launch activity if and only if the only') (cl:comment 'occurrence-preserving timeline automorphism is the trivial one.') (cl:comment '') (cl:comment '
 ')
(forall (?a) (iff (rigid_launch ?a)
(forall (?occ1)
	(if	  (profile ?occ1 ?a)
        	  (exists (?occ2)
                	(and    (begin_equiv ?occ1 ?occ2)
                        	(not (root_equiv ?a ?occ1 ?occ2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Time-based Effects of Activities') (cl:comment '

') (cl:comment '

Time-based Effects of Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: time_effects.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: effects.def,') (cl:comment 'start.def, state_precond.def

') (cl:comment ' Grammar: time_effects.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a temporal effect activity iff whenever') (cl:comment 'any two occurrences of the activity agree on their beginof timepoints, ') (cl:comment 'then they agree on the effects (i.e. the states that hold after the occurrence. ') (cl:comment '
 ')
(forall (?a) (iff (temporal_effects ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(begin_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partially time effects activity') (cl:comment 'if and only if there exist effect-preserving timeline automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_temporal ?a)
(and    (exists (?s1)
                (forall (?s2)
                        (if	  (begin_equiv ?s1 ?s2)
				  (effects_equiv ?a ?s1 ?s2))))
        (exists (?s3 ?s4)
                (and    (begin_equiv ?s3 ?s4)
                        (not (effects_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a rigid time effects activity if and only if the only') (cl:comment 'effects-preserving timeline automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (nontemporal ?a)
(forall (?s1)
        (exists (?s2)
                (and    (begin_equiv ?s1 ?s2)
                        (not (effects_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Temporal Preconditions ') (cl:comment '

') (cl:comment '

Temporal Preconditions

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: time_precond.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: precondition.def, start.def') (cl:comment '

') (cl:comment ' Grammar: time_precond.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' Two atomic activity occurrences are begin-equivalent if and only if they have') (cl:comment 'equal beginof timepoints. ') (cl:comment '
')
(forall (?s1 ?s2) (iff (begin_equiv ?s1 ?s2)
(= (beginof ?s1) (beginof ?s2))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a time precondition activity iff whenever ') (cl:comment 'two atomic occurrences in the occurrence tree agree on their beginof timepoints, ') (cl:comment 'then they agree on the extension of poss for the activity. ') (cl:comment '
')
(forall (?a) (iff (time_precond ?a)
(forall (?s1 ?s2)
	(if	  (begin_equiv ?s1 ?s2)
                  (poss_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a partially temporally constrained activity') (cl:comment 'if and only if there exist occurrence-preserving automorphisms ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_time ?a)
(and    (exists (?s1)
                (forall (?s2)
                        (if	  (begin_equiv ?s1 ?s2)
                                  (poss_equiv ?a ?s1 ?s2))))
        (exists (?s3 ?s4)
                (and    (begin_equiv ?s3 ?s4)
                        (not (poss_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is a rigid time activity if and only if the only ') (cl:comment 'occurrence-preserving timeline automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (rigid_time ?a)
(forall (?s1)
        (exists (?s2)
                (and    (begin_equiv ?s1 ?s2)
                        (not (poss_equiv ?a ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Time-based Variation of Complex Activities') (cl:comment '

') (cl:comment '

Time-based Variation of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: time_variation.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: variation.def, ') (cl:comment 'start.def

') (cl:comment ' Grammar: time_variation.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' A complex activity is time conditional iff any two of its minimal activity trees') (cl:comment 'are isomorphic iff the roots agree on their beginof timepoints. ') (cl:comment '
')
(forall (?a) (iff (time_conditional ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(root ?occ1 ?a)
			(root ?occ2 ?a)
			(begin_equiv ?occ1 ?occ2))
		  (min_equiv ?occ1 ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' A complex activity is partial time conditional if and only if') (cl:comment 'there exist occurrence-preserving automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_time_conditional ?a)
(and	(exists (?occ1)
		(forall (?occ2)
			(if	  (and	(root ?occ1 ?a)
					(root ?occ2 ?a)
					(begin_equiv ?occ1 ?occ2))
				  (min_equiv ?occ1 ?occ2 ?a))))
	(exists (?occ3 ?occ4)
		(and	(root ?occ3 ?a)
			(root ?occ4 ?a)
			(begin_equiv ?occ3 ?occ4)
			(not (min_equiv ?occ3 ?occ4 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' A complex activity is rigid time conditional if and only if') (cl:comment 'the only occurrence-preserving timeline automorphism is the trivial one.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_time_conditional ?a)
(forall (?occ1)
	(exists (?occ2)
		(and	(root ?occ1 ?a)
			(root ?occ2 ?a)
			(begin_equiv ?occ1 ?occ2)
			(not (min_equiv ?occ1 ?occ2 ?a)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Variation for Upwards Atomic Activities') (cl:comment '

') (cl:comment '

Variation for Upwards Atomic Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: up_variation.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: precond.def,') (cl:comment 'state_precond.def, time_precond.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a global filter activity iff every subactivity is ') (cl:comment 'has equivalent preconditions whenever the activity is possible. ') (cl:comment '
')
(forall (?a) (iff (state_filter ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a1 ?a)
			(poss ?a ?s1)
			(poss ?a ?s2)
			(state_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_state_filter ?a)
(and    (exists (?s1)
                (forall (?a1 ?s2)
                        (if	  (and	(subactivity ?a1 ?a)
                        		(poss ?a ?s1)
                        		(poss ?a ?s2)
					(state_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a2 ?a)
			(poss ?a ?s3)
			(poss ?a ?s4)
			(state_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_state_filter ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (state_equiv ?s1 ?s2)
			(poss ?a ?s1)
			(poss ?a ?s2)
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (time_filter ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a1 ?a)
			(poss ?a ?s1)
			(poss ?a ?s2)
			(begin_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_time_filter ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a1 ?a)
                        		(poss ?a ?s1)
                        		(poss ?a ?s2)
					(begin_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a2 ?a)
			(poss ?a ?s3)
			(poss ?a ?s4)
			(begin_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_time_filter ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (begin_equiv ?s1 ?s2)
			(poss ?a ?s1)
			(poss ?a ?s2)
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' An activity is a global filter activity iff every subactivity is ') (cl:comment 'has equivalent preconditions whenever the activity is possible. ') (cl:comment '
')
(forall (?a) (iff (state_nonfilter ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a1 ?a)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
			(state_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 8 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_state_nonfilter ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a1 ?a)
                        		(not (poss ?a ?s1))
                        		(not (poss ?a ?s2))
					(state_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a2 ?a)
			(not (poss ?a ?s3))
			(not (poss ?a ?s4))
			(state_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 9 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_state_nonfilter ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (state_equiv ?s1 ?s2)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 10 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (time_nonfilter ?a)
(forall (?a1 ?s1 ?s2)
	(if	  (and	(subactivity ?a1 ?a)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
			(begin_equiv ?s1 ?s2))
		  (poss_equiv ?a1 ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 11 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_time_nonfilter ?a)
(and    (exists (?s1)
                (forall (?s2 ?a1)
                        (if	  (and	(subactivity ?a1 ?a)
                        		(not (poss ?a ?s1))
                        		(not (poss ?a ?s2))
					(begin_equiv ?s1 ?s2))
                                  (poss_equiv ?a1 ?s1 ?s2))))
        (exists (?a2 ?s3 ?s4)
                (and    (subactivity ?a2 ?a)
			(not (poss ?a ?s3))
			(not (poss ?a ?s4))
			(begin_equiv ?s3 ?s4)
                        (not (poss_equiv ?a2 ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 12 ') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_time_nonfilter ?a)
(forall (?s1)
        (exists (?a1 ?s2)
                (and    (begin_equiv ?s1 ?s2)
			(not (poss ?a ?s1))
			(not (poss ?a ?s2))
                        (not (poss_equiv ?a1 ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Variation of Clobbering Effects ') (cl:comment '

') (cl:comment '

Variation of Clobbering Effects

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: var_clobber.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: atomic.th, disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: clobber.def,') (cl:comment 'state_precond.def, time_precond.def

') (cl:comment ' Grammar: ') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (state_clobber ?a) 
(forall (?a1 ?s1 ?s2)
        (if	  (and	(atomic ?a1)
			(state_equiv ?s1 ?s2))
		  (iff	(preserved_effects ?a1 ?a ?s1)
			(preserved_effects ?a1 ?a ?s2))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_clobber ?a) 
(and 	(exists (?s1 ?a1) 
		(forall (?s2)
			(if	  (and	(atomic ?a1)
					(state_equiv ?s1 ?s2))
		  		  (iff	(preserved_effects ?a1 ?a ?s1)
					(preserved_effects ?a1 ?a ?s2)))))
	(exists (?a2 ?s3 ?s4)
		(and	(atomic ?a2)
			(state_equiv ?s3 ?s4)
			(preserved_effects ?a2 ?a ?s3)
			(not (preserved_effects ?a2 ?a ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (unconditional_clobber ?a) 
(forall (?s1)
	(exists (?a1 ?s2)
		(and	(atomic ?a1)
			(state_equiv ?s1 ?s2)
		  	(iff	(preserved_effects ?a1 ?a ?s1)
				(not (preserved_effects ?a1 ?a ?s2))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (time_clobber ?a) 
(forall (?a1 ?s1 ?s2)
        (if	  (and	(atomic ?a1)
			(begin_equiv ?s1 ?s2))
		  (iff	(preserved_effects ?a1 ?a ?s1)
			(preserved_effects ?a1 ?a ?s2))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (sometime_clobber ?a) 
(and 	(exists (?s1 ?a1) 
		(forall (?s2)
			(if	  (and	(atomic ?a1)
					(begin_equiv ?s1 ?s2))
		  		  (iff	(preserved_effects ?a1 ?a ?s1)
					(preserved_effects ?a1 ?a ?s2)))))
	(exists (?a2 ?s3 ?s4)
		(and	(atomic ?a2)
			(begin_equiv ?s3 ?s4)
			(preserved_effects ?a2 ?a ?s3)
			(not (preserved_effects ?a2 ?a ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_clobber ?a) 
(forall (?s1)
	(exists (?a1 ?s2)
		(and	(atomic ?a1)
			(begin_equiv ?s1 ?s2)
		  	(iff	(preserved_effects ?a1 ?a ?s1)
				(not (preserved_effects ?a1 ?a ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Variation of Interfering Preconditions ') (cl:comment '

') (cl:comment '

Variation of Interfering Preconditions

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: var_interfere.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: atomic.th, disc_state.th, occtree.th, ') (cl:comment 'psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: interfere.def,') (cl:comment 'state_precond.def, time_precond.def

') (cl:comment ' Grammar: ') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (state_interfere ?a)
(forall (?a1 ?s1 ?s2)
        (if	  (and	(atomic ?a1)
			(state_equiv ?s1 ?s2))
		  (iff	(preserved_filter ?a1 ?a ?s1)
			(preserved_filter ?a1 ?a ?s2))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_interfere ?a)
(and 	(exists (?s1 ?a1) 
		(forall (?s2)
			(if	  (and	(atomic ?a1)
					(state_equiv ?s1 ?s2))
		  		  (iff	(preserved_filter ?a1 ?a ?s1)
					(preserved_filter ?a1 ?a ?s2)))))
	(exists (?a2 ?s3 ?s4)
		(and	(atomic ?a2)
			(state_equiv ?s3 ?s4)
			(preserved_filter ?a2 ?a ?s3)
			(not (preserved_filter ?a2 ?a ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (unconditional_interfere ?a)
(forall (?s1)
	(exists (?a1 ?s2)
		(and	(atomic ?a1)
			(state_equiv ?s1 ?s2)
		  	(iff	(preserved_filter ?a1 ?a ?s1)
				(not (preserved_filter ?a1 ?a ?s2))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (time_interfere ?a)
(forall (?a1 ?s1 ?s2)
        (if	  (and	(atomic ?a1)
			(begin_equiv ?s1 ?s2))
		  (iff	(preserved_filter ?a1 ?a ?s1)
			(preserved_filter ?a1 ?a ?s2))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (sometime_interfere ?a)
(and 	(exists (?s1 ?a1) 
		(forall (?s2)
			(if	  (and	(atomic ?a1)
					(begin_equiv ?s1 ?s2))
		  		  (iff	(preserved_filter ?a1 ?a ?s1)
					(preserved_filter ?a1 ?a ?s2)))))
	(exists (?a2 ?s3 ?s4)
		(and	(atomic ?a2)
			(begin_equiv ?s3 ?s4)
			(preserved_filter ?a2 ?a ?s3)
			(not (preserved_filter ?a2 ?a ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' ') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (rigid_interfere ?a)
(forall (?s1)
	(exists (?a1 ?s2)
		(and	(atomic ?a1)
			(begin_equiv ?s1 ?s2)
		  	(iff	(preserved_filter ?a1 ?a ?s1)
				(not (preserved_filter ?a1 ?a ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Variation of Complex Activities') (cl:comment '

') (cl:comment '

Variation of Complex Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: variation.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: disc_state.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: subtree.def') (cl:comment '

') (cl:comment ' Grammar: variation.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' Two minimal activity trees for ?a are isomorphic iff they can each be embedded') (cl:comment 'into the other as a subtree. ') (cl:comment '
')
(forall (?occ1 ?occ2 ?a) (iff (min_equiv ?occ1 ?occ2 ?a)
(and    (subtree_embed ?occ1 ?occ2 ?a)
        (subtree_embed ?occ2 ?occ1 ?a))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is uniform iff all of its minimal activity trees are isomorphic. ') (cl:comment '
')
(forall (?a) (iff (uniform ?a)
(forall (?occ1 ?occ2)
        (if	  (and    (root ?occ1 ?a)
                          (root ?occ2 ?a))
                  (min_equiv ?occ1 ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity ?a is variegated iff all of its minimal activity trees') (cl:comment 'whose root occurrences are occurrence-equivalent are also isomorphic. ') (cl:comment '
')
(forall (?a) (iff (variegated ?a)
(and    (exists (?a1)
                (forall (?occ1 ?occ2)
                        (if	  (and    (occurrence_of ?occ1 ?a1)
                                          (occurrence_of ?occ2 ?a1)
					  (root ?occ1 ?a)
					  (root ?occ2 ?a))
                                  (min_equiv ?occ1 ?occ2 ?a))))
        (exists (?a2 ?occ3 ?occ4)
                (and    (occurrence_of ?occ3 ?a2)
                        (occurrence_of ?occ4 ?a2)
			(root ?occ3 ?a)
			(root ?occ4 ?a)
                        (not (min_equiv ?occ3 ?occ4 ?a)))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity is multiform iff there exist nonisomorphic activity trees ') (cl:comment 'whose root occurrences are occurrence equivalent. ') (cl:comment '
')
(forall (?a) (iff (multiform ?a)
(forall (?a1 ?occ1)
	(if	  (and	(root ?occ1 ?a)
			(occurrence_of ?occ1 ?a1))
        	  (exists (?occ2 ?occ3)
                	(and    (occurrence_of ?occ2 ?a1)
                        	(occurrence_of ?occ3 ?a1)
				(root ?occ2 ?a)
				(root ?occ3 ?a)
                        	(not (min_equiv ?occ2 ?occ3 ?a))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Duration Constraints on Activity Occurrences') (cl:comment '

') (cl:comment '

Duration Constraints on Activity Occurrences

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: actdur.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: duration.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Functions: ') (cl:comment '

') (cl:comment ' Predicates: ') (cl:comment '') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: actdur.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' The dur function is the duration between the beginof an activity') (cl:comment 'occurrence and the endof an activity occurrence. ') (cl:comment '
')
(forall (?occ) 
	(= (dur ?occ) (duration (beginof ?occ) (endof ?occ))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' The delay function is the duration between the beginof one activity') (cl:comment 'occurrence and the beginof another activity occurrence. ') (cl:comment '
')
(forall (?occ1 ?occ2) 
	(= (delay ?occ1 ?occ2) (duration (beginof ?occ1) (beginof ?occ2))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' Two occurrences are duration-equivalent if and only if they have') (cl:comment 'the same duration. ') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (dur_equiv ?occ1 ?occ2) 
(= (dur ?occ1) (dur ?occ2))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' ') (cl:comment 'Two activity occurrences are delay-equivalent if and only if there exists') (cl:comment 'another activity occurrence with equal delay to the two occurrences.') (cl:comment '') (cl:comment '
')
(forall (?occ1 ?occ2) (iff (delay_equiv ?occ1 ?occ2)
(exists (?occ)
	(= (delay ?occ ?occ1) (delay ?occ ?occ2)))))
  (cl:comment '
') (cl:comment '') (cl:comment ' Definition 5 ') (cl:comment ' An activity is constant if and only if all occurences have the') (cl:comment 'same duration. ') (cl:comment '
')
(forall (?a) (iff (constant ?a)
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a))
		  (dur_equiv ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity is interval duration if and only if there exist occurences have the') (cl:comment 'same duration. ') (cl:comment '
')
(forall (?a) (iff (interval_duration ?a)
(forall (?occ1)
	(if	  (occurrence_of ?occ1 ?a)
		  (exists (?occ2)
			(and	(occurrence_of ?occ2 ?a)
				(dur_equiv ?occ1 ?occ2)))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' An activity is variable if and only if all occurrences of') (cl:comment 'the activity that have unequal durations. ') (cl:comment '
')
(forall (?a) (iff (variable ?a)
(not (exists (?occ1 ?occ2)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
		(dur_equiv ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Complex Activity Occurrence Orderings') (cl:comment '
') (cl:comment '

Complex Activity Occurrence Orderings

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: coo.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: soo.th, act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: strongposets.def

') (cl:comment ' Grammar: coo.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'A complex activity occurrence ?occ1 coo_precedes a complex activity') (cl:comment 'occurrence ?occ2 iff every atomic subactivity occurrence of ?occ1') (cl:comment 'soo_precedes every atomic subactivity occurrence of ?occ2.') (cl:comment '') (cl:comment '
')
(forall (?occ1 ?occ2 ?a) (iff (coo_precedes ?occ1 ?occ2 ?a)
(forall (?s1 ?s2)
	(if	  (and	(subactivity_occurrence ?s1 ?occ1)
			(subactivity_occurrence ?s2 ?occ2)
			(atomocc ?s1)
			(atomocc ?s2))
		  (soo_precedes ?s1 ?s2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'A complex activity occurrence ?occ1 is strong_parallel with a complex activity') (cl:comment 'occurrence ?occ2 iff any atomic subactivity occurrence of ?occ1') (cl:comment 'is in the same bag as an atomic subactivity occurrence of ?occ2.') (cl:comment '') (cl:comment '
')
(forall (?occ1 ?occ2 ?a) (iff (strong_parallel ?occ1 ?occ2 ?a)
(forall (?s1 ?s2)
	(if	  (and	(subactivity_occurrence ?s1 ?occ1)
			(subactivity_occurrence ?s2 ?occ2)
			(atomocc ?s1)
			(atomocc ?s2))
		  (same_bag ?s1 ?s2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An activity occurrence is atomocc iff it is the occurrence of an') (cl:comment 'atomic activity.') (cl:comment '') (cl:comment '
')
(forall (?s) (iff (atomocc ?s)
(exists (?a)
	(and	(atomic ?a)
		(occurrence_of ?s ?a)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Duration-based Effects of Activities') (cl:comment '

') (cl:comment '

Duration-based Effects of Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: dur_effects.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: duration.th, disc_state.th, ') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: actdur.def, ') (cl:comment 'effects.def

') (cl:comment ' Grammar: dur_effects.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a duration effect activity iff whenever') (cl:comment 'any two occurrences of the activity agree on their duration, ') (cl:comment 'then they agree on the effects (i.e. the states that hold after the occurrence).') (cl:comment '') (cl:comment '
 ')
(forall (?a) (iff (duration_effects ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(dur_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partially duration constrained activity') (cl:comment 'if and only if there exist effect-preserving duration automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_duration_effects ?a) 
(and    (exists (?s1)
                (forall (?s2)
                        (if	  (and	(occurrence_of ?s1 ?a)
					(occurrence_of ?s2 ?a)
					(dur_equiv ?s1 ?s2))
				  (effects_equiv ?a ?s1 ?s2))))
        (exists (?s3 ?s4)
                (and    (occurrence_of ?s3 ?a)
			(occurrence_of ?s4 ?a)
			(dur_equiv ?s3 ?s4)
                        (not (effects_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a nonduration effects activity if and only if the only') (cl:comment 'effects-preserving duration automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (nonduration_effects ?a) 
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
        	  (exists (?s2)
                	(and    (occurrence_of ?s2 ?a)
				(dur_equiv ?s1 ?s2)
                        	(not (effects_equiv ?a ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Duration Constraints on Embedded Activity Occurrences') (cl:comment '

') (cl:comment '

Ordering and Duration Constraints on Embedded Activity Occurrences

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: embed_dur.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: duration.th, ') (cl:comment 'act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: permute.def

') (cl:comment ' Grammar: embed_dur.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is embed duration if and only if all branch') (cl:comment 'automorphic occurences in the same tree have the same duration. ') (cl:comment '
')
(forall (?a) (iff (embed_duration ?a) 
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(same_grove ?occ1 ?occ2)
			(branch_automorphic ?occ1 ?occ2))
		  (duration_equiv ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partial embed duration activity') (cl:comment 'if and only if there exist occurrences such that all branch automorphic') (cl:comment 'occurrences in the same tree have the same duration.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_embed_duration ?a) 
(and    (exists (?occ1)
                (forall (?occ2)
                        (if	  (and  (occurrence_of ?occ1 ?a)
                                        (occurrence_of ?occ2 ?a)
					(same_grove ?occ1 ?occ2)
					(branch_automorphic ?occ1 ?occ2))
                                  (dur_equiv ?occ1 ?occ2))))
        (exists (?occ3 ?occ4)
                (and    (occurrence_of ?occ3 ?a)
                        (occurrence_of ?occ4 ?a)
			(same_grove ?occ3 ?occ4)
                        (branch_automorphic ?occ3 ?occ4)
                        (not (dur_equiv ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is nonembed duration if and only if for any occurrence') (cl:comment 'there exist branch automorphic occurrences of') (cl:comment 'the activity in the same tree that have unequal durations. ') (cl:comment '
')
(forall (?a) (iff (nonembed_duration ?a) 
(exists (?occ1 ?occ2)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
		(same_grove ?occ1 ?occ2)
		(branch_automorphic ?occ1 ?occ2)
		(not (duration_equiv ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Effects of Activities based on Duration and State') (cl:comment '
') (cl:comment '

Effects of Activities based on Duration and State

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: maintain_effects.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: duration.th,') (cl:comment 'disc_state.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: actdur.th, ') (cl:comment 'effects.def, state_precond.def

') (cl:comment ' Grammar: maintain_effects.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a maintain effect activity iff whenever') (cl:comment 'any two occurrences of the activity agree on their duration and their state, ') (cl:comment 'then they agree on the effects (i.e. the states that hold after the occurrence).') (cl:comment '') (cl:comment '
 ')
(forall (?a) (iff (maintain_effects ?a)
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(state_equiv ?s1 ?s2)
			(dur_equiv ?s1 ?s2))
		  (effects_equiv ?a ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a partially maintained activity') (cl:comment 'if and only if there exist effect-preserving automorphisms that') (cl:comment 'preserve both duration and state.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_maintain ?a) 
(and    (exists (?s1)
                (forall (?s2)
                        (if	  (and	(occurrence_of ?s1 ?a)
					(occurrence_of ?s2 ?a)
					(state_equiv ?s1 ?s2)
					(dur_equiv ?s1 ?s2))
				  (effects_equiv ?a ?s1 ?s2))))
        (exists (?s3 ?s4)
                (and    (occurrence_of ?s3 ?a)
			(occurrence_of ?s4 ?a)
			(dur_equiv ?s3 ?s4)
                        (not (effects_equiv ?a ?s3 ?s4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a nonmaintain effects activity if and only if the only') (cl:comment 'effects-preserving duration and fluent automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (nonmaintain ?a) 
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
                	(and    (occurrence_of ?s2 ?a)
				(dur_equiv ?s1 ?s2)
                        	(not (effects_equiv ?a ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Duration based on State and Time ') (cl:comment '

') (cl:comment '

Duration based on State and Time

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: mixed_dur.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: duration.th, disc_state.th, ') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: actdur.def,') (cl:comment 'time_precond.def, state_precond.def

') (cl:comment ' Grammar: mixed_dur.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a mixed duration activity iff whenever') (cl:comment 'two occurrences agree on fluents and their beginof timepoints, ') (cl:comment 'then they agree on duration. ') (cl:comment '
')
(forall (?a) (iff (mixed_duration ?a) 
(forall (?occ1 ?occ2)
        (if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(state_equiv ?occ1 ?occ2)
			(begin_equiv ?occ1 ?occ2))
                  (dur_equiv ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a nondeterministically mixed duration activity') (cl:comment 'if and only if there exist fluent and beginof automorphisms that are ') (cl:comment 'also duration-preserving.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (nondet_mixed_duration ?a) 
(and 	(exists (?occ1) 
		(forall (?occ2)
			(if	  (and	(occurrence_of ?occ1 ?a)
					(occurrence_of ?occ2 ?a)
					(state_equiv ?occ1 ?occ2)
					(begin_equiv ?occ1 ?occ2))
				  (dur_equiv ?occ1 ?occ2))))
	(exists (?occ3 ?occ4)
		(and	(occurrence_of ?occ3 ?a)
			(occurrence_of ?occ4 ?a)
			(begin_equiv ?occ3 ?occ4)
			(state_equiv ?occ3 ?occ4)
			(not (dur_equiv ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a rigid mixed duration activity if and only if the only ') (cl:comment 'duration-preserving beginof and fluent automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (rigid_mixed_duration ?a) 
(forall (?occ1)
	(if	  (occurrence_of ?occ1 ?a)
		  (exists (?occ2)
			(and	(occurrence_of ?occ2 ?a)
				(begin_equiv ?occ1 ?occ2)
				(state_equiv ?occ1 ?occ2)
				(not (dur_equiv ?occ1 ?occ2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Ordering and Duration Constraints on Activity Occurrences') (cl:comment '

') (cl:comment '

Ordering and Duration Constraints on Activity Occurrences

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: ordered_dur.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: duration.th, ') (cl:comment 'act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: permute.def

') (cl:comment ' Grammar: ordered_dur.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is ordered duration if and only if all branch') (cl:comment 'automorphic occurences have the same duration. ') (cl:comment '
')
(forall (?a) (iff (ordered_duration ?a) 
(forall (?occ1 ?occ2)
	(if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(branch_automorphic ?occ1 ?occ2))
		  (duration_equiv ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a context duration activity') (cl:comment 'if and only if there exist occurrences such that all branch automorphic') (cl:comment 'occurrences have the same duration.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (partial_ordered_duration ?a) 
(and    (exists (?occ1)
                (forall (?occ2)
                        (if	  (and  (occurrence_of ?occ1 ?a)
                                        (occurrence_of ?occ2 ?a)
					(branch_automorphic ?occ1 ?occ2))
                                  (dur_equiv ?occ1 ?occ2))))
        (exists (?occ3 ?occ4)
                (and    (occurrence_of ?occ3 ?a)
                        (occurrence_of ?occ4 ?a)
                        (branch_automorphic ?occ3 ?occ4)
                        (not (dur_equiv ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is unordered duration if and only if for any occurrence') (cl:comment 'there exist branch automorphic occurrences of') (cl:comment 'the activity that have unequal durations. ') (cl:comment '
')
(forall (?a) (iff (unordered_duration ?a) 
(exists (?occ1 ?occ2)
	(and	(occurrence_of ?occ1 ?a)
		(occurrence_of ?occ2 ?a)
		(branch_automorphic ?occ1 ?occ2)
		(not (duration_equiv ?occ1 ?occ2))))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Scheduled Embedding Constraints') (cl:comment '
') (cl:comment '

Scheduled Embedding Constraints

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: schedule.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Theories Required by this Extension: duration.th, act_occ.th, ') (cl:comment 'complex.th, atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Predicates: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: embedding.def, ') (cl:comment 'time_precond.def

') (cl:comment ' Grammar: schedule.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is scheduled if and only if') (cl:comment 'every subactivity occurrence of ?occ is delay constrained.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (scheduled ?occ) 
(forall (?a ?s1 ?s2 ?s3)
	(if	  (and	(occurrence_of ?occ ?a)
			(= ?s3 (root_occ ?occ))
			(subactivity_occurrence ?s1 ?occ)
			(iso_occ ?s1 ?s2 ?a)
			(embed_tree ?s1 ?s2 ?s3 ?a)
			(delay_equiv ?s1 ?s2))
		  (subocc_equiv ?s1 ?s2 ?s3 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is partially scheduled if and only if') (cl:comment 'some subactivity occurrences of ?occ are delay constrained.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (partial_scheduled ?occ) 
(exists (?a ?s ?s1 ?s3 ?s4)
	(and 	(occurrence_of ?occ ?a)
		(= ?s (root_occ ?occ))
		(subactivity_occurrence ?s1 ?occ)
		(forall (?s2)
			(if	  (and	(iso_occ ?s1 ?s2 ?a)
					(embed_tree ?s1 ?s2 ?s ?a)
					(delay_equiv ?s1 ?s2))
				  (subocc_equiv ?s1 ?s2 ?s ?a)))
		(subactivity_occurrence ?s3 ?occ)
		(iso_occ ?s3 ?s4 ?a)
		(delay_equiv ?s3 ?s4)
		(embed_tree ?s3 ?s4 ?s ?a)
		(not (subocc_equiv ?s3 ?s4 ?s ?a))))))

  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'An activity occurrence ?occ is unscheduled if and only if') (cl:comment 'none of the subactivity occurrences of ?occ are delay constrained.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (unscheduled ?occ) 
(forall (?s ?s1 ?a)
	(if	  (and	(occurrence_of ?occ ?a)
			(= ?s (root_occ ?occ))
			(subactivity_occurrence ?s1 ?occ))
		  (exists (?s2)
			(and	(iso_occ ?s1 ?s2 ?a)
				(embed_tree ?s1 ?s2 ?s ?a)
				(delay_equiv ?s1 ?s2)
				(not (subocc_equiv ?s1 ?s2 ?s ?a))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment ' Spoilage Activities ') (cl:comment '

') (cl:comment '

Spoilage Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: spoilage.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: duration.th,') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'occ_precond.def, time_precond.def, precond.def

') (cl:comment ' Grammar: spoilage.bnf

') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' ') (cl:comment 'An activity is a spoilage if and only if legal occurrences depend') (cl:comment 'on the delay between other activity occurrences. In particular,') (cl:comment 'activity occurrences that are in the same orbit of occurrence tree') (cl:comment 'endormorphisms are also in the same orbit of delay automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (spoilage ?a) 
(forall (?s1 ?s2)
	(if	  (and	(occurrence_of ?s1 ?a)
			(occurrence_of ?s2 ?a)
			(delay_equiv ?s1 ?s2)
			(tree_equiv ?s1 ?s2))
		  (legal_equiv ?s1 ?s2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'An activity is possible spoilage if and only if ') (cl:comment 'there exist activity occurrences that are in the same orbit of occurrence tree') (cl:comment 'endormorphisms and that are also in the same orbit of delay automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (possible_spoilage ?a) 
(exists (?s1)
	(and	(occurrence_of ?s1 ?a)
		(forall (?s2)
			(if	  (and	(occurrence_of ?s2 ?a)
					(delay_equiv ?s1 ?s2)
					(tree_equiv ?s1 ?s2))
				  (legal_equiv ?s1 ?s2)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' ') (cl:comment 'An activity is nonspoilage if and only if there is no relationship') (cl:comment 'between legal occurrences and the delay between other activity occurrences.') (cl:comment 'In particular, the only occurrence tree endomorphism that preserves') (cl:comment 'the delay between other activity occurrences is the trivial one.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (nonspoilage ?a) 
(forall (?s1)
	(if	  (occurrence_of ?s1 ?a)
		  (exists (?s2)
			(and	(occurrence_of ?s2 ?a)
				(delay_equiv ?s1 ?s2)
				(tree_equiv ?s1 ?s2)
				(not (legal_equiv ?s1 ?s2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'State-based Duration ') (cl:comment '

') (cl:comment '

State-based Duration

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: state_dur.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: duration.th, disc_state.th, ') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: actdur.def,') (cl:comment 'state_precond.def

') (cl:comment ' Grammar: state_dur.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a conditional duration activity iff whenever') (cl:comment 'two occurrences agree on state, then they agree on duration. ') (cl:comment '
')
(forall (?a) (iff (conditional_duration ?a) 
(forall (?occ1 ?occ2)
        (if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(state_equiv ?occ1 ?occ2))
                  (dur_equiv ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a context duration activity') (cl:comment 'if and only if there exist duration-preserving fluent automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (context_duration ?a) 
(and 	(exists (?occ1) 
		(forall (?occ2)
			(if	  (and	(occurrence_of ?occ1 ?a)
					(occurrence_of ?occ2 ?a)
					(state_equiv ?occ1 ?occ2))
				  (dur_equiv ?occ1 ?occ2))))
	(exists (?occ3 ?occ4)
		(and	(occurrence_of ?occ3 ?a)
			(occurrence_of ?occ3 ?a)
			(state_equiv ?occ3 ?occ4)
			(not (dur_equiv ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is an unconditional duration activity if and only if the only ') (cl:comment 'duration-preserving fluent automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (unconditional_duration ?a) 
(forall (?occ1)
	(if	  (occurrence_of ?occ1 ?a)
		  (exists (?occ2)
			(and	(occurrence_of ?occ2 ?a)
				(state_equiv ?occ1 ?occ2)
				(not (dur_equiv ?occ1 ?occ2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Strong Partially Ordered Activities') (cl:comment '

') (cl:comment '

Strong Partially Ordered Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: strong_posets.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: soo.th, act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None

') (cl:comment ' Grammar: strongposets.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment '') (cl:comment 'This relation is used to specify which subactivity occurrences are') (cl:comment 'elements of the same AND-junction.') (cl:comment '') (cl:comment '
')
(forall (?s1 ?s2 ?a) (iff (same_bag ?s1 ?s2 ?a)
(exists (?s3 ?s4)
	(and	(next_subocc ?s1 ?s3 ?a)
		(iso_occ ?s3 ?s2 ?a)
		(next_subocc ?s2 ?s4 ?a)
		(iso_occ ?s4 ?s1 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '') (cl:comment 'Within the activity tree for ?a containing ?s, the set') (cl:comment 'of next subactivity occurrences is a copy of the set') (cl:comment 'of siblings for ?s.') (cl:comment '') (cl:comment '
')
(forall (?s ?a) (iff (rotate ?s ?a)
(and	(forall (?s1)
		(if	  (next_subocc ?s ?s1 ?a)
			  (exists (?s2)
				(and	(sibling ?s ?s2 ?a)
					(iso_occ ?s1 ?s2 ?a)))))
	(forall (?s3)
		(if	  (sibling ?s ?s3 ?a)
			  (same_bag ?s ?s3 ?a))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '') (cl:comment 'Within the activity tree for ?a containing ?s, the set') (cl:comment 'of next subactivity occurrences is a copy of the set') (cl:comment 'of successors of ?s in the subactivity occurrence ordering.') (cl:comment '') (cl:comment '
')
(forall (?s ?a) (iff (reflect ?s ?a)
(forall (?s1)
	(iff	(next_subocc ?s ?s1 ?a)
		(next_soo (soomap ?s) (soomap ?s1) ?a)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment '') (cl:comment 'Within the activity tree for ?a containing ?s, the set') (cl:comment 'of next subactivity occurrences is a copy of the set') (cl:comment 'of successors of ?s in the subactivity occurrence ordering,') (cl:comment 'together with a copy of the siblings of ?s.') (cl:comment '') (cl:comment '
')
(forall (?s ?a) (iff (flip ?s ?a)
(forall (?s1)
	(iff	(next_subocc ?s ?s1 ?a)
		(or	(next_soo (soomap ?s) (soomap ?s1) ?a)
			(exists (?s2)
				(and	(sibling ?s ?s2 ?a)
					(iso_occ ?s1 ?s2 ?a))))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment '') (cl:comment 'Within the activity tree for ?a containing ?s, the set') (cl:comment 'of next subactivity occurrences is a copy of the set') (cl:comment 'of successors of ?s in the subactivity occurrence ordering,') (cl:comment 'together with a copy of the siblings of ?s that are in the') (cl:comment 'same bag.') (cl:comment '') (cl:comment '
')
(forall (?s ?a) (iff (turn ?s ?a)
(and	(exists (?s5)
		(and	(sibling ?s ?s5 ?a)
			(same_bag ?s ?s5 ?a)))
	(forall (?s1)
		(if	  (next_subocc ?s ?s1 ?a)
			  (or	(next_soo (soomap ?s) (soomap ?s1) ?a)
				(exists (?s2)
					(and	(sibling ?s ?s2 ?a)
						(iso_occ ?s1 ?s2 ?a)))))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment '') (cl:comment 'A bag is an activity tree in which all elements are rotated.') (cl:comment 'Intuitively, this corresponds to a process flow diagram which contains') (cl:comment 'only AND junctions with no linear orderings.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (bag ?occ) 
(forall (?a ?s ?occ1)
	(if	  (and	(same_grove ?occ ?occ1)
			(occurrence_of ?occ ?a)
			(subactivity_occurrence ?s ?occ1))
		  (rotate ?s ?a)))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment '') (cl:comment 'A choice poset is an activity tree in which all elements are reflected.') (cl:comment 'Intuitively, this corresponds to a process flow diagram which contains') (cl:comment 'only OR junctions.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (choice_poset ?occ) 
(forall (?a ?s ?occ1)
	(if	  (and	(same_grove ?occ ?occ1)
			(occurrence_of ?occ ?a)
			(subactivity_occurrence ?s ?occ1))
		  (reflect ?s ?a)))))
  (cl:comment '
') (cl:comment ' Definition 8 ') (cl:comment '') (cl:comment 'A strong poset is an activity tree in which all elements are flipped.') (cl:comment 'Intuitively, this corresponds to a process flow diagram which contains') (cl:comment 'linear orderings within AND junctions.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (strong_poset ?occ) 
(forall (?a ?s ?occ1)
	(if	  (and	(same_grove ?occ ?occ1)
			(occurrence_of ?occ ?a)
			(subactivity_occurrence ?s ?occ1))
		  (flip ?s ?a)))))
  (cl:comment '
') (cl:comment ' Definition 9 ') (cl:comment '') (cl:comment 'A complex poset is an activity tree in which all elements are turned.') (cl:comment 'Intuitively, this corresponds to a process flow diagram which contains') (cl:comment 'both AND and OR junctions.') (cl:comment '') (cl:comment '
')
(forall (?occ) (iff (complex_poset ?occ) 
(forall (?a ?s ?occ1)
	(if	  (and	(same_grove ?occ ?occ1)
			(occurrence_of ?occ ?a)
			(subactivity_occurrence ?s ?occ1))
		  (turn ?s ?a)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Time-based Duration ') (cl:comment '

') (cl:comment '

Time-based Duration

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: time_dur.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: duration.th, disc_state.th, ') (cl:comment 'occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: actdur.def,') (cl:comment 'time_precond.def

') (cl:comment ' Grammar: time_dur.bnf') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is a rushhour activity iff whenever') (cl:comment 'two occurrences agree on their beginof timepoints, then they agree on duration. ') (cl:comment '
')
(forall (?a) (iff (rushhour ?a) 
(forall (?occ1 ?occ2)
        (if	  (and	(occurrence_of ?occ1 ?a)
			(occurrence_of ?occ2 ?a)
			(begin_equiv ?occ1 ?occ2))
                  (dur_equiv ?occ1 ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is a weekend activity') (cl:comment 'if and only if there exist duration-preserving beginof automorphisms.') (cl:comment '') (cl:comment '
')
(forall (?a) (iff (weekend ?a) 
(and 	(exists (?occ1) 
		(forall (?occ2)
			(if	  (and	(occurrence_of ?occ1 ?a)
					(occurrence_of ?occ2 ?a)
					(begin_equiv ?occ1 ?occ2))
				  (dur_equiv ?occ1 ?occ2))))
	(exists (?occ3 ?occ4)
		(and	(occurrence_of ?occ3 ?a)
			(occurrence_of ?occ3 ?a)
			(begin_equiv ?occ3 ?occ4)
			(not (dur_equiv ?occ3 ?occ4)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a gridlock activity if and only if the only ') (cl:comment 'duration-preserving beginof automorphism is the trivial one. ') (cl:comment '
')
(forall (?a) (iff (gridlock ?a) 
(forall (?occ1)
	(if	  (occurrence_of ?occ1 ?a)
		  (exists (?occ2)
			(and	(occurrence_of ?occ2 ?a)
				(begin_equiv ?occ1 ?occ2)
				(not (dur_equiv ?occ1 ?occ2))))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Capacity-based Concurrency') (cl:comment '

') (cl:comment '

') (cl:comment 'Classes of Activities and Resources for Capacity-based Concurrency') (cl:comment '

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: capacity.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: none') (cl:comment '

') (cl:comment '

') (cl:comment ' Theories Required by this Extension: requires.th, act_occ.th, complex.th,') (cl:comment 'atomic.th, subactivity.th, disc_state.th, occtree.th, psl_core.th

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity is exclusive use for a resource iff its demand for the resource') (cl:comment 'is equal to its resource point. ') (cl:comment '
')
(forall (?a ?r) (iff (exclusive_use ?a ?r)
(forall (?q1 ?q2 ?occ ?occp)
	(if  (and  (do ?a ?occ ?occp)
		   (holds (demand ?a ?r ?q1) ?occ)
		   (holds (resource_point ?r ?q2) ?occ))
	     (= ?q1 ?q2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity is capacity-bsed for a resource iff its demand for the resource') (cl:comment 'is less than its resource point. This allows the possibility that multiple') (cl:comment 'activities can share the resource. ') (cl:comment '
')
(forall (?a ?r) (iff (capacity_based ?a ?r)
(forall (?q1 ?q2 ?occ ?occp)
	(if     (and    (do ?a ?occ ?occp)
			(holds (demand ?a ?r ?q1) ?occ)
			(holds (resource_point ?r ?q2) ?occ))
		(lesser ?q1 ?q2)))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' A resource is unary if all activities that require it are exclusive use. ') (cl:comment '
')
(forall (?r) (iff (unary_resource ?r)
(forall (?a)
	(if  (requires ?a ?r)
		  (exclusive_use ?a ?r)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' A resource is capacitated if all activities that require it are capacity-based.') (cl:comment '') (cl:comment '
')
(forall (?r) (iff (capacitated_resource ?r)
(forall (?a)
	(if  (requires ?a ?r)
		  (capacity_based ?a ?r)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity has uniform demand for a resource iff the demand for the') (cl:comment 'resource is the same in all situations. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (uniform_demand ?a ?r ?q) 
(forall (?occ)
	(holds (demand ?a ?r ?q) ?occ))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity is a layout action for a resource iff the demand varies ') (cl:comment 'depending on the effects of other activities. ') (cl:comment '
')
(forall (?r ?a) (iff (layout ?r ?a)
(forall (?q ?occ1 ?occ2 ?ap)
	(if  (= ?occ2 (successor ?ap ?occ1))
	     (not (iff	(holds (demand ?r ?a ?q) ?occ2)
			(holds (demand ?r ?a ?q) ?occ1)))))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Reasoning about Resource Divisibility') (cl:comment '

') (cl:comment '

') (cl:comment 'Reasoning about Resource Divisibility') (cl:comment '

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: res_divisible.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: requires.th, act_occ.th, complex.th,') (cl:comment 'subactivity.th, atomic.th, disc_state.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: none') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment '') (cl:comment 'It is important to realize that the notion of quantity referred to in this ') (cl:comment 'extension is independent of the') (cl:comment 'notion of resource existence or identity, as well as the distinction between') (cl:comment 'discrete and continuous resources. We are only concerned with the availability') (cl:comment 'of the resource for a future activity. The notion of resource point is a') (cl:comment 'constraint on such availability. The quantity specifies the divisibility') (cl:comment 'of the resource with respect to multiple concurrent activities. The resource') (cl:comment 'point determines the maximal set of concurrent activities which require the') (cl:comment 'resource. Thus, if the quantity is zero, then no activity that requires the') (cl:comment 'resource is possible.') (cl:comment '') (cl:comment ' Definition 1 ') (cl:comment ' An activity consumes some quantity ?q of a resource iff the demand for the') (cl:comment 'resource is ?q and the resource point of the resource is decremented by ?q ') (cl:comment 'after the occurrence of the activity. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (consumes_quantity ?a ?r ?q) 
(forall (?q1 ?occ1 ?occ2)
	(if  (and	(do ?a ?occ1 ?occ2)
			(holds (demand ?a ?r ?q) ?occ1)
			(holds (resource_point ?r ?q1) ?occ1))
		  (holds (resource_point ?r (minus ?q1 ?q)) ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' An activity strictly consumes some quantity of a resource if the resource') (cl:comment 'is nonreplenishable. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (strict_consumes_quantity ?a ?r ?q) 
(and	(consumes_quantity ?a ?r ?q)
	(nonreplenishable ?r))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity produces some quantity ?q of a resource iff the resource point') (cl:comment 'of the resource is incremented by ?q after the occurrence of the activity. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (produces_quantity ?a ?r ?q) 
(forall (?q1 ?q2 ?occ1 ?occ2)
	(if  (and	(do ?a ?occ1 ?occ2)
			(holds (resource_point ?r ?q1) ?occ1)
			(= ?q2 (plus ?q1 ?q)))
	  	  (holds (resource_point ?r ?q2) ?occ2)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An activity strictly produces some quantity of a resource if there') (cl:comment 'is no other activity that consumes some quantity of it. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (strict_produces_quantity ?a ?r ?q) 
(and	(produces_quantity ?a ?r ?q)
	(not (exists (?a2 ?q2)
		(and	(subactivity ?a2 ?a)
			(consumes_quantity ?a2 ?r ?q2)))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An activity uses some quantity ?q of a resource iff the demand for the ') (cl:comment 'resource is ?q and the resource point of the resource is unchanged by the ') (cl:comment 'occurrence of the activity. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (uses_quantity ?a ?r ?q) 
(forall (?q1 ?q2 ?occ1 ?occ2)
	(if  (and	(do ?a ?occ1 ?occ2)
			(holds (demand ?a ?r ?q) ?occ1)
			(holds (resource_point ?r ?q1) ?occ1)
			(holds (resource_point ?r ?q2) ?occ2))
		  (= ?q2 ?q1)))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' An activity creates a resource if it produces some quantity of the resource,') (cl:comment 'and the quantity of the resource before the occurrence of the activity was zero.') (cl:comment '') (cl:comment '
')
(forall (?a ?r) (iff (creates ?a ?r) 
(exists (?q1)
	(and    (produces_quantity ?a ?r ?q1)
        	(forall (?q2 ?occ)
                	(if  (and	(occurrence_of ?occ ?a)
                                	(prior (resource_point ?r ?q2) ?occ))
                             (= ?q2 0)))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' An activity destroys a resource if it consumes some quantity of the resource,') (cl:comment 'and the quantity of the resource after the occurrence of the activity is zero.') (cl:comment '') (cl:comment '
')
(forall (?a ?r) (iff (destroys ?a ?r) 
(exists (?q1)
	(and    (consumes_quantity ?a ?r ?q1)
        	(forall (?q2 ?occ)
                	(if  (and	(occurrence_of ?occ ?a)
                                	(prior (resource_point ?r ?q2) ?occ))
                             (= ?q2 0)))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' A resource has fixed quantity ?q iff the resource point of the resource') (cl:comment 'is the same in all situations i.e. it does not change. ') (cl:comment '
')
(forall (?r ?q) (iff (fixed_quantity ?r ?q) 
(forall (?occ)
	(holds (resource_point ?r ?q) ?occ))))
  (cl:comment '
') (cl:comment ' Definition 8 ') (cl:comment ' A resource is nonreplenishable iff the resource point for the resource') (cl:comment 'cannot be increased after the occurrence of activities that require the resource.') (cl:comment '') (cl:comment '
')
(forall (?r) (iff (nonreplenishable ?r) 
(forall (?a ?q1 ?q2 ?occ1 ?occ2 ?occ3)
	(if  (and	(if  (do ?a ?occ1 ?occ2)
				  (holds (resource_point ?r ?q1) ?occ2))
			(precedes ?occ2 ?occ3)
			(holds (resource_point ?r ?q2) ?occ3))
		  (lesserEq ?q2 ?q1)))))
  (cl:comment '
') (cl:comment ' Definition 9 ') (cl:comment ' An activity uses a resource if it uses some quantity of the resource. ') (cl:comment '
')
(forall (?a ?r) (iff (uses ?a ?r) 
(exists (?q)
	(uses_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 10 ') (cl:comment ' An activity consumes a resource if it consumes some quantity of the resource. ') (cl:comment '
')
(forall (?a ?r) (iff (consumes ?a ?r) 
(exists (?q)
	(consumes_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 11 ') (cl:comment ' An activity strictly consumes a resource if it strictly consumes') (cl:comment 'some quantity of the resource. ') (cl:comment '
')
(forall (?a ?r) (iff (strict_consumes ?a ?r) 
(exists (?q)
	(strict_consumes_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 12 ') (cl:comment ' An activity produces a resource if it produces some quantity of the resource. ') (cl:comment '
')
(forall (?a ?r) (iff (produces ?a ?r) 
(exists (?q)
	(produces_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 13 ') (cl:comment ' An activity strictly produces a resource if it strictly ') (cl:comment 'produces some quantity of the resource. ') (cl:comment '
')
(forall (?a ?r) (iff (strict_produces ?a ?r) 
(exists (?q)
	(strict_produces_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 14 ') (cl:comment ' An activity provides some quantity of a resource if there exists a subactivity ') (cl:comment 'that produces some quantity of the resource and another subactivity that consumes ') (cl:comment 'some quantity of the resource. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (provides_quantity ?a ?r ?q) 
(and	(exists (?a1)
		(and	(subactivity ?a1 ?a)
			(produces_quantity ?a1 ?r ?q)))
	(exists (?a2)
		(and	(subactivity ?a2 ?a)
			(consumes_quantity ?a2 ?r ?q))))))
  (cl:comment '
') (cl:comment ' Definition 15 ') (cl:comment ' An activity provides a resource if it provides some quantity of a resource. ') (cl:comment '
')
(forall (?a ?r) (iff (provides ?a ?r) 
(exists (?q)
	(provides_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Resource Roles for Interfering Activities') (cl:comment '

') (cl:comment '

Resource Roles for Interfering Actions

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: res_role.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon:

') (cl:comment ' Relations: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: requires.th, act_occ.th, complex.th, ') (cl:comment 'atomic.th, subactivity.th, occtree.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: None') (cl:comment '

') (cl:comment '

') (cl:comment 'An object is a resource only with respect to some activity which requires the') (cl:comment 'resource. We are therefore not axiomatizing any other properties of ') (cl:comment 'resources, such as the issue of discrete vs continuous resources.') (cl:comment 'Resource roles are one way of formalizing the way in which an activity requires the resource.') (cl:comment 'The intuition behind the axiomatization of resource roles is the classification') (cl:comment 'of interactions among activities with respect to the resources that they share.') (cl:comment 'In particular, the set of resource roles defined in this note are a ') (cl:comment 'classification of interfering actions, that is, the effects of one action ') (cl:comment 'falsify the preconditions of another action.') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' A resource ?r is reusable by an activity ?a if any other activity') (cl:comment 'that also requires ?r is still possible to perform after ?a completes its') (cl:comment 'occurrence, in every possible future.') (cl:comment '

') (cl:comment 'An example of a reusable resource is a machine that does not require setup') (cl:comment 'between activities. As soon as one activity occurs, it is always possible to') (cl:comment 'perform the next activity. ') (cl:comment '

')
(forall (?r ?a1 ?a2 ?a ?occ2) (iff (reusable ?r ?a1)
        (if  (and	(common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (forall (?b ?occ3)
                        (if  (and  (subactivity_occurrence ?occ3 ?b)
				   (occurrence_of ?b ?a)
                                   (precedes ?occ2 ?occ3))
                             (poss ?a2 ?occ3))))))

  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' A resource ?r is possibly reusable by an activity ?a iff for any other ') (cl:comment 'activity that also requires ?r is still possible to perform after ?a completes ') (cl:comment 'its occurrence, in some possible future situation.') (cl:comment '

') (cl:comment 'An example of a possibly reusable is a machine that requires some setup ') (cl:comment 'between different activities. After the first activity occurs, it is possible') (cl:comment 'for the other activity, but only if the setup activity occurs first. ') (cl:comment '

')

(forall (?r ?a1) (iff (possibly_reusable ?r ?a1)
(forall (?a2 ?occ2 ?a)
        (if  (and	(common ?a1 ?a2 ?r)
                        (subactivity ?a1 ?a)
                        (subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (exists (?b ?occ3)
                    (and    (subactivity_occurrence ?occ3 ?b)
		            (occurrence_of ?b ?a)
                            (precedes ?occ2 ?occ3)
                            (poss ?a2 ?occ3)))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' A resource ?r is renewable with respect to an activity ?a iff for any ') (cl:comment 'other activity that also requires ?r is still possible to perform after ?a ') (cl:comment 'completes its occurrence, in every possible future situation unless it is ') (cl:comment 'prevented.') (cl:comment '

') (cl:comment 'An example of a renewable resource is a solar-charged battery. Once it is') (cl:comment 'depleted, there will always exist a future situation where the sun recharges') (cl:comment 'the battery so that it can be used again. ') (cl:comment '

')

(forall (?r ?a1) (iff (renewable ?r ?a1)
(forall (?a ?a2 ?occ2)
        (if  (and	(common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (forall (?b)
                  (if  (occurrence_of ?b ?a)
		       (exists (?occ3)
                             (and    (subactivity_occurrence ?occ3 ?b)
                                     (precedes ?occ2 ?occ3)
                                     (poss ?a2 ?occ3)))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' A resource ?r is weakly reusable by an activity ?a iff for any other ') (cl:comment 'activity that also requires ?r is still possible to perform after ?a completes ') (cl:comment 'its occurrence, in every possible future situation unless it is prevented.') (cl:comment '

') (cl:comment 'A weakly reusable resource is one where we can prevent the renewing of the ') (cl:comment 'resource. For example, a paintbrush is reusable only if we put it into') (cl:comment 'varsol after use; otherwise, it is not reusable. ') (cl:comment '

')

(forall (?r ?a1) (iff (weakly_reusable ?r ?a1)
(forall (?a ?a2 ?occ2)
        (if  (and	(common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
                  (exists (?b)
                        (and    (forall (?occ3)
                                        (if  (and	(subactivity_occurrence ?occ3 ?b)
							(occurrence_of ?b ?a)
                                                        (precedes ?occ2 ?occ3))
                                                  (poss ?a2 ?occ3)))))))))

  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' A resource ?r is consumable by an activity ?a if any other activity that') (cl:comment 'also requires ?r is not possible to perform after ?a completes its') (cl:comment 'occurrence.') (cl:comment '

') (cl:comment 'An example of a consumable resource is wood in a fire, or raw materials in a') (cl:comment 'manufacturing production process. ') (cl:comment '

')
(forall (?r ?a1) (iff (consumable ?r ?a1)
(forall (?a ?a2 ?occ2)
        (if  (and	(common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (forall (?b ?occ3)
                  (if  (and  (subactivity_occurrence ?occ3 ?b)
			     (occurrence_of ?b ?a)
                             (precedes ?occ2 ?occ3))
                       (not (poss ?a2 ?occ3))))))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' A resource ?r is possibly consumable with respect to an activity ?a1 iff') (cl:comment 'after the occurrence of ?a1, there exists a future situation in which any') (cl:comment 'activity that requires ?r is no longer possible. ') (cl:comment '
')
(forall (?r ?a1) (iff (possibly_consumable ?r ?a1)
(forall (?a ?a2 ?occ2)
        (if  (and  	(common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (exists (?b ?occ3)
                   (and    (subactivity_occurrence ?occ3 ?b)
			   (occurrence_of ?b ?a)
                           (precedes ?occ2 ?occ3)
                           (not (poss ?a2 ?occ3))))))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' A resource ?r is weakly consumable with respect to an activity ?a1 iff ') (cl:comment 'after the occurrence of ?a1, there always exists a possible future along which ') (cl:comment 'any other activity that requires ?r will never be possible.') (cl:comment '

') (cl:comment 'An example of a weakly consumable resource is a paintbrush; if we do put it into') (cl:comment 'varsol after using it, then any activity that requires the brush will no ') (cl:comment 'longer be possible. ') (cl:comment '

')
(forall (?r ?a1) (iff (weakly_consumable ?r ?a1)
(forall (?a ?a2 ?occ2)
        (if  (and  	(common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (exists (?b)
                 (and    (occurrence_of ?b ?a)
			 (forall (?occ3)
                              (if  (and  (subactivity_occurrence ?occ3 ?b)
					 (occurrence_of ?b ?a)
                                         (precedes ?occ2 ?occ3))
                                   (not (poss ?a2 ?occ3))))))))))
  (cl:comment '
') (cl:comment ' Definition 8 ') (cl:comment ' A resource ?r is wearable with respect to an activity ?a1 iff after the') (cl:comment 'occurrence of ?a1 there is always a situation in every possible future where') (cl:comment 'any other activity that requires ?r is no longer possible.') (cl:comment '

') (cl:comment 'An example of a wearable resource is a drill bit; in every possible future,') (cl:comment 'there will exist a situation where the bt has worn down to the point where it') (cl:comment 'can no longer be used. ') (cl:comment '

')
(forall (?r ?a1) (iff (wearable ?r ?a1)
(forall (?a ?a2 ?occ2)
        (if  (and  (common ?a1 ?a2 ?r)
			(subactivity ?a1 ?a)
			(subactivity ?a2 ?a)
                        (occurrence_of ?occ2 ?a1))
             (forall (?b)
                  (if  (occurrence_of ?b ?a)
		       (exists (?occ3)
                           (and    (subactivity_occurrence ?occ3 ?b)
                                   (precedes ?occ2 ?occ3)
                                   (not (poss ?a2 ?occ3))))))))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Homogeneous Sets and Quantity') (cl:comment '
') (cl:comment '

') (cl:comment 'Homogeneous Sets and Quantity ') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: homogeneous_set.def

') (cl:comment ' Primitive Lexicon: none

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: res_set.th, requires.th,') (cl:comment 'act_occ.th, complex.th, atomic.th, occtree.th, disc_state.th, subactivity.th,') (cl:comment 'psl_core.th') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'subst_res.def,res_set_action.def, res_divisible.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' A homogeneous resource set is a pile with respect to an activity iff it is a') (cl:comment 'homogeneous set with respect to the activity, and the resource point is') (cl:comment 'equal to the cardinality of the set. ') (cl:comment '
')
(forall (?a ?r) (iff (pile ?r ?a) 
(and    (homogeneous_set ?r ?a)
        (forall (?q ?occ)
                (iff    (holds (resource_point ?r ?q) ?occ)
                        (exists (?i)
                                (and	(holds (resource_set ?i ?r) ?occ)
                                        (= ?q (cardinality ?i)))))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment '
')
(forall (?r ?a) (iff (stock ?r ?a) 
(and    (homogeneous_set ?r ?a)
	(forall (?q ?occ)
		(if  (holds (demand ?a ?r ?q) ?occ)
	             (exists (?i1 ?r1)
			(and	(= ?q (cardinality ?i1))
				(holds (resource_set ?i1 ?r1) ?occ)
				(requires_set ?a ?r1)
                                (forall (?q3)
                                    (if  (holds (agg_demand ?r ?q3) ?occ)
                                         (= ?q3 (cardinality ?i1)))))))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment '
')
(forall (?r ?a) (iff (pool ?r ?a) 
(and    (homogeneous_set ?r ?a)
	(forall (?q ?occ)
		(if  (holds (demand ?a ?r ?q) ?occ)
			  (exists (?i ?i1 ?r1)
				(and	(holds (resource_set ?i ?r) ?occ)
                                        (subset ?i1 ?i)
					(= ?q (cardinality ?i1))
					(holds (resource_set ?i1 ?r1) ?occ)
					(requires_set ?a ?r1))))))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' A pool is used by some activity iff the activity uses some quantity ') (cl:comment 'of the resource pool (remember that resource pools are themselves resources). ') (cl:comment '') (cl:comment '
')
(forall (?a ?r ?q) (iff (pool_demand ?a ?r ?q) 
(and	(pool ?r ?a) 
	(forall (?q1 ?occ)
		(if  (holds (demand ?a ?r ?q1) ?occ)
			  (= ?q ?q1))))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' A pile is used by some activity iff the activity uses some quantity ') (cl:comment 'of the resource pool (remember that resource pools are themselves resources). ') (cl:comment '') (cl:comment '
')
(forall (?a ?r ?q) (if (uses_pile ?a ?r ?q) 
(and	(pile ?r ?a) 
	(uses_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 6 ') (cl:comment ' A pile is consumed with respect to some activity iff the') (cl:comment 'activity consumes quantity of resources in the resource pool (remember that ') (cl:comment 'resource pools are themselves resources). ') (cl:comment '
')
(forall (?a ?r ?q) (iff (consumes_pile ?a ?r ?q) 
(and	(pile ?r ?a) 
	(consumes_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment ' Definition 7 ') (cl:comment ' A pile is produced with respect to some activity iff the') (cl:comment 'activity produces some quantity of resources in the resource pool (remember that ') (cl:comment 'resource pools are themselves resources). ') (cl:comment '
')
(forall (?a ?r ?q) (iff (produces_pile ?a ?r ?q) 
(and	(pile ?r ?a) 
	(produces_quantity ?a ?r ?q))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Inventory Resource Sets') (cl:comment '

') (cl:comment '

') (cl:comment 'Inventory Resource Sets') (cl:comment '

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: inventory_pool.def

') (cl:comment ' Primitive Lexicon: none

') (cl:comment ' Theories Required by this Extension: res_set.th, requires.th,') (cl:comment 'psl_core.th, act_occ.th, subactivity.th,interval.th, complex_act.th, sitcalc.th') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'homogeneous_set.def, subst_res.def, res_set_action.def, states.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Inventory is either input material or output material for some activity. ') (cl:comment '
')
(forall (?r) (iff (inventory_resource ?r) 
(exists (?a)
	(or	(input_material ?r ?a)
		(output_material ?r ?a)))))
  (cl:comment '
') (cl:comment ' An inventory pool is a resource set which is homogeneous with respect to') (cl:comment 'some activity ?a, and whose capacity constraints satisfy the following') (cl:comment 'conditions:') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?r ?a) (iff (inventory_pool ?r ?a) 
(forall (?i ?occ)
	(if  (holds (resource_set ?i ?r) ?occ)
            (and  (inventory_resource ?r)
                  (homogeneous_set ?r ?a) 
                  (forall (?q1)
                          (if  (holds (resource_point ?r ?q1) ?occ)
                                    (greaterEq ?q1 (cardinality ?i))))
                  (stock ?r ?a)
                  (forall (?a1 ?q4)
                          (if  (holds (min_capacity ?a1 ?r ?q4) ?occ)
                               (lesserEq ?q4 (cardinality ?i)))))))))
  (cl:comment '
') (cl:comment ' A resource is contained in an inventory pool iff it is a member of the') (cl:comment 'resource set associated with the inventory pool. ') (cl:comment '
')
(forall (?r1 ?r2 ?occ)
	(iff	(holds (inventory_contains ?r1 ?r2) ?occ)
		(exists (?a ?i)
			(and	(inventory_pool ?r2 ?a)
				(holds (resource_set ?i ?r2) ?occ)
				(holds (in ?r1 ?i) ?occ)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Resource Pools') (cl:comment '

') (cl:comment '

Resource Pools

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: res_pool.def

') (cl:comment ' Primitive Lexicon: none

') (cl:comment ' Theories Required by this Extension: res_set.th, requires.th,') (cl:comment 'psl_core.th, act_occ.th, subactivity.th,interval.th, complex_act.th, sitcalc.th') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'homogeneous_set.def,subst_res.def,res_set_action.def, states.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' A resource pool is a resource set which is homogeneous with respect to') (cl:comment 'some activity ?a, and whose capacity constraints satisfy the following ') (cl:comment 'conditions:') (cl:comment '') (cl:comment '') (cl:comment '
')
(forall (?r ?a) (iff (resource_pool ?r ?a) 
(forall (?i ?occ)
	(if  (holds (resource_set ?i ?r) ?occ)
		  (and 	(pile ?r ?a)
			(pool ?r ?a)
			(forall (?q3)
				(if  (holds (min_capacity ?a ?r ?q3) ?occ)
					  (lesser ?q3 (cardinality ?i)))))))))
  (cl:comment '
') (cl:comment ' A resource pool is conservative with respect to an activity iff the demand') (cl:comment 'for the pool is equal to the quantity which is used or consumed. ') (cl:comment '
')
(forall (?a ?r) (iff (conservative_pool ?a ?r) 
(and	(resource_pool ?r ?a)
	(forall (?q)
		(iff	(pool_demand ?a ?r ?q)
			(or	(uses_pile ?a ?r ?q)
				(consumes_pile ?a ?r ?q)))))))
	
  (cl:comment '
') (cl:comment ' A resource pool is a material pool with respect to some activity iff the') (cl:comment 'pool is provided with respect to the activity. ') (cl:comment '
')
(forall (?r ?a) (iff (material_pool ?r ?a) 
(and	(resource_pool ?r ?a) 
	(exists (?q)
		(provides_quantity ?a ?r ?q)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Resource Set-based Activities') (cl:comment '

') (cl:comment '

') (cl:comment 'Resource Set-based Activities') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: res_set_action.def

') (cl:comment ' Primitive Lexicon: none

') (cl:comment ' Theories Required by this Extension: res_set.th, requires.th, ') (cl:comment 'psl_core.th, act_occ.th, subactivity.th,interval.th, complex_act.th, sitcalc.th') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: states.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' An activity is a nondeterministic selection activity with respect to a ') (cl:comment 'resource set ?r1 iff the occurrence of the activity is equivalent to the') (cl:comment 'occurrence of a subactivity which requires a resource that is an element of the') (cl:comment 'set associated with ?r1. ') (cl:comment '
')
(forall (?a1 ?r1) (iff (nondet_select ?a1 ?r1) 
(forall (?occ)
	(iff	(occurrence_of ?occ ?a1)
		(exists (?r2 ?i ?a2 ?occ2)
			(and	(subactivity ?a2 ?a1)
				(holds (resource_set ?i ?r1) (root_occ ?occ))
				(holds (in ?r2 ?i) (root_occ ?occ))
				(requires ?a2 ?r2)
				(occurrence_of ?occ2 ?a2)
				(subactivity_occurrence ?occ2 ?occ)))))))
  (cl:comment '
') (cl:comment ' An activity is a nondeterministic set selection activity with respect to a ') (cl:comment 'resource set ?r1 iff the occurrence of the activity is equivalent to the') (cl:comment 'occurrence of a subactivity which requires a subset of resources that are ') (cl:comment 'elements of the set associated with ?r1. ') (cl:comment '
')
(forall (?a1 ?r1) (iff (nondet_set_select ?a1 ?r1) 
(forall (?occ)
	(iff	(occurrence_of ?occ ?a1)
			(exists (?r2 ?a2 ?occ2)
			(and	(subactivity ?a2 ?a1)
				(holds (resource_subset ?r2 ?r1) (root_occ ?occ))
				(requires ?a2 ?r2)
				(occurrence_of ?occ2 ?a2)
				(subactivity_occurrence ?occ2 ?occ)))))))
  (cl:comment '
') (cl:comment ' An activity is a nondeterministic quantity selection activity with respect to') (cl:comment 'a resource set ?r iff it is a nondeterministic set selection activity, and the') (cl:comment 'cardinality of the selected subset is equal to ?q. ') (cl:comment '
')
(forall (?a ?r ?q) (iff (nondet_quantity_select ?a ?r ?q) 
(and	(nondet_set_select ?a ?r)
	(= ?q (cardinality ?r)))))
  (cl:comment '
') (cl:comment ' An activity requires the resource set ?r iff every subactivity requires some') (cl:comment 'resource which is an element of the set associated with ?r. ') (cl:comment '
')
(forall (?a ?r) (iff (requires_set ?a ?r) 
(forall (?occ1)
	(iff	(occurrence_of ?occ1 ?a)
		(forall (?a1 ?i)
			(if  (and	(holds (resource_set ?i ?r) (root_occ ?occ1))
					(subactivity ?a1 ?a))
			     (exists (?r1 ?occ2)
				(and	(occurrence_of ?occ2 ?a1)
					(holds (in ?r1 ?i) (root_occ ?occ2))
					(requires ?a1 ?r1)
					(subactivity_occurrence ?occ1 ?occ1)))))))))
  (cl:comment '
') (cl:comment ' An activity requires the full resource set ?r iff every resource which is an ') (cl:comment 'element of the set associated with ?r is required by some subactivity .') (cl:comment '') (cl:comment '
')
(forall (?a ?r) (iff (requires_full_set ?a ?r) 
(forall (?occ1)
	(iff	(occurrence_of ?occ1 ?a)
		(forall (?r1)
			(if  (holds (in_resource_set ?r1 ?r) (root_occ ?occ1))
			     (exists (?a1 ?occ2)
				(and	(subactivity ?a1 ?a)
					(requires ?a1 ?r1)
					(occurrence_of ?occ2 ?a1)
					(subactivity_occurrence ?occ2 ?occ1)))))))))
  (cl:comment '
') (cl:comment ' An activity is a nondeterministic resource activity iff the reason that the') (cl:comment 'activity is nondeterministic is because it is a nondeterministic selection activity') (cl:comment 'with respect to some resource set. ') (cl:comment '
')
(forall (?a) (iff (nondet_res_activity ?a) 
(if  (nondet_choice ?a)
     (exists (?r1)
	(nondet_select ?a ?r1)))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Substitutable Resources') (cl:comment '

') (cl:comment '

') (cl:comment 'Substitutable Resources ') (cl:comment '

') (cl:comment '

') (cl:comment ' Extension Name: subst_res.def

') (cl:comment ' Primitive Lexicon: none

') (cl:comment ' Theories Required by this Extension: res_set.th, requires.th,') (cl:comment 'psl_core.th, act_occ.th, subactivity.th,interval.th, complex_act.th, sitcalc.th') (cl:comment '

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Definitional Extensions Required by this Extension: res_set_action.def,') (cl:comment 'states.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment '
')
(forall (?a ?r) (iff (superpose_select ?a ?r) 
(forall (?a1 ?occ1)
        (if  (and	(occurrence_of ?occ1 ?a)
                        (subactivity ?a1 ?a)
                        (primitive ?a1))
                  (exists (?a2 ?r1 ?occ2)
                        (and    (subactivity ?a1 ?a2)
                                (subactivity ?a2 ?a)
				(occurrence_of ?occ2 ?a2)
                                (holds (resource_subset ?r1 ?r) (root_occ ?occ2))
                                (nondet_select ?a2 ?r1)))))))
  (cl:comment '
') (cl:comment ' A resource set is homogeneous iff it is required by a superpose_select') (cl:comment 'activity. ') (cl:comment '
')
(forall (?a ?r) (iff (homogeneous_set ?r ?a) 
(exists (?a2)
   	(and    (superpose_select ?a2 ?r)
                (subactivity ?a ?a2)))))
  (cl:comment '
') (cl:comment '
')
(forall (?a1 ?a2 ?r ?occ)
        (iff    (occurs_over (set_contention ?r) ?occ)
                (if  (and	(subactivity ?a1 (set_contention ?r))
                                (subactivity ?a2 (set_contention ?r)))
                          (and  (requires_set ?a1 ?r)
                                (requires_set ?a2 ?r)
                                (concurrent_superpose (set_contention ?r))))))

(forall (?r ?s)
	(if  (poss (set_contention ?r) ?s)
		  (and	(forall (?a)
				(if  (subactivity ?a (set_contention ?a))
				     (homogeneous_set ?r ?a)))
			(holds (available ?r (set_contention ?r)) ?s))))
  (cl:comment '
') (cl:comment '

') (cl:comment '') (cl:comment '') (cl:comment 'Processor Activities') (cl:comment '

') (cl:comment '

Processor Activities

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: processor.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: requires.th,') (cl:comment 'act_occ.th, complex.th, atomic.th, occtree.th, disc_state.th, subactivity.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: res_role.def') (cl:comment '

') (cl:comment '

') (cl:comment ' Overview

') (cl:comment ' In this extension, we are not dealing with arbitrary activities; the ') (cl:comment 'manufacturing activities use and consume resources to produce or') (cl:comment 'modify resources, ultimately creating some product. This class is ') (cl:comment 'axiomatized using the term "processor activity". ') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment 'An activity ?a modifies an object ?r if there is some property of the') (cl:comment 'resource which is changed as the result of the occurrence of ?a') (cl:comment '
')
(forall (?a ?r) (iff (modifies ?a ?r) 
(exists (?f)
        (and    (resource_fluent ?f ?r)
		(changes ?a ?f)))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment 'A processor activity is an activity which uses some set of resources,') (cl:comment 'consumes or modifies some other set of resources, and produces or modifies') (cl:comment 'a set of objects.') (cl:comment '
')
(forall (?a) (iff (processor_activity ?a) 
(exists (?r1 ?r2 ?r3)
        (and    (or	(reusable ?r1 ?a)
			(possibly_reusable ?r1 ?a))
                (or     (consumable ?r2 ?a)
			(possibly_consumable ?r2 ?a)
                        (modifies ?a ?r2))
                (or     (creates ?a ?r3)
                        (modifies ?a ?r3))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment 'An object ?r is a processor resource for an activity ?a iff ?a is a') (cl:comment 'processor activity which uses ?r.') (cl:comment '
')
(forall (?r ?a) (iff (processor_resource ?r ?a) 
(and    (processor_activity ?a)
	(reusable ?r ?a)
	(possibly_reusable ?r ?a))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment 'An object ?r is an input material for an activity ?a iff ?a is a') (cl:comment 'processor activity which consumes or modifies ?r.') (cl:comment '
')
(forall (?r ?a) (iff (input_material ?r ?a) 
(and    (processor_activity ?a)
        (or     (consumable ?r ?a)
		(possibly_consumable ?r ?a)
                (modifies ?a ?r)))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment 'An object ?r is an output material for an activity ?a iff ?a is a') (cl:comment 'processor activity which produces or modifies ?r.') (cl:comment '
')
(forall (?r ?a) (iff (output_material ?r ?a) 
(and    (processor_activity ?a)
        (or     (creates ?a ?r)
                (modifies ?a ?r)))))
  (cl:comment '
') (cl:comment '') (cl:comment '') (cl:comment 'Resource Paths') (cl:comment '
') (cl:comment '

Resource Paths

') (cl:comment '
') (cl:comment '

') (cl:comment ' Extension Name: res_path.def

') (cl:comment ' Primitive Lexicon: None

') (cl:comment ' Defined Lexicon: ') (cl:comment '

') (cl:comment ' Theories Required by this Extension: requires.th, soo.th,') (cl:comment 'act_occ.th, complex.th, atomic.th, subactivity.th, occtree.th, disc_state.th, psl_core.th

') (cl:comment ' Definitional Extensions Required by this Extension: ') (cl:comment 'processor.def') (cl:comment '

') (cl:comment '

') (cl:comment '

Definitions

') (cl:comment ' Definition 1 ') (cl:comment ' An activity occurrence ?occ2 is the next processor subactivity occurrence ') (cl:comment 'after ?occ1 in an activity ?a iff the output material of ?a1 is the input material of ?a2, ') (cl:comment 'and there is no') (cl:comment 'other processor subactivity of ?a which consumes the output material from ?a1,') (cl:comment 'and which occurs between ?a1 and ?a2.') (cl:comment '
')
(forall (?occ1 ?occ2 ?a) (iff (next_processor_path ?occ1 ?occ2 ?a) 
(and	(next_subactivity ?occ1 ?occ2 ?a)
	(exists (?a1 ?a2 ?r)
		(and	(occurrence_of ?occ1 ?a1)
			(occurrence_of ?occ2 ?a2)
			(processor_activity ?a1)
			(processor_activity ?a2)
			(output_material ?r ?a1)
			(input_material ?r ?a2))))))
  (cl:comment '
') (cl:comment ' Definition 2 ') (cl:comment ' pro_precedes is a partial ordering over the processor subactivity occurrences of ?a with') (cl:comment 'respect to resource flow.') (cl:comment '
')
(forall (?occ1 ?occ2 ?a) (iff (pro_precedes ?occ1 ?occ2 ?a) 
(and	(soo_precedes ?occ1 ?occ2 ?a)
	(forall (?occ3)
		(if  (and	(soo_precedes ?occ1 ?occ3 ?a)
				(soo_precedes ?occ3 ?occ2 ?a))
			  (exists (?occ4 ?occ5)
				(and	(next_processor_path ?occ4 ?occ3 ?a)
					(next_processor_path ?occ3 ?occ5 ?a))))))))
  (cl:comment '
') (cl:comment ' Definition 3 ') (cl:comment ' An activity is a resource path iff the subactivity occurrence ordering') (cl:comment 'is equivalent to the material flow ordering. ') (cl:comment '
')
(forall (?a) (iff (resource_path ?a) 
(forall (?occ1 ?occ2)
	(iff	(soo_precedes ?occ1 ?occ2 ?a)
		(pro_precedes ?occ1 ?occ2 ?a)))))
  (cl:comment '
') (cl:comment ' Definition 4 ') (cl:comment ' An occurrence is initial processor activity occurrence in an activity ?a') (cl:comment 'iff ?a is a resource path and the occurrence is the root of the subactivity') (cl:comment 'occurrence ordering. ') (cl:comment '
')
(forall (?occ ?a) (iff (initial_processor_path ?occ ?a) 
(and	(resource_path ?a)
	(root_soo ?occ ?a))))
  (cl:comment '
') (cl:comment ' Definition 5 ') (cl:comment ' An occurrence is a final processor activity occurrence in an activity ?a') (cl:comment 'iff ?a is a resource path and the occurrence is the leaf of the subactivity') (cl:comment 'occurrence ordering. ') (cl:comment '
')
(forall (?occ ?a) (iff (final_processor_path ?occ ?a) 
(and	(resource_path ?a)
	(leaf_soo ?occ ?a))))
  (cl:comment '
') (cl:comment '')