z3 - Z3_test_1.exe[2448] unhandled exception in Microsoft .net framework -
i wrote following program in visual studio 2010(version: 10.0.30319.1 rtmrel) c# language , version of .net framework 4.0.30319 rtmrel. there no errors or warnings when compiling, throw exception when running program. exception "z3_test_1.exe[2448] unhandled exception happened in microsoft .net framework", z3_test_1.exe program file name. z3 prover used in version z3 4.0 , in program used microsoft.z3.dll rather microsoft.z3v3.dll.
using system; using system.collections.generic; using system.linq; using system.text; using microsoft.z3; //using microsoft.z3v3; namespace z3_test_1 { class program { static void main(string[] args) { using (context ctx = new context()) { realexpr c = ctx.mkrealconst("c"); boolexpr eqzero = ctx.mkgt(c,ctx.mkreal(0)); boolexpr gezero = ctx.mkge(c,ctx.mkreal(0)); boolexpr lttwo = ctx.mklt(c,ctx.mkreal(2)); boolexpr gtthree = ctx.mkgt(c,ctx.mkreal(3)); boolexpr b1 = ctx.mkboolconst("b1"); boolexpr b2 = ctx.mkboolconst("b2"); boolexpr b3 = ctx.mkboolconst("b3"); boolexpr b0 = ctx.mkboolconst("b0"); realexpr[] lamb=new realexpr[1]; lamb[0]=ctx.mkrealconst("lamb"); boolexpr temp=ctx.mkand(ctx.mkgt(lamb[0],ctx.mkreal(0)),ctx.mkeq(b0,ctx.mktrue()),ctx.mkeq(b1,ctx.mktrue()),ctx.mkge(ctx.mkadd(c,lamb[0]),ctx.mkreal(0)),ctx.mkle(ctx.mkadd(c,lamb[0]),ctx.mkreal(3)),ctx.mkge(c,ctx.mkreal(0)),ctx.mkle(c,ctx.mkreal(3))); boolexpr exist = ctx.mkexists(lamb, temp, 1, null, null, ctx.mksymbol("q2"),ctx.mksymbol("skid2")); console.writeline(exist.tostring()); solver s1 = ctx.mksolver(); s1.assert(exist); if (s1.check() == status.satisfiable){ console.writeline("get pre"); console.write(s1); } else { console.writeline("not reach"); } console.readkey(); } } } }
i tried reproduce errors. test works fine me. suspect same compilation problem leo points out because worked me. subtle problem if reference x86 assembly x64 environment, or other round, runtime errors start happening. fool-proof way add /platform indication arguments pass compiler (csc.exe).
Comments
Post a Comment