  Two-player games are a fruitful way to represent and reason about several
important synthesis tasks. These tasks include controller synthesis (where one
asks for a controller for a given plant such that the controlled plant
satisfies a given temporal specification), program repair (setting values of
variables to avoid exceptions), and synchronization synthesis (adding
lock/unlock statements in multi-threaded programs to satisfy safety
assertions). In all these applications, a solution directly corresponds to a
winning strategy for one of the players in the induced game. In turn,
\emph{logically-specified} games offer a powerful way to model these tasks for
large or infinite-state systems. Much of the techniques proposed for solving
such games typically rely on abstraction-refinement or template-based
solutions. In this paper, we show how to apply classical fixpoint algorithms,
that have hitherto been used in explicit, finite-state, settings, to a symbolic
logical setting. We implement our techniques in a tool called GenSys-LTL and
show that they are not only effective in synthesizing valid controllers for a
variety of challenging benchmarks from the literature, but often compute
maximal winning regions and maximally-permissive controllers. We achieve
\textbf{46.38X speed-up} over the state of the art and also scale well for
non-trivial LTL specifications.
