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()); } }
private void SetupOrderingAxiomBuilder(VCExpressionGenerator gen, Boogie2VCExprTranslator t) { OrderingAxiomBuilder oab = new OrderingAxiomBuilder(gen, t); Contract.Assert(oab != null); oab.Setup(); this.orderingAxiomBuilder = oab; }
public OrderingAxiomBuilder(VCExpressionGenerator gen, Boogie2VCExprTranslator translator, OrderingAxiomBuilder builder) { Contract.Requires(gen != null); Contract.Requires(translator != null); Contract.Requires(builder != null); this.Gen = gen; this.Translator = translator; OneStepFuns = new Dictionary<Type, Function>(builder.OneStepFuns); Constants = new List<Constant>(builder.Constants); CompleteConstantsOpen = new List<Constant>(builder.CompleteConstantsOpen); AllAxioms = new List<VCExpr>(builder.AllAxioms); IncAxioms = new List<VCExpr>(builder.IncAxioms); }
public OrderingAxiomBuilder(VCExpressionGenerator gen, Boogie2VCExprTranslator translator, OrderingAxiomBuilder builder) { Contract.Requires(gen != null); Contract.Requires(translator != null); Contract.Requires(builder != null); this.Gen = gen; this.Translator = translator; OneStepFuns = new Dictionary <Type, Function>(builder.OneStepFuns); Constants = new List <Constant>(builder.Constants); CompleteConstantsOpen = new List <Constant>(builder.CompleteConstantsOpen); AllAxioms = new List <VCExpr>(builder.AllAxioms); IncAxioms = new List <VCExpr>(builder.IncAxioms); }
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()); }
private void SetupOrderingAxiomBuilder(VCExpressionGenerator gen, Boogie2VCExprTranslator t) { OrderingAxiomBuilder oab = new OrderingAxiomBuilder(gen, t); Contract.Assert(oab != null); oab.Setup(); this.orderingAxiomBuilder = oab; }