Open alanruttenberg opened 1 year ago
Actually another edge case in [nui-1]
p1 i1 p2
|-------------|
|--------|
i2 p3
i2 wasn't being inferred to be part of i1 unless p1 was part of i1. I was confused about the case where p1 was part of i2 and p1 wasn't part of i1 but that shouldn't be a model. If I cared about the endpoints being parts it was wrong anyways, if p1 wasn't part of i2.
Revised:
(forall (i start end)
(if
(and (instance-of i temporal-interval i)
(has-first-instant i start) (has-last-instant i end))
(not
(exists (gap gap-start gap-end)
(and (not (instance-of gap temporal-instant gap))
(has-first-instant gap gap-start) (has-last-instant gap gap-end)
(or (precedes gap-end end) (= gap-end end))
(or (precedes start gap-start) (= gap-start start))
(not (temporal-part-of gap i)))))))
Not sure about nui-1 now. Have to account for the fact that there can be several intervals with the same first and last instant, depending on which of the first and last instant are part of the interval.
Would allow a model
if p1 and p2 (first and last instant) were not part of i1.
Fixed by allowing possibility that t1 is start and t2 is end.