-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
Paris versionVerification of the Paris version of the EVMVerification of the Paris version of the EVM
Description
We focus on verifying the Paris version of the EVM. We will start with the arithmetic.py
file that describes the primitive arithmetic operations. The relevant files are:
- the Python source file: https://github.com/ethereum/execution-specs/blob/master/src/ethereum/paris/vm/instructions/arithmetic.py
- the translated version in Coq: https://github.com/formal-land/coq-of-python/blob/main/CoqOfPython/ethereum/paris/vm/instructions/arithmetic.v (generated)
- the simulation (written by hand): https://github.com/formal-land/coq-of-python/blob/main/CoqOfPython/ethereum/paris/vm/instructions/simulations/arithmetic.v
- the proof of equivalence between the simulation and the translated code: https://github.com/formal-land/coq-of-python/blob/main/CoqOfPython/ethereum/paris/vm/instructions/proofs/arithmetic.v (not working yet)
The goal of this task is to complete the simulation file to have a definition for rest of the functions:
-
add
-
sub
-
mul
-
div
-
sdiv
-
mod
-
smod
-
addmod
-
mulmod
-
exp
-
signextend
This might require adding some definitions for functions in other files as well, when they are called. For now, only the add
function is defined.
Metadata
Metadata
Assignees
Labels
Paris versionVerification of the Paris version of the EVMVerification of the Paris version of the EVM