Automata.Z3.Tests.Z3_Z3ContextTests.TestBitVectorOps C# (CSharp) Method

TestBitVectorOps() private method

private TestBitVectorOps ( ) : void
return void
        public void TestBitVectorOps()
        {
            Context z3 = new Context();
            var bv16 = z3.MkBitVecSort(16);
            var c = (BitVecExpr)z3.MkConst("c",bv16);
            var _3 = (BitVecExpr)z3.MkNumeral(3, bv16);
            var _7 = (BitVecExpr)z3.MkNumeral(7, bv16);
            var _1 = (BitVecExpr)z3.MkNumeral(1, bv16);
            var c_and_7 = z3.MkBVAND(c, _7);
            //((1 + (c & 7)) & 3)
            var t = z3.MkBVAND(z3.MkBVAdd(_1, c_and_7), _3);
            var s = t.Simplify(); //comes out as: (1 + (c & 3))
            var t_neq_s = z3.MkNot(z3.MkEq(t, s));
            var solv =z3.MkSolver();
            solv.Assert(t_neq_s);
            Assert.AreEqual(Status.UNSATISFIABLE, solv.Check());
        }