§ CTL but not LTL

CTL can say "reset is always possible". That is, ∀□(E◇ reset). This says that for all paths from a given state, it is always the case that there exists a path to a state where reset holds.

However, LTL cannot express this, since LTL can only reason about the current trace. The way to show this is to create two machines T and F ( T where the reset predicate is true, F where the reset predicate is false), but whose set of traces is the same.

§ LTL but not CTL

This is more counterintuitive: How can it be that something that can talk about branching cannot capture something that LTL can? Consider the LTL formula ◇□p. This says that p eventually stabilizes. This is clearly an LTL formula.

Let's to write it in CTL. Intuitively, we want to say that there exists a path, along with p always happens. So we may try ∃◇?m where ?m is something we ned to fill. Clearly, this starts with the right shape, wher we're saying that 'for some state along some path...'. Then, we can say ∃□p, which is