0
$\begingroup$

I read that, while ⟨a⟩B implies that the program "a" will eventually come to an end, [a]B does not imply the same thing. Would anyone care to explain why?

1 Answers 1

1

See the Stanford Encyclopedia:

[$\dots$] If $\alpha$ is a program and $A$ is a formula then $[\alpha]A$ (“every execution of $\alpha$ from the present state leads to a state where $A$ is true”) is a formula.

[$\dots$] In addition, we abbreviate $\neg [\alpha]\neg A$ to $\langle \alpha \rangle A$ (“some execution of $\alpha$ from the present state leads to a state where $A$ is true”) as in modal logic.

With this in mind, $\langle a \rangle B$ means that there does exist an execution of $a$, and that execution will lead to $B$ being true. However, $[a]B$ simply means that if there is an execution of $a$, then $B$ will be true, but we do not know whether such an execution exists or not.

  • 0
    Thanks a lot! That was very helpful explanation!2017-01-07
  • 0
    @MattB in that case, an upvote and/or an accept would be appreciated.2017-01-08
  • 0
    Can't yet, mate. I still have less than 15 reps.2017-01-08