CTL* as in https://en.wikipedia.org/wiki/CTL*, is a logic that combines CTL and LTL. I know that CTL* can express everything expressible in these two languages and more. My question is whether we can model the computation tree of each LTS with CTL*
1 Answers
First of all, for every transition system M, there indeed exists a CTL* formula Φ such that M ⊨ Φ holds, namely the CTL* formula "true".
What you may have wanted to express is the question if for every transition system M, there exists a CTL* formula Φ such that exactly the computation tree of M satisfies Φ. This is not the case. There are multiple reasons for this, and I will list two.
For the first, note that CTL* cannot distinguish between bisimulation-equivalent LTS. Hence, when computing a CTL* property characterizing an LTS, there will always be another bisimulation-equivalent-but-not-the-same-LTS that will also do.
Second, note that CTL* is not a counting logic. You cannot express "along all traces, in infinitely many even positions in a trace, p holds" in CTL*. This means that for a LTS having this property, we can't compute a CTL* property capturing this aspect.
- 2,817
- 17
- 13