Tendermint light clients

In the COSMOS whitepaper it is claimed that Tendermint light clients have a lighter burden than Nakamoto light clients, in that they do not need to synch a header chain, but instead

" only to keep up with changes to the validator set, and then verify the >⅔ PreCommits in the latest block to determine the latest state."

But how does a light client determine the most up to date validator set without downloading a block header tree, applying some sort of stake based heaviest chain rule, and inspecting the resulting end state in the given chain?