# PredictiveImplicationLink

A type of Link used to define a predictive implication, for example

PredictiveImplicationLink PredicateNode "JumpOffCliff" PredicateNode "Dead"

# Formats

PredictiveImplicationLink <time-interval> <implicant-predicate> <implicand-predicate>

where <time-interval> is a TimeIntervalLink or a TimeNode.

Like with ImplicationLink it has a scope version with a variable declaration at the top

PredictiveImplicationScopeLink <variable-declaration> <time-interval> <implicant-predicate-body> <implicand-predicate-body>

Additionally, a version could have no time interval (as the one in example) and would be equivalent to using time interval [1, +inf(.

# Semantics

In the case where there is only one *subjective path*, where a subjective path is a sequence of pairs (T, S) where T is a time and S is a *subjective state*, i.e. a snapshot of the mind's atomspace at T, then the equivalences below hold. Otherwise, i.e. if multiple subjective paths must be taken into considerations (either because the mind is considering multiple hypothetical paths, or multiple minds exists at the same time at difference places) then the equivalences below no longer hold and will need to be revised.

## Without sugar syntax

PredictiveImplicationLink T P Q

where T is

TimeIntervalLink TimeNode t1 TimeNode t2

or

TimeNode t

is equivalent

ImplicationScopeLink VariableList TypedVariableLink VariableNode "$t" TypeNode "TimeNode" AtTimeLink VariableNode "$t" P AtTimeLink PlusLink VariableNode "$t" T Q

## With sugar syntax

PredictiveImplicationScopeLink V T P-body Q-body

where T is

TimeIntervalLink TimeNode t1 TimeNode t2

or

TimeNode t

is equivalent

ImplicationScopeLink VariableList V TypedVariableLink VariableNode "$t" TypeNode "TimeNode" AtTimeLink VariableNode "$t" P-body AtTimeLink PlusLink VariableNode "$t" T Q-body