Пример #1
0
        protected virtual TPTPProcessTheoremProver SpawnProver(ProverOptions options,
                                                               VCExpressionGenerator gen,
                                                               DeclFreeProverContext ctx)
        {
            Contract.Requires(options != null);
            Contract.Requires(gen != null);
            Contract.Requires(ctx != null);
            Contract.Ensures(Contract.Result <TPTPProcessTheoremProver>() != null);

            return(new TPTPProcessTheoremProver(options, gen, ctx));
        }
Пример #2
0
        public TPTPProcessTheoremProver(ProverOptions options, VCExpressionGenerator gen,
                                        DeclFreeProverContext ctx)
            : base(options, "", "", "", "", gen)
        {
            Contract.Requires(options != null);
            Contract.Requires(gen != null);
            Contract.Requires(ctx != null);

            // No bg predicate at the moment
            // InitializeGlobalInformation("UnivBackPred.tptp");

            this.ctx = ctx;
            this.Gen = gen;

            TypeAxiomBuilder axBuilder;

            switch (CommandLineOptions.Clo.TypeEncodingMethod)
            {
            case CommandLineOptions.TypeEncoding.Arguments:
                axBuilder = new TypeAxiomBuilderArguments(gen);
                axBuilder.Setup();
                break;

            case CommandLineOptions.TypeEncoding.Monomorphic:
                axBuilder = new TypeAxiomBuilderPremisses(gen);
                break;

            default:
                axBuilder = new TypeAxiomBuilderPremisses(gen);
                axBuilder.Setup();
                break;
            }
            AxBuilder = axBuilder;
            UniqueNamer namer = new UniqueNamer();

            Namer              = namer;
            Namer.Spacer       = "__";
            this.DeclCollector = new TypeDeclCollector(namer);
        }
Пример #3
0
 public Z3apiProcessTheoremProver(Z3InstanceOptions opts, DeclFreeProverContext ctxt)
 {
     this.options         = opts;
     this.context         = (Z3apiProverContext)ctxt;
     this.numAxiomsPushed = 0;
 }