The stateroot transition is verified by witness (pre- and post- state root) and proof, but validators also should verify the transaction data which is proposed by operators. How can verify the transaction is included in the stateroot transition? Or, should the transaction data be verified in another way?
AFAIK, there was certainly how to verify the stateroot transition, but no explanation for verifying transaction data. https://medium.com/fcats-blockchain-incubator/how-zk-rollups-work-8ac4d7155b0e
The proof is just verifiable for the existence of a sequence of valid transactions. So, we can't verify the transaction data by proof.
https://ethereum.org/en/developers/docs/scaling/zk-rollups/
If the proof satisfies the circuit (i.e., it is valid), it means that there exists a sequence of valid transactions that transition the rollup from the previous state (cryptographically fingerprinted by the pre-state root) to a new state (cryptographically fingerprinted by the post-state root).