[SMTChecker] Use SymbolicFunctionVariable for uninterpreted functions

This commit is contained in:
Leonardo Alt
2018-12-11 11:28:25 +01:00
parent baaefb4b42
commit 08737e43dc
11 changed files with 172 additions and 106 deletions
@@ -12,3 +12,4 @@ contract C
}
// ----
// Warning: (153-156): Assertion checker does not yet implement tuples and inline arrays.
@@ -12,4 +12,5 @@ contract C
}
// ----
// Warning: (153-156): Assertion checker does not yet implement tuples and inline arrays.
// Warning: (163-176): Assertion violation happens here
@@ -8,7 +8,6 @@ contract C
}
// ----
// Warning: (86-101): Assertion checker does not yet support this expression.
// Warning: (86-94): Assertion checker does not yet support this special variable.
// Warning: (86-94): Assertion checker does not yet implement this type.
// Warning: (86-94): Assertion checker does not yet support this global variable.
// Warning: (86-101): Internal error: Expression undefined for SMT solver.
// Warning: (79-106): Assertion violation happens here
@@ -0,0 +1,16 @@
pragma experimental SMTChecker;
contract C
{
function f(bytes memory b) public pure returns (bytes memory) {
bytes memory c = b;
return b;
}
}
// ----
// Warning: (113-127): Unused local variable.
// Warning: (113-127): Assertion checker does not yet support the type of this variable.
// Warning: (58-72): Assertion checker does not yet support the type of this variable.
// Warning: (95-107): Assertion checker does not yet support the type of this variable.
// Warning: (130-131): Internal error: Expression undefined for SMT solver.
// Warning: (130-131): Assertion checker does not yet implement this type.
@@ -1,11 +1,11 @@
{
"auxiliaryInput":
{
"smtlib2responses":
{
"0x0426cd198d1e7123a28ffac2b759a666b86508ad046babf5166500dd6d8ed308": "unsat\n(error \"line 31 column 26: model is not available\")",
"0xa51ca41ae407f5a727f27101cbc079834743cc8955f9f585582034ca634953f6": "sat\n((|EVALEXPR_0| 1))",
"0xe9477f683ff20aa57fcb08682150f86c5917e1d4c0686b278ab9b73446d0682c": "sat\n((|EVALEXPR_0| 0))"
}
}
"auxiliaryInput":
{
"smtlib2responses":
{
"0x47826ec8b83cfec30171b34f944aed6c33ecd12f02b9ad522ca45317c9bd5f45": "sat\n((|EVALEXPR_0| 1))",
"0x734c058efe9d6ec224de3cf2bdfa6c936a1c9c159c040c128d631145b2fed195": "unsat\n",
"0xa0c072acdbe5181dd56cbad8960cb5bb0b9e97fd598cfd895467bd73bbcca028": "sat\n((|EVALEXPR_0| 0))"
}
}
}
@@ -1,9 +1,9 @@
{
"auxiliaryInput":
{
"smtlib2responses":
{
"0xe9477f683ff20aa57fcb08682150f86c5917e1d4c0686b278ab9b73446d0682c": "sat\n((|EVALEXPR_0| 0))"
}
}
"auxiliaryInput":
{
"smtlib2responses":
{
"0xa0c072acdbe5181dd56cbad8960cb5bb0b9e97fd598cfd895467bd73bbcca028": "sat\n((|EVALEXPR_0| 0))\n"
}
}
}