Smart contract and formal verification

A smart contract is placed on the blockchain by the parties to it. It is then executed by the blockchain itself. These can be difficult to program and flaws cannot be undone once launched on the blockchain. An automatic verification tool for smart contracts is clearly necessary to minimise the risk of errors and to provide a developer friendly interface.