I am currently trying to study the ground state of the Toric Code. I am currently reading this paper. The Hamiltonian is given by the following, where $A_s$'s are the star operators made out a tensor product of Pauli X matrices and $B_p$'s are the plaquette operators made out of a tensor product of the Pauli Z matrices:
$$ H = -\sum_s A_s-\sum_pB_p $$
I can clearly see that all these operators $A,B$'s commute with one another and therefore each star (and plaquette) operator commutes with the Hamiltonian. Hence the star (plaquette) operators and the Hamiltonian are simultaneously diagonalizable.
The paper mentions that one of the ground states is given by the following:
$$ \propto \prod_s (1 + A_s)|0\rangle $$
where $|0\rangle$ is a tensor product of k single-qubit states $|0\rangle$, where the dimensions of the square lattice is $k \times k$.
Question 1: Why is this a ground state?
I applied the Hamiltonian to this state. For instance, consider hitting the ground state with the operator $A_{s'}$, where $s'$ is a particular site. Since all the star operators commute, I see that
$$A_{s'}\prod_s (1 + A_s) |0\rangle = \bigg[ \prod_s (1 + A_s)\bigg]A_{s'}|0\rangle$$.
I see that $A_{s'}|0\rangle$ creates a state where the qubits on the links adjacent to site $s'$ are flipped from $0$ to $1$. Thus when I apply $\sum_s A_s$ to the claimed ground state, the resulting state is a sum of states of the form $ \prod_s(1 + A_s)| \text{mixture of 0s and 1s}\rangle$
I also see that applying $\sum_p B_p$ to the claimed ground state gives me a sum of states, where each state/term is the the claimed ground state.
When I combine these together, I do not see the why the result is the ground state. Can anyone show me (eg. a proof) why the above ground state formula is the ground state of the toric code?
Question 2: How can I generate the other ground states of the Toric Code with the above formula for the ground state?