I am building my Bitcoin expertise, and want to verify my understanding on a specific point: at what point(s) do all full nodes verifies a new transaction?
Here is my understanding in a nutshell, please confirm or correct:
 Upon receiving each new transaction, every full node fully verifies it before adding the transaction to the its own mempool
 Upon receiving each new block, every full node fully verifies each transaction in the block before accepting the block
If the above understanding is correct, then every full node verifies each new transaction TWO TIMES: once when the shiny-new transaction is unconfirmed, and again a few minutes later when the transaction is included in a block.
I recognize the above is somewhat of an abstraction ... is it an ACCURATE abstraction?
Thanks in advance.