4 Decision Procedure for Fusion Logic

4.1 Reduction Step
4.2 BDD Step

Decision Procedure [Slide 20]

The decision procedure is discussed in details in [5].

4.1 Reduction Step

Reduction Step [Slide 21]

Transform a fusion logic formula FL into an equivalent reduced form init I

1.

Transform FL into finit T where

2.

Transform finit T into init I

where

Reduction Step [Slide 22]

Let X,X1 and X2 denote non state formulae and w a state formula then the definition of future Transition formula k(FL) is as follows:

For k ∈{0,1}

FL
k(FL)
W
true
test(W)X
k(X)
step(FT)X
k = 0 : (rstep(FT)X (FT ℛ′0(X))) ∧ℛ0(X)
k = 1 : 0(X)
FE1 FE2X
k(FE1X ∨⟨FE2X)
FE1 ; FE2X
k(FE1⟩⟨FE2X)
FEX
(rFEX ≡ℛ′1(X1)) ∧ℛ1(X1)
where X1 is X ∨⟨c(FE)rFEX
X1 U X2
(rX1UX2 (ℛ′1(X2) (ℛ′1(X1) rX1UX2))
X
k(step(true)X)

So only the step(FT), FE and X1 U X2 case will introduce a dependent variable.

Reduction Step [Slide 23]

Let X,X1 and X2 denote non state formulae and w a state formula then the definition of past Transition formula k(FL) is as follows:

For k ∈{0,1}

FL
k(FL)
¬X
k(X)
X1 X2
k(X1) ∧ℛk(X2)
Xtest(W)
k(X)
Xpstep(PT)
k = 0 : (rXpstep(PT)(PT ℛ′0(X))) ∧ℛ0(X)
k = 1 : 0(X)
XPE1 PE2
k(XPE1⟩∨XPE2)
PE1 PE2X
k(XPE1⟩⟨PE2)
XPE
(rXPE≡ℛ′1(X1)) ∧ℛ1(X1)
where X1 is X rXPEpc(PE)
X1 S X2
(rX1SX2 (ℛ′1(X2) (ℛ′1(X1) rX1SX2))
X
k(Xpstep(true))

So only the pstep(PT), FE and X1 S X2 case will introduce a dependent variable.

Reduction Step [Slide 24]

Let X,X1 and X2 denote non state formulae and w a state formula then the definition of state formula ℛ′k(FL) is as follows:

For k ∈{0,1}

FL
ℛ′k(FL)
W
W
test(W)X
W ∧ℛ′k(X)
step(FT)X
k = 0 : rstep(FT)X
k = 1 : FT ℛ′0(X)
FE1 FE2X
ℛ′k(FE1X ∨⟨FE2X)
FE1 ; FE2X
ℛ′k(FE1⟩⟨FE2X)
FEX
rFEX
¬X
¬ℛ′k(X)
X1 X2
ℛ′k(X1) ∨ℛ′k(X2)
X1 U X2
rX1UX2
X1
ℛ′k(step(true)X)

Reduction Step [Slide 25]

Let X,X1 and X2 denote non state formulae and w a state formula then the definition of state formula ℛ′k(FL) is as follows:

For k ∈{0,1}

FL
ℛ′k(FL)
Xtest(W)
W ∧ℛ′k(X)
Xpstep(PT)
k = 0 : rXpstep(PT)
k = 1 : PT ℛ′0(X)
XPE1 PE2
ℛ′k(XPE1⟩∨XPE2)
XPE1 PE2
ℛ′ k(XPE1⟩⟨PE2)
XPE
rXPE
X1 S X2
rX1SX2
X1
ℛ′k(Xpstep(true))

Reduction Step [Slide 26]

Reduction function for FEX is a bit more involved because FE could be valid for intervals with only one state. Solution: a function c is introduced which transforms an arbitrary future fusion expression FE into another formula c(FE) such that c(FE) FE morere holds. Note: FEX ≡⟨c(FE)X holds.

FE
c(FE)
test(W)
test(¬true)
step(FT)
step(FT)
FE1 FE2
c(FE 1) c(FE2)
FE1 ; FE2
c(FE1) ; FE2 FE1 ; c(FE2)
FE
c(FE) ; FE

Reduction Step [Slide 27]

Reduction function for XPE is a bit more involved because PE could be valid for intervals with only one state. Solution: a function pc is introduced which transforms an arbitrary past fusion expression PE into another formula pc(PE) such that pc(PE) PE morele holds. Note: XPEX Xpc(PE) holds.

PE
pc(PE)
test(W)
test(¬true)
pstep(PT)
pstep(PT)
PE1 PE2
pc(FE1) pc(PE2)
PE1 PE2
pc(PE1) PE2 PE1 pc(PE2)
PE
PEpc(PE)

Reduction Step [Slide 28]

Transform finit T into init I

Reduction Step [Slide 29]

Example [Slide 30]

Given a future fusion logic formula

step(A)(B C) ∨⟨step(A) ; test(B)D

The Reduction Step yields:

init rX1 rX3 where X1 step(A)(B C) and X3 step(A)⟩⟨test(B)D.

The corresponding invariant I is

I (rX1 (B C) (A rX1)) (rX3 A (B D))

Example [Slide 31]

Given a past fusion logic formula

(B C) (Dpstep(A) test(B))

The Reduction Step yields:

finit rX1 (B rX2) where X1 (B C) and X2 Dpstep(A) test(B).

The corresponding invariant PI is

PI (rX1 (B C)) (rX2 A D)

This is transformed into

init (rX1 false) (rX2 A false) rZ

I (rZ (finit rZ)) (morer ((( rX1) (B C)) (( rX2) ( A) D)))

4.2 BDD Step

BDD Step [Slide 32]

Transform init I into BDD based satisfiability problem.

init: a state formula
I: an invariant, i=1k(FTi) (for k 1) where
where FTi contains dependent variable rXi and
FTi is a future transition formula

Let us examine the ‘Always’ operator

init I
I
I
I
— —
I
— —
— —
I
— —
— —
— —
init

BDD Step [Slide 33]

We know that invariant I only contains (next) as temporal operator. So it can only constrain the first two states of each suffix interval.

init I
I
I
I
I
I
init

BDD Step [Slide 34]

Introducing BDDs Γi’s:

init I
Γ3
Γ2
Γ2
Γ 2
Γ2
Γ1

Example [Slide 35]

Given right fusion logic formula

step(A)(B C) ∨⟨step(A) ; test(B)D

With Init = rX1 rX3 and corresponding invariant:

I = (rX1 (B C) (A rX1)) (rX3 A (B D))

Then Γ1 = rX1 rX3 and

Γ2 = (rX1 (B C) (A rX1)) (rX3 A (B′∧ D))

and

Γ3 = (rX1 (B C) (A false)) (rX3 A false)

BDD Step [Slide 36]

Encoding as a BDD-based satisfiability problem:

BDD Step [Slide 37]

To construct a satisfying interval (in case FL is satisfiable) we proceed as follows.

Let Δm be that set of states for which Γ3 Δm is true.

Implementation [Slide 38]

Implementation of decision procedure

References [Slide 39]

2025-12-19
Contact | Home | ITL home | Course | Proofs | Algebra | FL
© 1996-2025