(P1) D. f = f (i.e., the current, typically partial exe-
cution sequences are the same); and
(P2) f is RTE compliant for S.
Base Case. D. f =
/
0 = f , and
/
0 is trivially RTE-
compliant for S.
Recursive Case. Suppose (P1) and (P2) hold at the
beginning of some iteration. First, note that D. f = f
implies that D.U
x
∪D.U
c
= U. In the case where these
sets are both empty, both algorithms terminate, sig-
naling that D. f = f is a complete assignment. Other-
wise, both sets are non-empty and we must show that
(P1) and (P2) hold at the start of the next iteration.
Note that D.now = max(D. f ) = max( f ) = now.
Next, we show that D.Enabs
x
= Enabs ∩U
x
. This fol-
lows because each negative edge in S is either an ordi-
nary edge or a wait edge, both of which project onto
negative edges in every projection. Since D.Enabs
x
only includes executable TPs, the equality holds.
Case 1: D.Enabs
x
=
/
0. Therefore, Enabs ⊆ U
c
.
Then the RTE
∗
algorithm generates a Wait decision.
Now, Enabs =
/
0 would cause RTE to fail (Algo-
rithm 1, Line 7), contradicting the dispatchability of
any STN projection from this point onward. There-
fore, Enabs 6=
/
0 and, thus, there exists at least one
enabled CTP C which, given the negative edge from
C to its activation TP, implies that its contingent link
is currently active. Therefore, Lines 7 to 13 of the or-
acle (Algorithm 5) would select an observation of the
form (t
c
,τ), where τ 6=
/
0.
Now, by (P2), f is RTE-compliant; hence it can
be generated by any projection that respects the pre-
history π
f
. Next, let f
0
be the execution sequence
obtained by executing the CTPs in τ at time t
c
; and
let π
f
0
be the corresponding pre-history. Among the
projections that respect the pre-history π
f
are those
that also respect π
f
0
. Since the RTE algorithm, when
applied to any of those projections, must execute the
CTPs in τ at time t
c
, it follows that f
0
is RTE com-
pliant for S (i.e., (P2) holds at the start of the next
iteration). And since the HCE algorithm executes the
CTPs in τ at t
c
, it follows that (P1) holds at the start of
the next iteration. Finally, the other updates done by
HCE are equivalent to those done by RTE, as follows.
Removing any C-waits for C ∈ τ corresponds to the
satisfaction of the corresponding projected constraints
since, for example, a C-wait (W,C:−8, A) projects to
the negative edge (W, −5, A) in the projection where
C − A = 5, whose lower bound of A + 5 is automati-
cally satisfied when C executes at A + 5. And RTE
∗
’s
updating of D.Enabs
x
is equivalent to RTE’s updating
of Enabs given that wait edges project onto ordinary
negative edges.
Case 2: D.Enabs
x
6=
/
0. Here, the RTE
∗
genD
algo-
rithm (Algorithm 4) would, at Lines 3 to 12, gener-
ate an execution decision of the form (t,V ). Now, for
any (executable) X ∈ Enabs
x
, its upper bound is com-
puted based solely on propagations from executed
TPs along non-negative edges. Given that D. f = f , it
follows that D.ub(X) = ub(X) for each X ∈ D.Enabs
x
,
regardless of the f -respecting projection that RTE is
applied to. Similar remarks apply to the lower bound
for each X except that D.glb(X) ≥ lb(X). To see this,
note that although propagations along ordinary nega-
tive edges done by RTE
∗
are identical to those done
by RTE, the activated waits in AcWts(X) may impose
stronger constraints. For example, consider an acti-
vated wait edge (X,C
i
:−7,A
i
), which imposes a lower
bound of A
i
+ 7 on X. In a projection where ω
i
= 4 <
7, this edge projects onto the ordinary negative edge
(X,−4, A
i
), which imposes the weaker lower bound
of A
i
+ 4 on X. In contrast, in a projection where
ω
i
= 9 ≥ 7, the wait edge projects onto the ordinary
negative edge (X,−7, A
i
), which imposes the lower
bound of A
i
+ 7 on X. In general, it therefore follows
that [D.glb(X ), D.ub(X)] ⊆ [lb(X),ub(X)]. To ensure
that the RTE
∗
genD
algorithm does not fail at Line 9, we
must show that D.glb(X) ≤ D.ub(X). To see why, let
S
ω
be any projection that respects f , but also spec-
ifies maximum durations for all of the currently ac-
tive contingent links. In S
ω
, all C-waits project onto
negative edges of the same length, which implies that
D.glb(X) = lb(X) ≤ ub(X) = D.ub(X), since the dis-
patchability of all projections ensures that RTE cannot
fail, and hence [D.tl, D.ul]∩[D.now,∞) 6=
/
0. Therefore,
RTE
∗
genD
will generate an RTED of the form (t,V ).
Case 2a: A (ρ,τ) observation, where ρ < t. This
case can be handled similarly to Case 1.
Case 2b: A (t,
/
0) observation.. Here, RTE
∗
ex-
ecutes V at time t. Since t ∈ [D.glb(V ),D.ub(V )] ⊆
[lb(V ), ub(V )] it follows that executing V at t is a vi-
able choice for the RTE algorithm for every projec-
tion that (1) respects f ; and (2) constrains the dura-
tion of each active contingent link (A,x, y,C) to satisfy
C − A ≥ t − f (A). (And such projections exist, since
otherwise the oracle could not have generated the ob-
servation (t,
/
0).) Therefore, (P1) and (P2) will neces-
sarily hold at the start of the next iteration, when RTE
is restricted to such projections. Finally, note that the
updates done by the HXE algorithm are exactly the
same as those done by RTE, except for the updating
of the activated waits in the case where V happens
to be an activation timepoint. However, inserting an
entry (t + w,C
i
) into the set D.AcWts(Y ) in response
to a wait edge (Y,C
i
:−w,V ), merely ensures that the
bound for the corresponding projected edge (Y, −γ,V )
will be respected by RTE
∗
, where γ = min{w, ω
i
} and
ω
i
specifies the duration of the relevant contingent
link.
ICAART 2024 - 16th International Conference on Agents and Artificial Intelligence
262