Abstract. We present a method based on logic program transformation, for verifying Computation Tree Logic (CTL∗ ) properties of finite state reactive systems. The finite state systems and the CTL∗ properties we want to verify, are encoded as logic programs on infinite lists. Our verification method consists of two steps. In the first step we transform the logic program that encodes the given system and the given property, into a monadic ω-program, that is, a stratified program defining nullary or unary predicates on infinite lists. This transformation is performed by applying unfold/fold rules that preserve the perfect model of the initial program. In the second step we verify the property of interest by using a proof method for monadic ω-programs.