(define-theory procedures (Planning)) (in-theory 'procedures) (DEFINE-RELATION FOLLOWING-PHASE-OF (?A ?B) :IFF-DEF (AND (EXISTS (?C) (AND (TEMPORAL-PART-OF ?A ?C) (TEMPORAL-PART ?C ?B))) (TEMPORALIZED-ENTITY ?A) (TEMPORALIZED-ENTITY ?B) (FOLLOWS ?A ?B) (*PHASE ?A) (*PHASE ?B)) :CONSTRAINTS (AND (*PHASE ?A) (*PHASE ?B)) :AXIOM-CONSTRAINTS (AND (RANGE FOLLOWING-PHASE-OF *PHASE) (DOMAIN FOLLOWING-PHASE-OF *PHASE))) (DEFINE-RELATION PRECEDING-PHASE-OF (?A ?B) :IFF-DEF (AND (EXISTS ?U (AND (EXISTS (?D ?E ?F ?G) (AND (BEGINPOINT ?B ?G) (DURATION-VALUE ?G ?F) (ENDPOINT ?A ?E) (TIME-VALUE ?E ?D) (< ?D ?F))) (EXISTS (?H) (AND (THE-TIME-UNIT ?A ?H) (IDENTITY ?H ?U))) (EXISTS (?I) (AND (THE-TIME-UNIT ?B ?I) (IDENTITY ?I ?U))))) (EXISTS (?C) (AND (TEMPORAL-PART-OF ?A ?C) (TEMPORAL-PART ?C ?B))) (TEMPORALIZED-ENTITY ?A) (TEMPORALIZED-ENTITY ?B) (PRECEDES ?A ?B) (*PHASE ?A) (*PHASE ?B)) :CONSTRAINTS (AND (*PHASE ?A) (*PHASE ?B)) :AXIOM-CONSTRAINTS (AND (RANGE PRECEDING-PHASE-OF *PHASE) (DOMAIN PRECEDING-PHASE-OF *PHASE))) (DEFINE-RELATION PROCEDURAL-PROPERTY (?A ?B) :DEF (AND (TYPICALITY-PROPERTY ?A ?B) (PROCEDURE ?A))) (DEFINE-RELATION _ABANDONED (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_ACTIVATED ?A ?B)") (HOLDS-AT ?K "(_ABANDONED ?A ?B)"))) (PROCEDURAL-PROPERTY ?A ?B))) (DEFINE-RELATION _ABORTED-PROCEDURE (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_ACTIVATED ?A ?B ?C)") (HOLDS-AT ?K "(_ABORTED-PROCEDURE ?A ?B ?D)"))) (PROCEDURAL-PROPERTY ?A ?B))) (DEFINE-RELATION _ACTIVATED (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_READY ?A ?B)") (HOLDS-AT ?K "(_ACTIVATED ?A ?B)"))) (PROCEDURAL-PROPERTY ?A ?B) (PROCEDURE ?A) (BOOLEAN ?B)) :CONSTRAINTS (AND (PROCEDURE ?A) (BOOLEAN ?B)) :AXIOM-CONSTRAINTS (AND (RANGE _ACTIVATED BOOLEAN) (DOMAIN _ACTIVATED PROCEDURE))) (DEFINE-RELATION _COMPLETED (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_ACTIVATED ?A ?B)") (HOLDS-AT ?K "(_COMPLETED ?A ?B)"))) (PROCEDURAL-PROPERTY ?A ?B))) (DEFINE-RELATION _REACTIVATED (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_SUSPENDED ?A ?B)") (HOLDS-AT ?K "(_REACTIVATED ?A ?B)"))) (PROCEDURAL-PROPERTY ?A ?B) (PROCEDURE ?A) (BOOLEAN ?B)) :AXIOM-CONSTRAINTS (AND (RANGE _REACTIVATED BOOLEAN) (DOMAIN _REACTIVATED PROCEDURE))) (DEFINE-RELATION _READY (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_RESERVED ?A ?B)") (HOLDS-AT ?K "(_READY ?A ?B)"))) (PROCEDURAL-PROPERTY ?A ?B))) (DEFINE-RELATION _RECORDED (?A ?B) :DEF (AND (OR (_COMPLETED ?A ?B) (_ABANDONED ?A ?B) (_ABORTED-PROCEDURE ?A ?B)) (PROCEDURAL-PROPERTY ?A ?B))) (DEFINE-RELATION _RESERVED (?A ?B) :DEF (PROCEDURAL-PROPERTY ?A ?B)) (DEFINE-RELATION _SUSPENDED (?A ?B) :DEF (AND (EXISTS (?Z ?K) (AND (INTERVAL ?Z) (INTERVAL ?K) (PROCEDURE ?A) (BOOLEAN ?B) (MEETS ?Z ?K) (HOLDS-AT ?Z "(_ACTIVATED ?A ?B)") (HOLDS-AT ?K "(_SUSPENDED ?A ?B)"))) (PROCEDURAL-PROPERTY ?A ?B))) (DEFINE-CLASS *EVENT (?SELF) "The class of phases, during which some changes happen." :DEF (AND (EXISTS (?Y ?Z) (AND (SITUATION ?Y) (SITUATION ?Z) (CONTEXT-OF ?Y ?SELF) (EXISTS (?B) (AND (BEGINPOINT ?SELF ?B) (CO-OCCUR ?Y ?B))) (CONTEXT-OF ?Z ?SELF) (EXISTS (?C) (AND (ENDPOINT ?SELF ?C) (CO-OCCUR ?Z ?C))) (DIFFERENT ?Y ?Z))) (*PHASE ?SELF) (EXISTS (?A) (AND (TEMPORAL-PART-OF ?SELF ?A) (PROCESS ?A))))) (DEFINE-CLASS *PHASE (?SELF) "The (reified) class of processes which are part of another process." :IFF-DEF (AND (PROCESS ?SELF) (EXISTS (?A) (AND (TEMPORAL-PART-OF ?SELF ?A) (PROCESS ?A)))) :AXIOM-DEF (THE-ARCHETYPE *PHASE REIFIED-PROPERTY)) (DEFINE-CLASS *STATE (?SELF) "The class of phases, during which no changes happen." :DEF (AND (EXISTS (?Y ?Z) (AND (SITUATION ?Y) (SITUATION ?Z) (CONTEXT-OF ?Y ?SELF) (EXISTS (?A) (AND (BEGINPOINT ?SELF ?A) (CO-OCCUR ?Y ?A))) (CONTEXT-OF ?Z ?SELF) (EXISTS (?B) (AND (ENDPOINT ?SELF ?B) (CO-OCCUR ?Z ?B))) (EQUAL-BUT-TIME ?Y ?Z))) (*PHASE ?SELF)) :AXIOM-DEF (THE-ARCHETYPE *STATE REIFIED-PROPERTY)) (DEFINE-CLASS ACT-STAGE (?SELF) "An act stage is an act that constitutes a phase of a procedure." :DEF (AND (STAGE ?SELF) (EXISTS (?A) (AND (TEMPORAL-PART-OF ?SELF ?A) (PROCEDURE ?A)))) :CONSTRAINTS (EXISTS (?B) (AND (METHOD ?SELF ?B) (OR (SEQUENTIAL-PLAN ?B) (CYCLICAL-PLAN ?B)))) :AXIOM-DEF (THE-ARCHETYPE ACT-STAGE REIFIED-PROPERTY)) (DEFINE-CLASS CASE-STAGE (?SELF) :DEF (AND (PLANNING-STAGE ?SELF) (EXISTS (?A) (AND (MEETS ?SELF ?A) (AND (STAGE ?A) (FORALL (?B) (=> (DEPENDENTLY-CO-EXIST ?A ?B) (INCOHERENT ?B))))))) :CONSTRAINTS (EXISTS (?C) (AND (METHOD ?SELF ?C) (CASE-PLAN ?C)))) (DEFINE-CLASS CONCURRENT-STAGE (?SELF) :DEF (AND (PLANNING-STAGE ?SELF) (MINIMUM-SLOT-CARDINALITY ?SELF MEETS 2)) :CONSTRAINTS (EXISTS (?A) (AND (METHOD ?SELF ?A) (CONCURRENT-PLAN ?A)))) (DEFINE-CLASS INFORMATION-GATHERING (?SELF) :DEF (PROCEDURE ?SELF)) (DEFINE-CLASS INFORMATION-STAGE (?SELF) "An information stage is an act -performed to gather information- that constitutes a phase of a procedure." :DEF (AND (ACT-STAGE ?SELF) (EXISTS (?A) (AND (CONVENTIONAL-GOAL ?SELF ?A) (INFORMATION-GATHERING ?A)))) :AXIOM-DEF (THE-ARCHETYPE INFORMATION-STAGE REIFIED-PROPERTY)) (DEFINE-CLASS PARTLY-CONCURRENT-STAGE (?SELF) :DEF (AND (PLANNING-STAGE ?SELF) (MINIMUM-SLOT-CARDINALITY ?SELF MEETS 3) (EXISTS (?A) (AND (MEETS ?SELF ?A) (AND (STAGE ?A) (FORALL (?B) (=> (DEPENDENTLY-CO-EXIST ?A ?B) (INCOHERENT ?B))))))) :CONSTRAINTS (EXISTS (?C) (AND (METHOD ?SELF ?C) (PARTLY-CONCURRENT-PLAN ?C)))) (DEFINE-CLASS PLANNING-STAGE (?SELF) "A stage performed to accomplish a branching or a synchronization contained in a plan that constitutes the method of the procedure at hand." :DEF (AND (STAGE ?SELF) (EXISTS (?A) (AND (TEMPORAL-PART-OF ?SELF ?A) (PROCEDURE ?A)))) :CONSTRAINTS (EXISTS (?B) (AND (METHOD ?SELF ?B) (OR (BRANCHING-PLAN ?B) (SYNCHRO-PLAN ?B)))) :AXIOM-DEF (THE-ARCHETYPE PLANNING-STAGE REIFIED-PROPERTY)) (DEFINE-CLASS STAGE (?SELF) "A stage is a distinct phase of a procedure." :DEF (AND (ACTIVITY ?SELF) (EXISTS (?A) (AND (TEMPORAL-PART-OF ?SELF ?A) (PROCEDURE ?A)))) :AXIOM-DEF (THE-ARCHETYPE STAGE REIFIED-PROPERTY))