I am wondering if the Ethereum Virtual Machine can verify a proof generated from a certain statement? Are there any precompiled contracts for verifying a proof?
ZoKrates is a very good toolbox for zkSNARKs on Ethereum. It helps you use verifiable computation in your DApp, from the specification of your program in a high level language to generating proofs of computation to verifying those proofs in Solidity. In addition to Zokrates, now we have a set of interesting and useful tools for generating ZK-SNARK programs, arithmetic circuits and verification contracts.