> TerminatedAt [stopped Vessel = true] T
    HappensAt [stop_end Vessel] T

> TerminatedAt [lowSpeed Vessel = true] T
    HappensAt [slow_motion_end Vessel] T

> TerminatedAt [lowSpeed Vessel = true] T
    HappensAt Start [stopped Vessel = true] T

> InitiatedAt [withinArea Vessel AreaName = true] T
    HappensAt [isInArea Vessel AreaName] T

> TerminatedAt [withinArea Vessel AreaName = true] T
    HappensAt [leavesArea Vessel AreaName] T

> InitiatedAt [sailing Vessel = true] T
    HappensAt [velocity Vessel Speed Heading] T
    ThresholdGreaterOrEqual Speed 2.0

> TerminatedAt [sailing Vessel = true] T
    HappensAt [velocity Vessel Speed Heading] T
    ThresholdLess Speed 2.0

> TerminatedAt [sailing Vessel = true] T
    HappensAt [gap_start Vessel] T

> TerminatedAt [highSpeedIn Vessel AreaName = true] T
    HappensAt [leavesArea Vessel AreaName] T

> TerminatedAt [highSpeedIn Vessel AreaName = true] T
    HappensAt [gap_start Vessel] T

> HoldsFor [loitering Vessel = true] I
    HoldsFor ! [lowSpeed Vessel = true] Il
    HoldsFor ! [stopped Vessel = true] Is
    HoldsFor ! [withinArea Vessel AreaName = true] Ia
    Intersect_All [Il Ia] Ila
    Intersect_All [Is Ia] Isa
    Union_All [Ila Isa] I
    IntDurGreaterOrEqual I 600

> HoldsFor [rendezVouz Vessel1 Vessel2 = true] I
    HoldsFor [proximity Vessel1 Vessel2 = true] Ip
    HoldsFor [lowSpeed Vessel1 = true] Il1
    HoldsFor [stopped Vessel1 = true] Is1
    HoldsFor [lowSpeed Vessel2 = true] Il2
    HoldsFor [stopped Vessel2 = true] Is2
    Union_All [Il1 Is1] I1
    Union_All [Il2 Is2] I1
    Intersect_All [I1 I2 Ip] I
    IntDurGreaterOrEqual I 600
