(note TQG36)  ;; boolean version
(time 1200)

;; Temporal reasoning.

(instance TimeInterval36-1 TimeInterval)
(instance TimeInterval36-2 TimeInterval)
(instance TimeInterval36-3 TimeInterval)
(starts TimeInterval36-1 TimeInterval36-3)
(starts TimeInterval36-2 TimeInterval36-3)

;(<=>
;    (starts ?INTERVAL1 ?INTERVAL2)
;    (and
;        (equal
;            (BeginFn ?INTERVAL1)
;            (BeginFn ?INTERVAL2))
;        (before
;            (EndFn ?INTERVAL1)
;            (EndFn ?INTERVAL2))))
            
;(=>
;  (and
;    (instance ?TI TimeInterval)
;    (equal ?S (BeginFn ?TI))
;    (equal ?E (EndFn ?TI)))
;  (before ?S ?E))
  
;(=>
;  (and
;    (instance ?TI1 TimeInterval)
;    (instance ?TI2 TimeInterval)
;    (beforeOrEqual
;      (BeginFn ?TI2)
;      (BeginFn ?TI1))
;    (before
;      (BeginFn ?TI1)
;      (EndFn ?TI2)))
;  (overlapsTemporally ?TI2 ?TI1))
      
(query (overlapsTemporally TimeInterval36-1 TimeInterval36-2))

(answer yes)