Question about Application State

I’m reading this part of the Tendermint docs:

To draw an analogy, lets talk about a well-known cryptocurrency, Bitcoin. Bitcoin is a cryptocurrency blockchain where each node maintains a fully audited Unspent Transaction Output (UTXO) database. If one wanted to create a Bitcoin-like system on top of ABCI, Tendermint Core would be responsible for

  • Sharing blocks and transactions between nodes
  • Establishing a canonical/immutable order of transactions (the blockchain)

The application will be responsible for

  • Maintaining the UTXO database
  • Validating cryptographic signatures of transactions
  • Preventing transactions from spending non-existent transactions
  • Allowing clients to query the UTXO database.

What happens (in this example) if the application layer of a node disagrees with the application layer on other nodes about the validity of a signature? In Bitcoin, the chain would immediately split into nodes on each side of the disagreement because they would each create a different block.

I’m assuming Tendermint validates application state somehow, e.g. putting an application state hash into blocks?