Skip to content

Instantly share code, notes, and snippets.

{
"node": "KApply",
"label": "<storage>",
"variable": false,
"arity": 1,
"args": [
{
"node": "KApply",
"label": "_Map_",
"variable": false,
requires "../rules.k"
module SAFEADD_ADD_FAIL
imports ETHEREUM-SIMULATION
imports EVM
imports RULES
// SafeAdd_add
rule
<k> #execute ~> CONTINUATION => #halt ~> CONTINUATION </k>
requires "domains.k"
requires "edsl.k"
requires "evm.k"
module RULES
imports EVM
imports EDSL
// VERIFICATION.k
requires "../rules.k"
module TOKEN_TRANSFER_PASS_ROUGH
imports ETHEREUM-SIMULATION
imports EVM
imports RULES
// Token_transfer
rule
<k> #execute ~> CONTINUATION => #halt ~> CONTINUATION </k>
@MrChico
MrChico / z3
Created February 13, 2019 13:39
(set-option :auto-config false)
(set-option :smt.mbqi false)
;(set-option :smt.mbqi.max_iterations 15)
;; pow256 and pow255
(define-fun pow256 () Int
115792089237316195423570985008687907853269984665640564039457584007913129639936)
(define-fun pow255 () Int
57896044618658097711785492504343953926634992332820282019728792003956564819968)
;; weird declaration trick (doesn't seem to be needed currently)
requires "../rules.k"
module UINT_CALLIT_PASS_ROUGH
imports ETHEREUM-SIMULATION
imports EVM
imports RULES
// Uint_callIt
rule
<k> #execute ~> CONTINUATION => #halt ~> CONTINUATION </k>
requires "../rules.k"
module CALLEE_TEMPDELTA_PASS_ROUGH
imports ETHEREUM-SIMULATION
imports EVM
imports RULES
// Callee_tempDelta
rule
<k> #execute ~> CONTINUATION => #halt ~> CONTINUATION </k>
(set-option :auto-config false)
(set-option :smt.mbqi false)
;(set-option :smt.mbqi.max_iterations 15)
;; pow256 and pow255
(define-fun pow256 () Int
115792089237316195423570985008687907853269984665640564039457584007913129639936)
(define-fun pow255 () Int
57896044618658097711785492504343953926634992332820282019728792003956564819968)
;; weird declaration trick (doesn't seem to be needed currently)
ehildenb 5:08 PM
WRT: https://github.com/kframework/k/pull/208#issuecomment-447368596
github.com
add IMAP builtin module by daejunpark · Pull Request #208 · kframework/k
This is an algebraic map theory that allows the symbolic map reasoning in the K level. Currently, it is a monomorphic, and here IMAP is a map from Int to Int. But it is quite sufficient for many lo...
Doesn't the spec still make sense with `K0 == K1` or with `K0 =/= K1`? In either case, the final value of `V1 + V2`, regardless of what everything underneath the outer `store` is.
The extra side condition will prevent normalization, not enable more normalization.
mrchico 5:10 PM
requires "../rules.k"
module TOKEN_TRANSFER_PASS_ROUGH
imports ETHEREUM-SIMULATION
imports EVM
imports RULES
// Token_transfer
rule
<k> #execute ~> CONTINUATION => #halt ~> CONTINUATION </k>