1.Introduction
In the previous lecture we have discussed three types of logic namely, propositional, predicate and temporal. It was also elaborated that among these three logic classes, temporal logic is a specification language, which is used to capture the timing modalities like next, future, past, etc. Temporal logic framework can be divided into different classes namely, Linear-time Temporal Logic (LTL), Computational Tree Logic (CTL), CTL* etc. The expressive power of these logic classes are different. In this lecture we will discuss the Computational Tree Logic (CTL), which is branching time logic.
A branching-time temporal logic represents time as a tree, rooted at the present instance of time and branching out into the future. The time is visualized as branching in nature which has many future possibilities but at any instant of time it will take one particular future direction depending on system behavior. Figure 1 shows the “branching” progress of time in different possible “branches” in future.

Branching-time logic allowing us to quantify statements over ALL paths and a SINGLE path from a state ; the concept is shown in Figure 2.
