Ejemplo n.º 1
0
        protected DeclFreeProverContext(DeclFreeProverContext ctxt)
        {
            Contract.Requires(ctxt != null);
            this.gen        = ctxt.gen;
            this.genOptions = ctxt.genOptions;
            Boogie2VCExprTranslator t = (Boogie2VCExprTranslator)ctxt.translator.Clone();

            Contract.Assert(t != null);
            this.translator           = t;
            this.orderingAxiomBuilder = new OrderingAxiomBuilder(ctxt.gen, t, ctxt.orderingAxiomBuilder);

            StringBuilder cmds = new StringBuilder();

            distincts      = new List <Variable>(ctxt.distincts);
            axiomConjuncts = new List <VCExpr>(ctxt.axiomConjuncts);

            if (ctxt.exprTranslator == null)
            {
                exprTranslator = null;
            }
            else
            {
                exprTranslator = (VCExprTranslator)cce.NonNull(ctxt.exprTranslator.Clone());
            }
        }
Ejemplo n.º 2
0
        public override object NewProverContext(ProverOptions options)
        {
            //Contract.Requires(options != null);
              Contract.Ensures(Contract.Result<object>() != null);

              VCExpressionGenerator gen = new VCExpressionGenerator();
              List<string>/*!>!*/ proverCommands = new List<string/*!*/>();
              proverCommands.Add("smtlib");
              var opts = (SMTLibProverOptions)options ;
              if (opts.Solver == SolverKind.Z3)
            proverCommands.Add("z3");
              else
            proverCommands.Add("external");
              VCGenerationOptions genOptions = new VCGenerationOptions(proverCommands);
              return new SMTLibProverContext(gen, genOptions);
        }
Ejemplo n.º 3
0
        public DeclFreeProverContext(VCExpressionGenerator gen,
            VCGenerationOptions genOptions)
        {
            Contract.Requires(gen != null);
              Contract.Requires(genOptions != null);
              this.gen = gen;
              this.genOptions = genOptions;
              Boogie2VCExprTranslator t = new Boogie2VCExprTranslator (gen, genOptions);
              this.translator = t;

              SetupOrderingAxiomBuilder(gen, t);

              distincts = new List<Variable>();
              axiomConjuncts = new List<VCExpr>();

              exprTranslator = null;
        }
Ejemplo n.º 4
0
        public DeclFreeProverContext(VCExpressionGenerator gen,
                                     VCGenerationOptions genOptions)
        {
            Contract.Requires(gen != null);
            Contract.Requires(genOptions != null);
            this.gen        = gen;
            this.genOptions = genOptions;
            Boogie2VCExprTranslator t = new Boogie2VCExprTranslator(gen, genOptions);

            this.translator = t;

            SetupOrderingAxiomBuilder(gen, t);

            distincts      = new List <Variable>();
            axiomConjuncts = new List <VCExpr>();

            exprTranslator = null;
        }
Ejemplo n.º 5
0
        protected DeclFreeProverContext(DeclFreeProverContext ctxt)
        {
            Contract.Requires(ctxt != null);
              this.gen = ctxt.gen;
              this.genOptions = ctxt.genOptions;
              Boogie2VCExprTranslator t = (Boogie2VCExprTranslator)ctxt.translator.Clone();
              Contract.Assert(t != null);
              this.translator = t;
              this.orderingAxiomBuilder = new OrderingAxiomBuilder(ctxt.gen, t, ctxt.orderingAxiomBuilder);

              StringBuilder cmds = new StringBuilder ();

              distincts = new List<Variable>(ctxt.distincts);
              axiomConjuncts = new List<VCExpr>(ctxt.axiomConjuncts);

              if (ctxt.exprTranslator == null)
            exprTranslator = null;
              else
            exprTranslator = (VCExprTranslator)cce.NonNull(ctxt.exprTranslator.Clone());
        }
Ejemplo n.º 6
0
        public override object NewProverContext(ProverOptions options)
        {
            //Contract.Requires(options != null);
            Contract.Ensures(Contract.Result <object>() != null);

            if (CommandLineOptions.Clo.BracketIdsInVC < 0)
            {
                CommandLineOptions.Clo.BracketIdsInVC = 0;
            }

            VCExpressionGenerator gen            = new VCExpressionGenerator();
            List <string> /*!>!*/ proverCommands = new List <string /*!*/>();

            proverCommands.Add("tptp");
            proverCommands.Add("external");
            VCGenerationOptions genOptions = new VCGenerationOptions(proverCommands);

            Contract.Assert(genOptions != null);

            return(new DeclFreeProverContext(gen, genOptions));
        }
Ejemplo n.º 7
0
 public SMTLibProverContext(VCExpressionGenerator gen,
                            VCGenerationOptions genOptions)
   : base(gen, genOptions)
 {
 }
Ejemplo n.º 8
0
    public override object NewProverContext(ProverOptions options)
    {
      //Contract.Requires(options != null);
      Contract.Ensures(Contract.Result<object>() != null);

      if (CommandLineOptions.Clo.BracketIdsInVC < 0) {
        CommandLineOptions.Clo.BracketIdsInVC = 0;
      }

      VCExpressionGenerator gen = new VCExpressionGenerator();
      List<string>/*!>!*/ proverCommands = new List<string/*!*/>();
      proverCommands.Add("tptp");
      proverCommands.Add("external");
      VCGenerationOptions genOptions = new VCGenerationOptions(proverCommands);
      Contract.Assert(genOptions != null);

      return new DeclFreeProverContext(gen, genOptions);
    }