Exemple #1
0
        /// <summary>
        /// Provide program for the next procedure (for the global declarations).
        /// </summary>
        public static void Program(Program p)
        {
            if (boogieGlobalData == null)
            {
                boogieGlobalData = new BoogieGlobalData(p.Functions, p.Axioms, p.GlobalVariables, p.Constants);

                var methodData            = BoogieMethodData.CreateOnlyGlobal(boogieGlobalData);
                var fixedVarTranslation   = new DeBruijnFixedVarTranslation(methodData);
                var fixedTyVarTranslation = new DeBruijnFixedTVarTranslation(methodData);
                var factory =
                    new DeBruijnVarFactory(fixedVarTranslation, fixedTyVarTranslation, boogieGlobalData);
                var globalDataTheoryName = "global_data";
                var globalDataConfig     = new IsaProgramGeneratorConfig(null, true, true, true, false, SpecsConfig.None, false);
                globalDataProgAccess = new IsaProgramGenerator().GetIsaProgram(
                    globalDataTheoryName,
                    "proc",
                    methodData, globalDataConfig, factory,
                    null,
                    out var declsGlobalData,
                    !CommandLineOptions.Clo.GenerateIsaProgNoProofs,
                    true
                    );

                var globalDataTheory = new Theory(globalDataTheoryName,
                                                  new List <string> {
                    "Boogie_Lang.Semantics", "Boogie_Lang.TypeSafety", "Boogie_Lang.Util"
                },
                                                  declsGlobalData);
                ProofGenerationOutput.StoreTheoriesTopLevel(new List <Theory> {
                    globalDataTheory
                });
            }
        }
Exemple #2
0
 private static void StoreResult(string preferredDirName, IEnumerable <Theory> theories)
 {
     ProofGenerationOutput.StoreTheoriesInNewDirWithSession(preferredDirName, theories);
 }