Documentation

EvmEquivalence.Summaries.StopSummary

theorem StopSummary.EvmYul.step_stop_summary_simple (symState : EvmYul.EVM.State) :
EvmYul.step EvmYul.Operation.STOP symState = Except.ok { toState := symState.toState, gasAvailable := symState.gasAvailable, activeWords := symState.activeWords, memory := symState.memory, returnData := ByteArray.empty, H_return := symState.H_return, pc := symState.pc, stack := symState.stack, execLength := symState.execLength }
theorem StopSummary.EvmYul.step_stop_summary (symStack : EvmYul.Stack EvmYul.UInt256) (symPc symGasAvailable : EvmYul.UInt256) (symExecLength : ) (symState : EvmYul.EVM.State) :
EvmYul.step EvmYul.Operation.STOP { toState := symState.toState, gasAvailable := symGasAvailable, activeWords := symState.activeWords, memory := symState.memory, returnData := symState.returnData, H_return := symState.H_return, pc := symPc, stack := symStack, execLength := symExecLength } = Except.ok { toState := symState.toState, gasAvailable := symGasAvailable, activeWords := symState.activeWords, memory := symState.memory, returnData := ByteArray.empty, H_return := symState.H_return, pc := symPc, stack := symStack, execLength := symExecLength }
theorem StopSummary.EVM.step_stop_summary_simple (gas gasCost : ) (gpos : 0 < gas) (symState : EvmYul.EVM.State) :
EvmYul.EVM.step gas gasCost (some (EvmYul.Operation.STOP, none)) symState = Except.ok { toState := symState.toState, gasAvailable := symState.gasAvailable - EvmYul.UInt256.ofNat gasCost, activeWords := symState.activeWords, memory := symState.memory, returnData := ByteArray.empty, H_return := symState.H_return, pc := symState.pc, stack := symState.stack, execLength := symState.execLength + 1 }
theorem StopSummary.EVM.step_stop_summary (gas gasCost : ) (symStack : EvmYul.Stack EvmYul.UInt256) (symPc symGasAvailable : EvmYul.UInt256) (symExecLength : ) (gpos : 0 < gas) (symState : EvmYul.EVM.State) :
EvmYul.EVM.step gas gasCost (some (EvmYul.Operation.STOP, none)) { toState := symState.toState, gasAvailable := symGasAvailable, activeWords := symState.activeWords, memory := symState.memory, returnData := symState.returnData, H_return := symState.H_return, pc := symPc, stack := symStack, execLength := symExecLength } = Except.ok { toState := symState.toState, gasAvailable := symGasAvailable - EvmYul.UInt256.ofNat gasCost, activeWords := symState.activeWords, memory := symState.memory, returnData := ByteArray.empty, H_return := symState.H_return, pc := symPc, stack := symStack, execLength := symExecLength + 1 }