示例#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());
            }
        }
示例#2
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;
        }
示例#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;
        }
示例#4
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());
        }