예제 #1
0
        private void PushConjecture(VCExpr conjecture)
        {
            context.CreateBacktrackPoint();
            LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List <VCExprVar>());

            context.AddConjecture(conjecture, linOptions);
        }
예제 #2
0
        public void PushAxiom(VCExpr axiom)
        {
            context.CreateBacktrackPoint();
            LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List <VCExprVar>());

            context.AddAxiom(axiom, linOptions);
        }
예제 #3
0
 public override void Assert(VCExpr vc, bool polarity)
 {
     LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
     if (polarity)
         context.AddAxiom(vc, linOptions);
     else
         context.AddConjecture(vc, linOptions);
 }
예제 #4
0
 public override void BeginCheck(string descriptiveName, VCExpr vc, ErrorHandler handler)
 {
     LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
     Push();
     context.AddAxiom(context.Axioms, linOptions);
     context.AddConjecture(vc, linOptions);
     outcome = context.Check(out z3LabelModels);
     Pop();
 }
예제 #5
0
        public override void BeginCheck(string descriptiveName, VCExpr vc, ErrorHandler handler)
        {
            LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List <VCExprVar>());

            Push();
            context.AddAxiom(context.Axioms, linOptions);
            context.AddConjecture(vc, linOptions);
            outcome = context.Check(out z3LabelModels);
            Pop();
        }
예제 #6
0
        public override void Assert(VCExpr vc, bool polarity)
        {
            LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List <VCExprVar>());

            if (polarity)
            {
                context.AddAxiom(vc, linOptions);
            }
            else
            {
                context.AddConjecture(vc, linOptions);
            }
        }
예제 #7
0
        public override void AssertAxioms()
        {
            LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List <VCExprVar>());

            context.AddAxiom(context.Axioms, linOptions);
        }
예제 #8
0
        public override ProverInterface.Outcome CheckAssumptions(List <VCExpr> assumptions, out List <int> unsatCore, ErrorHandler handler)
        {
            LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List <VCExprVar>());

            return(context.CheckAssumptions(assumptions, linOptions, out z3LabelModels, out unsatCore));
        }
예제 #9
0
 public override void AssertAxioms()
 {
     LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
     context.AddAxiom(context.Axioms, linOptions);
 }
예제 #10
0
 public override ProverInterface.Outcome CheckAssumptions(List<VCExpr> assumptions, out List<int> unsatCore, ErrorHandler handler)
 {
     LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
     return context.CheckAssumptions(assumptions, linOptions, out z3LabelModels, out unsatCore);
 }
예제 #11
0
 private void PushConjecture(VCExpr conjecture)
 {
     context.CreateBacktrackPoint();
     LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
     context.AddConjecture(conjecture, linOptions);
 }
예제 #12
0
 public void PushAxiom(VCExpr axiom)
 {
     context.CreateBacktrackPoint();
     LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
     context.AddAxiom(axiom, linOptions);
 }