/// <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 }); } }
private static void StoreResult(string preferredDirName, IEnumerable <Theory> theories) { ProofGenerationOutput.StoreTheoriesInNewDirWithSession(preferredDirName, theories); }