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()); } }
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); }
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; }
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; }
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()); }
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)); }
public SMTLibProverContext(VCExpressionGenerator gen, VCGenerationOptions genOptions) : base(gen, genOptions) { }
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); }