[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"As long as, eventually"



Hello,

I have a question regarding a temporal formula. Let's assume I have the following Spec:

VARIABLE Objects

Foo_1 ==
  Objects' = Objects \cup {"a"}

Foo_2 ==
  Objects' = Objects \ {"a"}

Bar_1 ==
  /\ "a" \in Objects
  /\ Objects' = Objects \cup {"b"}

Bar_2 ==
  /\ "a" \in Objects
  /\ Objects' = Objects \cup {"b"}

Init ==
  Objects = {}

Next ==
  \/ Foo_1
  \/ Foo_2
  \/ Bar_1
  \/ Bar_2
  \/ UNCHANGED Objects

Spec == /\ Init /\ [][Next]_<< Objects >> /\ WF_<< Objects >>(Bar_1)

- Foo_1 adds "a" to Objects
- Foo_2 removes "a" from Objects
- Bar_1 adds "b" to Objects if "a" is in Objects
- Bar_2 removes "b" from Objects if "a" is not in Objects

For each behavior Objects could be {}, {"a"}, {"a", "b"}, {"b"}

I would like to use a temporal formula to document the behavior:

<>[]("a" \in Objects) => <>[]("b" \in Objects)

In words:

"Given that Bar_1 is weakly fair, If eventually "a" is continuously in Objects then eventually "b" is continuously in Objects"

My Questions:

- Is this temporal formula actually expressing what I put in words
- Does that make sense at all? Or is it more of a tautology (in logic and rhetoric)?

Thanks, Dominik