LaggedLink

From OpenCog

The LaggedLink is a predicate transformer that takes a temporal predicate and shifts it in the past, or possibly in the future if the lag is negative. It is used to define the PLN semantics of SequentialAndLink and such.

Format

LaggedLink
  P
  T

where P is a temporal predicate and T is a time difference (maybe represented by a TimeNode, although we may want to introduce a TimeDifferenceNode).

Semantics

Assuming for now a temporal predicate with two arguments

P(x, t)

where x is atemporal, and t represents time, then

LaggedLink
  P
  T

is equivalent to

LambdaLink
  x, t
  P(x, t-T)

Example

Let us define the temporal predicate

tall(p, t)

representing if person p is tall, perhaps to some degree, at time t.

Then

(Lagged tall 1y)(John, Now)

represents the tallness of John a year ago. While

(Lagged tall -1y)(Mary, Now)

represents the tallness of Mary a year from now. And

(Lagged tall 1d)(Eva, Tomorrow)

represents the tallness of Eva now.