Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
keyboardDrummer committed Nov 22, 2024
1 parent dc86662 commit c9207aa
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Source/Provers/LeanAuto/LeanAutoGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public static void EmitPassiveProgramAsLean(VCGenOptions options, Program p, Tex
var liveDeclarations =
!options.Prune
? p.TopLevelDeclarations
: Pruner.GetLiveDeclarations(options, p, allBlocks.ToList()).ToList();
: Pruner.GetLiveDeclarations(options, p, allBlocks.ToList()).LiveDeclarations.ToList();

generator.WriteLine("-- Type constructors");
// Always include all type constructors
Expand Down
29 changes: 21 additions & 8 deletions Source/VCGeneration/Splits/Split.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,34 @@ public class Split : ProofRun
readonly List<Block> bigBlocks = new();
public List<AssertCmd> Asserts => Blocks.SelectMany(block => block.Cmds.OfType<AssertCmd>()).ToList();
private IReadOnlyList<Declaration> prunedDeclarations;
public ISet<Function> HiddenFunctions;


public ISet<Function> HiddenFunctions {
get {
if (hiddenFunctions == null) {
ComputePrunedDeclsAndHiddenFunctions();
}
return hiddenFunctions;
}
}

public IReadOnlyList<Declaration> PrunedDeclarations {
get {
if (prunedDeclarations == null)
{
var (liveDeclarations, hiddenFunctions) =
Pruner.GetLiveDeclarations(parent.Options, parent.program, Blocks);
HiddenFunctions = hiddenFunctions;
prunedDeclarations = liveDeclarations.ToList();
if (prunedDeclarations == null) {
ComputePrunedDeclsAndHiddenFunctions();
}

return prunedDeclarations;
}
}

private void ComputePrunedDeclsAndHiddenFunctions()
{
var (liveDeclarations, hiddenFunctions) =
Pruner.GetLiveDeclarations(parent.Options, parent.program, Blocks);
this.hiddenFunctions = hiddenFunctions;
prunedDeclarations = liveDeclarations.ToList();
}

readonly Dictionary<Block /*!*/, BlockStats /*!*/> /*!*/
stats = new Dictionary<Block /*!*/, BlockStats /*!*/>();

Expand Down Expand Up @@ -204,6 +216,7 @@ public void DumpDot(int splitNum)

int bsid;
private readonly Func<IList<Block>> getBlocks;
private ISet<Function> hiddenFunctions;

BlockStats GetBlockStats(Block b)
{
Expand Down

0 comments on commit c9207aa

Please sign in to comment.