  This work proposes a symbolic algorithm for the construction of
assume-guarantee specifications that allow multiple agents to cooperate. Each
agent is assigned goals expressed in a fragment of linear temporal logic known
as generalized reactivity of rank 1 (GR(1)). These goals may be unrealizable,
unless additional assumptions are made by each agent about the behavior of the
other agents. The proposed algorithm constructs weakly fair assumptions for
each agent, to ensure that they can cooperate successfully. A necessary
requirement is that the given goals be cooperatively satisfiable. We prove that
there exist games for which the GR(1) fragment with liveness properties over
states is not sufficient to ensure realizability from any state in the
cooperatively winning set. The obstruction is due to circular dependencies of
liveness goals. To prevent circularity, we introduce nested games as a
formalism to express specifications with conditional assumptions. The algorithm
is symbolic, with fixpoint structure similar to the GR(1) synthesis algorithm,
implying time complexity polynomial in the number of states, and linear in the
number of recurrence goals.
