Situation

A situation is a spatiotemporal context or portion of reality wherein entities exist or events occur.

Discussion

In philosophy, linguistics, and AI, it’s important to discuss the context in which events take place. Various strategies have been employed to this end: for example, situation semantics, states of affairs, frames, world models, causal models, and possible world semantics. In ethics, it can be important to state the context in which a certain action is deemed good or bad or the field in which certain virtues are relevant. In line with a use theory of meaning or inferential role semantics, the concept situation can be defined in terms of how it’s used within the formal ethics ontology1See On Formal Definitions for more discussion.. I chose to at least sketch out a few ontological properties of situations.

I define situations as a subclass of physical entities2Physical entities are in SUMO’s KB partitioned into objects and processes, so situations would probably fall under the objects header.. Every situation has a time during which it takes place and a region where it is located3I wonder what’s the best way to refer to the region of an event such as an online chatroom. This suggests that the meaning postulates should remain vaguely underconstrained.. The situation of a physical entity contains this entity spatially and temporally. Every object near a physical object (or agent of a process) is within the situation of the object or process4Note that this condition is already so strong as to rule out practically defining partial situations. Is there a theory of working with approximations of universals? In some way, every relevant entity should also be included in the situation5And the definition of relevance used is very, very vague.. While far from sufficient to support a theory of situations, these meaning postulates should sketch out what it means to be a situation for the purpose of this ontology.

SUMO

(documentation Situation EnglishLanguage "A spatiotemporal context or portion of reality wherein entities exist or events occur.")
(subclass Situation Physical)

(=>
  (instance ?S Situation)
  (exists (?T)
    (equal ?T (WhenFn ?S))))

(=> 
  (instance ?S Situation)
  (forall (?T)
    (=>
      (and
        (instance ?T TimePoint)
        (temporalPart ?T (WhenFn ?S)))
      (exists (?L)
        (equal ?L (WhereFn ?S (?T)))))))

Situations are a subclass of physical entities. For every situation, there is a time of the situation. For every situation and every timepoint during the situation, there is a region where the situation is located.

The “situationOf” predicate denotes situations of physical entities. Every physical entity is in a situation. The situation of a physical entity spatiotemporally contains the entity as a part. Every object near an object is also in the object’s situation. Every object near the agent of a process is also in the process’s situation.

(documentation situationOf EnglishLanguage "This predicate is true when the arguments are a physical entity and its situation.")
(instance situationOf BinaryPredicate)
(domain situationOf 1 Physical)
(domain situationOf 2 Situation)
(subrelation situationOf represents)

;; Every physical entity is in at least one situation.
(=> 
  (instance ?PHYSICAL Physical)
  (exists (?SITUATION)
    (situationOf ?PHYSICAL ?SITUATION)))

;; The situation containing a physical entity spatiotemporally contains the entity.
(=> 
  (and
    (situationOf ?PHYSICAL ?SITUATION)
    (equal ?TS (WhenFn ?SITUATION))
    (equal ?TP (WhenFn ?PHYSICAL))
    (equal ?LS (WhereFn ?SITUATION ?TS))
    (equal ?LP (WhereFn ?PHYSICAL ?TP)))
  (and
    (temporalPart ?TP ?TS)
    (part ?LP ?LS)))

;; For objects, the situation includes everything nearby.
(=> 
  (and
    (situationOf ?PHYSICAL ?SITUATION)
    (instance ?PHYSICAL Object)
    (equal ?TS (WhenFn ?SITUATION))
    (equal ?LS (WhereFn ?SITUATION ?TS)))
  (forall (?NEAR)
    (=> 
      (and
        (orientation ?NEAR ?PHYSICAL Near)
        (equal ?TR (WhenFn ?NEAR))
        (equal ?LR (WhereFn ?NEAR ?TR)))
      (and
        (temporalPart ?TR ?TS)
        (part ?LR ?LS)))))

;; For processes with agents, the situation includes everything near the agent.
(=> 
  (and
    (situationOf ?PHYSICAL ?SITUATION)
    (instance ?PHYSICAL Process)
    (agent ?PHYSICAL ?AGENT)
    (equal ?TS (WhenFn ?SITUATION))
    (equal ?LS (WhereFn ?SITUATION ?TS)))
  (forall (?NEAR)
    (=> 
      (and
        (orientation ?NEAR ?AGENT Near)
        (equal ?TR (WhenFn ?NEAR))
        (equal ?LR (WhereFn ?NEAR ?TR)))
      (and
        (temporalPart ?TR ?TS)
        (part ?LR ?LS)))))

The “SituationFn” maps physical entities to the minimal situation that contains them, which is defined in terms of it being the situation that is a part of all situations of the entity. The minimal situation of every physical entity that is relevant to a physical entity is a part of every situation of the physical entity.

documentation SituationFn EnglishLanguage "Maps a Physical Entity to its situation, which is the minimal situation containing the physical entity.")
(domain SituationFn 1 Physical)
(range SituationFn Situation)
(instance SituationFn UnaryFunction)
(instance SituationFn TotalValuedRelation)
(relatedInternalConcept SituationFn WhereFn)
(relatedInternalConcept SituationFn WhenFn)

(=>
  (equal ?SITUATION (SituationFn ?PHYSICAL))
  (situationOf ?PHYSICAL ?SITUATION))

(=>
  (situationOf ?PHYSICAL ?SITUATION)
  (part (SituationFn ?PHYSICAL) ?SITUATION))


(=>
  (situationOf ?PHYSICAL ?SITUATION)
  (forall (?REL)
    (=>
      (and
        (instance ?REL Physical)
        (relevant ?REL ?PHYSICAL))    
      (part (SituationFn ?REL) ?SITUATION))))

The “describesSituation” predicate denotes situations that are described by formulas. The “SituationFormulaFn” corresponds with “SituationFn”: when a physical entity represents (realizes, or conforms to) a formula, then the situation returned by the situation-formula-function is the same as the situation returned by the situation-function.

documentation describesSituation EnglishLanguage "(describesSituation ?SIT ?FORMULA) describes how ?SIT manifests the ideas outliden by the proposition represented by ?FORMULA.")
(domain  describesSituation 1 Formula)
(domain describesSituation 2 Situation)
(instance describesSituation BinaryPredicate)
(subrelation describesSituation represents)

(documentation SituationFormulaFn EnglishLanguage "Maps a Formula to the Situation it describes or the Situation of what it describes.  This function is compatible with SituationFn for physcial entities.")  
(domain SituationFormulaFn 1 Formula)
(range SituationFormulaFn Situation)
(instance SituationFormulaFn UnaryFunction)
(instance SituationFormulaFn TotalValuedRelation)
(relatedInternalConcept SituationFormulaFn SituationFn)

(=> 
  (describesSituation ?FORMULA SITUATION)
  (part (SituationFormulaFn ?FORMULA) ?SITUATION))

(=>
  (equal ?SITUATION (SituationFormulaFn ?FORMULA)
  (describesSituation ?FORMULA ?SITUATION)))

(=>
  (realizesFormula ?PROCESS ?FORMULA)
  (equal (SituationFn ?PROCESS) (SituationFormulaFn ?FORMULA)))

(=>
  (conformsFormula ?OBJ ?FORMULA)
  (equal (SituationFn ?OBJ) (SituationFormulaFn ?FORMULA)))

(=>
  (and
    (instance ?PHYSICAL Physical)
    (represents ?PHYSICAL ?FORMULA))
  (equal (SituationFn ?PHYSICAL) (SituationFormulaFn ?FORMULA)))