예제 #1
0
        public TypeEraserArguments(TypeAxiomBuilderArguments axBuilder, VCExpressionGenerator gen) : base(axBuilder, gen)
        {
            Contract.Requires(gen != null);
            Contract.Requires(axBuilder != null);

            this.AxBuilderArguments = axBuilder;
        }
예제 #2
0
        internal MapTypeAbstractionBuilderArguments(TypeAxiomBuilderArguments axBuilder, VCExpressionGenerator gen)
            : base(axBuilder, gen)
        {
            Contract.Requires(gen != null);
            Contract.Requires(axBuilder != null);

            this.AxBuilderArguments = axBuilder;
        }
예제 #3
0
    internal TypeAxiomBuilderArguments(TypeAxiomBuilderArguments builder)
      : base(builder) {
      Contract.Requires(builder != null);
      Typed2UntypedFunctions =
        new Dictionary<Function/*!*/, Function/*!*/>(builder.Typed2UntypedFunctions);


      MapTypeAbstracterAttr =
        builder.MapTypeAbstracterAttr == null ?
        null : new MapTypeAbstractionBuilderArguments(this, builder.Gen,
                                                      builder.MapTypeAbstracterAttr);
    }
예제 #4
0
        internal TypeAxiomBuilderArguments(TypeAxiomBuilderArguments builder)
            : base(builder)
        {
            Contract.Requires(builder != null);
            Typed2UntypedFunctions =
                new Dictionary <Function /*!*/, Function /*!*/>(builder.Typed2UntypedFunctions);


            MapTypeAbstracterAttr =
                builder.MapTypeAbstracterAttr == null ?
                null : new MapTypeAbstractionBuilderArguments(this, builder.Gen,
                                                              builder.MapTypeAbstracterAttr);
        }
예제 #5
0
 private void SetupAxiomBuilder(VCExpressionGenerator gen)
 {
   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;
   }
 }
예제 #6
0
 public OpTypeEraserArguments(TypeEraserArguments eraser, TypeAxiomBuilderArguments axBuilder, VCExpressionGenerator gen) :base(eraser, axBuilder, gen){
   Contract.Requires(gen != null);
   Contract.Requires(axBuilder != null);
   Contract.Requires(eraser != null);
   this.AxBuilderArguments = axBuilder;
 }
예제 #7
0
 // constructor for cloning
 internal MapTypeAbstractionBuilderArguments(TypeAxiomBuilderArguments axBuilder, VCExpressionGenerator gen, MapTypeAbstractionBuilderArguments builder)
   : base(axBuilder, gen, builder) {
   Contract.Requires(builder != null);
   Contract.Requires(gen != null);
   Contract.Requires(axBuilder != null);
   this.AxBuilderArguments = axBuilder;
 }
예제 #8
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);

    }