Algorithm 2. The procedure calculateDeltas(S)
1: ΔSkel := ∅
2: for each (P ∈P) do
3:
for each (CP
l , CP
r ∈CompP
S ) do
4:
if (CP
l ̸= CP
r ∧areUnifiable(CP
l , CP
r )) then
5:
(Ps′, ≜) := createSkeletonPattern(isoS, CP
l , CP
r )
6:
if (∃(Δs∗, Ps∗, RNs∗) ∈ΔSkel, ∃≜∗: ≜∗(Ps′) = Ps∗) then
7:
Δs∗:= Δs∗∪
(CP
l , CP
r , ≜◦≜∗)
8:
else
9:
RNs′ := createReteNetwork(RNS, isoS, CP
l , CP
r )
10:
Δs′ :=
(CP
l , CP
r , ≜)
11:
ΔSkel := ΔSkel ∪{ (Δs