예제 #1
0
def pre_counter(contract: Contract, counter: GhostVariable):
    n = contract.fresh_var(i32, "n")
    contract.precondition_f("{n} < 128")
    contract.ghost_value(counter, n)
    return n
예제 #2
0
def pre_counter(contract: Contract, counter: GhostVariable):
    n = contract.fresh_var(i32, "n")
    contract.precondition(n < cryptol("128"))
    contract.ghost_value(counter, n)
    return n
예제 #3
0
def post_counter(contract: Contract, counter: GhostVariable, n: CryptolTerm):
    contract.ghost_value(counter, cry_f("{n} + 1"))
예제 #4
0
def post_counter(contract: Contract, counter: GhostVariable, n: CryptolTerm):
    contract.ghost_value(counter, cryptol("(+)")(n, cryptol("1")))