public ProofFileCollection(Program i_prog, ModuleDefinition i_mainProof) { prog = i_prog; name = i_mainProof.Name; mainProof = new ProofFile(i_mainProof, name, true); auxiliaryProofs = new Dictionary <string, ProofFile>(); pg = null; var dirName = $"{ArmadaOptions.O.ArmadaOutputDir}/{name}"; if (!Directory.Exists(dirName)) { Directory.CreateDirectory(dirName); } }
public ProofFile CreateAuxiliaryProofFile(string auxName, bool includeImportedFiles = true) { if (auxiliaryProofs.ContainsKey(auxName)) { AH.PrintError(prog, Token.NoToken, $"Attempt to create an auxiliary proof file with an already-existing name ({auxName})"); return(null); } var proof = new ProofFile(name, auxName, includeImportedFiles); if (pg != null) { pg.AddCommonHeaderElements(proof); } auxiliaryProofs[auxName] = proof; return(proof); }