(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))

This Lisp-to-HTML translation was brought to you by
François Gerbaux and Tom Gruber