This section will cover sub-events in Cyc.  In general, #$subEvents is the single most important predicate among the non-#$ActorSlot roles. #$SubProcessSlot is one of the two most significant specializations of #$Role.  #$subEvents is the predicate at the top of a hierarchy of predicates that make up the #$SubProcessSlot collection.


  In Cyc, an event can have sub-events.  Sub-events are events that occur within the temporal scope of a larger event.  They can be related to each other in various different ways; two different sub-events of a single event can occur simultaneously, one can occur before the other, or they can sort of overlap temporally.

Cyc will infer certain temporal relationships between the “main-event” and the sub-event(s) related to it by various sub-event roles. For instance, #$subEvents implies the relationships #$temporallySubsumes and #$parts.  #$firstSubEvents implies the temporal relations #$temporallySubsumes and #$temporallyStartedBy.

Having identified multiple sub-events of a reference event, we may then represent relationships that hold between the different sub-events.

A time-slice of the #$TrafalgarSignals (1)

  Let’s look at an example with some #$subEvents of a particular, extended communications event:

Consider a time-slice of the event #$TrafalgarSignals --  namely, the event in which Nelson signals at 12:15 (shortly after noon). That’s when he asks the rest of the fleet to engage the enemy more closely.

A time-slice of the #$TrafalgarSignals (1)

Nelson’s signaling communicates to the rest of the British fleet reading the signal that they are to engage the enemy more closely.

Cotemporal sub-events

  Nelson’s signalling and the fleet’s reading of the signals are cotemporal sub-events.

We can say of the first that it’s an instance of #$VisualCommunicating while the second is an instance of #$SignalReading.  Each of those are specializations of #$Event.

We can also say of the first that it’s performed by the signalman on the H.M.S. Victory and of the second that it’s performed by the rest of the British fleet.

Further, we can say that  the sender of information in the signaling is Horatio Nelson, and he’s also the sender of information in the second event.  But notice that we wouldn’t say that #$TrafalgarSignals-British is itself an instance of #$SignalReading.  Only a sub-event of it is an instance of #$SignalReading.   Nor would we say that the Trafalgar signals are entirely performed by the signalman on the HMS Victory.  Only a particular sub-event of the signaling is actually performed by that individual.

We could also say that the British fleet at Trafalgar is the recipient of information in both the signaling and the reading.

These roles, such as #$performedBy, specify the relations that certain individuals have with sub-events of the signaling.  But those relations that those individuals have with the sub-events don't necessarily inherit up or across to other sub-events.

Time-slices of the #$TrafalgarSignals

  Let’s look at a case where there are non-cotemporal sub-events of a larger sub-event.  Again, take the battle of Trafalgar, in which the fleets are arranged in the manner indicated in the picture on the right.

One sub-event of #$TrafalgarSignals is Nelson’s signaling the HMS Mars at 9:41 AM.  At that point, Nelson communicated to the rest of the fleet that they should take up the station of the Royal Sovereign – in other words, get in line behind the Royal Sovereign.

Time-slices of the #$TrafalgarSignals

  Collingwood signaled the Lee Column four minutes after Nelson’s signal.  So these sub-events of the Trafalgar signals are non-cotemporal because Nelson’s signaling precedes Collingwood’s signaling.  Collingwood just relayed Nelson’s signal down the Lee column.

Sequential (non-cotemporal) sub-events

  We can say of the first sub-event, Nelson signaling the H.M.S. Mars, that it is an instance of #$VisualCommunicating and that the second sub-event, Collingwood’s relaying the signal, is also an instance of #$VisualCommunicating.

Each one of these instances of #$VisualCommunicating is performed by a different signalman, namely the signalman on the relevant ships.

The sender of information is different in each case and the recipient of information is different in each case.


  We’ve talked about sub-events.  Sub-events are components of events and we relate sub-events to the events of which they are components via sub-process slots.  #$SubProcessSlot is one of the two significant specializations of #$Role.  The top node in the predicate hierarchy that constitutes #$SubProcessSlot is #$subEvents.  So a sub-event and all its spec preds relate certain events to the events of which they are sub-events, “temporal components” in some sense.  Sub-events stand in certain relations to each other and the event of which they are components.  They can occur simultaneously, they can occur in sequence, or they can temporally overlap.  We looked at some examples of both cotemporal sub-events and sequential sub-events.