Offchain contracts and cryptographic proof of correct logic execution

Howdy…
How is moving smart contract logic offchain achieved while producing cryptographic proofs that logic was executed properly? How does this compare to for example Hawk? Or the usage of Trusted Execution Environments such as through iExec or Golem? Thanks.